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()