python - mac - Buscando PyPI por tema
python packages list (1)
Para cada paquete de Python puede especificar una lista de clasificadores . Entre otros, hay un clasificador de Topic
, que coloca el paquete en las categorías especificadas que se pueden explorar en PyPI
.
Por ejemplo, numpy
tiene los siguientes temas:
Topic :: Software Development
Topic :: Scientific/Engineering
¿Hay alguna manera de buscar por tema programáticamente utilizando pip search
u otras bibliotecas de terceros?
Puede buscar PyPI por clasificador mediante la API XMLRPC , utilizando el método browse()
:
try:
import xmlrpclib # Python 2
except ImportError:
import xmlrpc.client as xmlrpclib # Python 3
pypi = xmlrpclib.ServerProxy(''http://pypi.python.org/pypi'')
packages = pypi.browse([
"Topic :: Software Development",
"Topic :: Scientific/Engineering",
])
En el ejemplo anterior, los packages
contienen una lista de listas [package, version]
para todos los paquetes que satisfacen los clasificadores "Tema :: Desarrollo de software" y "Tema :: Científico / Ingeniería":
>>> {pkg: ver for pkg, ver in packages if "numpy" in pkg}
{
''nose-numpyseterr'': ''0.1'',
''msgpack-numpy'': ''0.3.2'',
''numpy'': ''1.8.1'',
''idx2numpy'': ''1.0b''
}
A partir de ahí, puede obtener más información sobre una versión determinada:
>>> release = pypi.release_data(''numpy'', ''1.8.1'')
>>> release[''download_url'']
''http://sourceforge.net/projects/numpy/files/NumPy/''
>>> release[''platform'']
''Windows,Linux,Solaris,Mac OS-X,Unix''
>>> release[''downloads'']
{
''last_day'': 5818,
''last_month'': 187688,
''last_week'': 44764
}
... etc.