2014-06-18 23 views
16

Her python paketi için bir list of classifiers belirtebilirsiniz. Diğerleri arasında, browsed on PyPI olabilen belirtilen kategorilerde paketi koyan bir Topic sınıflandırıcı bulunmaktadır.Konuya göre PyPI'yi arama

Topic :: Software Development 
Topic :: Scientific/Engineering 

programlı pip search veya diğer üçüncü taraf kütüphaneleri kullanılarak konuya göre aramak için bir yolu var mı: Örneğin

, numpy aşağıdaki konuları vardır?

+0

'pip search' bir "Konuya göre" arama içermelidir! – gaborous

cevap

14

Sen browse() yöntemini kullanarak, XMLRPC API yoluyla sınıflandırıcı tarafından PyPI arayabilirsiniz: Yukarıdaki örnekte

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", 
]) 

, packages tatmin tüm paketler hem "Konu :: Yazılım için [package, version] listelerin bir listesini içerir Gelişme" ve 'Konu :: Bilimsel/Mühendislik' sınıflandırıcılarının Sayısı: Belirli bir sürümü hakkında daha fazla bilgi alabilirsiniz Oradan

>>> {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' 
} 

:

>>> 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 
} 

... vb

İlgili konular