API JSON для PyPi - как перечислить пакеты?

Существует JSON API для PyPI, который позволяет получать данные для пакетов:

http://pypi.python.org/pypi/<package_name>/json
http://pypi.python.org/pypi/<package_name>/<version>/json

Однако можно ли получить список всех пакетов PyPI (или, например, последних) с помощью вызова GET?

Ответ 1

Самый простой способ сделать это - использовать простой индекс в PyPI, в котором перечислены все пакеты без накладных расходов. Затем вы можете запросить JSON каждого пакета индивидуально, выполнив запрос GET к URL-адресам, указанным в вашем вопросе.

Ответ 2

Я знаю, что вы попросили способ сделать это из JSON API, но вы можете использовать XML-RPC api, чтобы получить это info очень легко, без необходимости анализировать HTML.

try:
     import xmlrpclib
except ImportError:
     import xmlrpc.client as xmlrpclib

client = xmlrpclib.ServerProxy('https://pypi.python.org/pypi')
# get a list of package names
packages = client.list_packages()