import shutil

import requests

def 				UpperCamelCase					(     lowerCAmelCase_							,       lowerCAmelCase_ = False							,       lowerCAmelCase_ = "." )		->    dict:




       '''simple docstring'''






       _A=						'https://api.nasa.gov/planetary/apod'
       return requests.get(lowerCAmelCase_							,       params={'api_key': api_key} ).json()

def 				UpperCamelCase					(     lowerCAmelCase_							,       lowerCAmelCase_ = "." )		->    dict:




       '''simple docstring'''






       _A=						get_apod_data(lowerCAmelCase_ )
       _A=						apod_data['url']
       _A=						img_url.split('/' )[-1]
       _A=						requests.get(lowerCAmelCase_							,       stream=lowerCAmelCase_ )

       with open(F"{path}/{img_name}"							,       'wb+' ) as img_file:
              shutil.copyfileobj(response.raw							,       lowerCAmelCase_ )
       del response
       return apod_data

def 				UpperCamelCase					(     lowerCAmelCase_ )		->    dict:




       '''simple docstring'''






       _A=						'https://images-api.nasa.gov/search'
       return requests.get(lowerCAmelCase_							,       params={'q': query} ).json()


if __name__ == "__main__":
      print(save_apod('''YOUR API KEY'''))
      UpperCAmelCase_    		=				get_archive_data('''apollo 2011''')['''collection''']['''items''']
      print(apollo_aaaa_items[0]['''data'''][0]['''description'''])
import heapq

def 				UpperCamelCase					(     lowerCAmelCase_							,       lowerCAmelCase_							,       lowerCAmelCase_ )		->    Dict:




       '''simple docstring'''






       _A=						[(0, start)]  # cost from start node,end node
       _A=						set()
       while heap:
              ((_A),      (_A))=						heapq.heappop(lowerCAmelCase_ )
              if u in visited:
                     continue
              visited.add(lowerCAmelCase_ )
              if u == end:
                     return cost
              for v, c in graph[u]:
                     if v in visited:
                            continue
                     _A=						cost + c
                     heapq.heappush(lowerCAmelCase_							,       (next_item, v) )
       return -1


UpperCAmelCase_    		=				{
    '''A''': [['''B''', 2], ['''C''', 5]],
    '''B''': [['''A''', 2], ['''D''', 3], ['''E''', 1], ['''F''', 1]],
    '''C''': [['''A''', 5], ['''F''', 3]],
    '''D''': [['''B''', 3]],
    '''E''': [['''B''', 4], ['''F''', 3]],
    '''F''': [['''C''', 3], ['''E''', 3]],
}
UpperCAmelCase_    		=				{
    '''B''': [['''C''', 1]],
    '''C''': [['''D''', 1]],
    '''D''': [['''F''', 1]],
    '''E''': [['''B''', 1], ['''F''', 3]],
    '''F''': [],
}
UpperCAmelCase_    		=				{
    '''B''': [['''C''', 1]],
    '''C''': [['''D''', 1]],
    '''D''': [['''F''', 1]],
    '''E''': [['''B''', 1], ['''G''', 2]],
    '''F''': [],
    '''G''': [['''F''', 1]],
}

UpperCAmelCase_    		=				dijkstra(G, '''E''', '''C''')
print(short_distance)  # E -- 3 --> F -- 3 --> C == 6

UpperCAmelCase_    		=				dijkstra(Ga, '''E''', '''F''')
print(short_distance)  # E -- 3 --> F == 3

UpperCAmelCase_    		=				dijkstra(Ga, '''E''', '''F''')
print(short_distance)  # E -- 2 --> G -- 1 --> F == 3

if __name__ == "__main__":
      import doctest

      doctest.testmod()