Метаданные пакета питон
Передо мной стоит задача написать программу, которая загружает пакет для ЯП по его имени и читает его метаданные. Без использования менеджера пакетов. Я решаю эту задачу так:
import requests, tarfile
FILENAME = 'testfile.tar.gz'
PATH = 'packet_extract'
META = 'generate_wiki-1.2.0/generate_wiki.egg-info/PKG-INFO'
#print('Загрузка сценария женкинса ... ')
print('Загрузка пакета ... ')
#fileToLoad = 'https://raw.githubusercontent.com/Panikowsky-M/docker/master/pipes/build_docker_pipe.jenkins'
fileToLoad = 'https://files.pythonhosted.org/packages/57/54/5bff2bd5df319dd172610d9bf196040e28d7dcb1b6f074a7d9b908a37f9c/generate_wiki-1.2.0.tar.gz'
rq = requests.get(fileToLoad)
print('Статус запроса - %s'%(rq.status_code))
print('MIME загруженного файла - %s'%(rq.headers['content-type']))
print('Кодировка - %s'%(rq.encoding))
print('Пакет загружен')
with open(FILENAME,'wb') as _file:
_file.write(rq.content)
print("Содержимое:\n")
with tarfile.open(FILENAME,"r") as arc:
for lst in arc:
print(lst.name)
if lst.isreg():
print("файл\n---")
elif lst.isdir():
print("папка\n---")
else:
print("сущ.\n---")
meta = arc.extractfile(META)
print("\nМетаданные пакета:\n====\n" +\
meta.read().decode('utf-8') )
Мой вопрос состоит в следующем - как правильно выполнить поиск по базе PyPi и последующую загрузку пакета из базы? Любые подсказки могут оказаться ценными.