2015-06-24 9 views
9

È possibile ottenere un elenco di pacchetti Python pypi ordinati per popolarità (numero di download totali)?Pacchetti PyPI per popolarità

Non riesco a trovare un modo per farlo su pypi. Forse pypi fornisce un dump del database per questo scopo?

Se non riesco a trovare un modo più semplice, ho intenzione di grattare pypi utilizzando la loro API JSON.

risposta

4

Aggiornamento 2/5/2018: il sito Python Wheels elenca "i primi 360 pacchetti più scaricati su PyPI che mostrano quali sono stati caricati come archivi di ruote".

https://pythonwheels.com/

Aggiornamento 2016/05/28: Gli annunci settimanali a quel sito sembrano essere attualmente rotto. L'elenco di tutti i tempi è ancora una buona fonte per un elenco di librerie Python popolari. Aggiornerò questo in futuro se qualcosa cambia.

Questo sito ha una lista per settimana e di tutti i tempi: http://pypi-ranking.info/

+1

L'elenco settimanale sembra totalmente interrotto (probabilmente perché PyPI ha smesso di fornire tali conteggi). –

+0

Grazie. Ho aggiornato il corpo della mia risposta per notarlo. –

2

http://pypi-ranking.info/ è attualmente in giù.

Un altro sito Web utile è http://pythonwheels.com/. Mostra i primi 360 pacchetti più scaricati su PyPI. Credo che la barra sulla destra elenchi questi pacchetti in ordine. I pacchetti verdi sono quelli che supportano le ruote. I pacchetti bianchi sono quelli che non lo fanno (ancora).

2

Qui è il metodo utilizzato dal Python 3 Wall of Superpowers (source):

>>> import xmlrpclib 
>>> sp = xmlrpclib.ServerProxy("https://pypi.python.org/pypi") 
>>> sp.top_packages(50) 
[['simplejson', 232795919], ['setuptools', 118974021], ['six', 110953835], ['requests', 103009497], ['pip', 82348965], ['python-dateutil', 68994216], ['virtualenv', 64726493], ['boto', 60814740], ['pyasn1', 57167291], ['pbr', 53989984], ['docutils', 49645652], ['distribute', 44897377], ['pytz', 44838753], ['certifi', 44593068], ['botocore', 42494878], ['rsa', 41967257], ['PyYAML', 41735162], ['jmespath', 38164891], ['awscli', 37728925], ['colorama', 37304705], ['Jinja2', 36474201], ['wincertstore', 34934026], ['nose', 34734172], ['MarkupSafe', 33533726], ['lxml', 32610021], ['cffi', 30351084], ['selenium', 29777183], ['paramiko', 28811145], ['pycrypto', 28021855], ['argparse', 27471379], ['pycparser', 26290365], ['coverage', 25363159], ['Django', 24411024], ['ecdsa', 24180825], ['mock', 23037488], ['psycopg2', 21255512], ['pika', 20997477], ['wheel', 19900683], ['httplib2', 19624689], ['pep8', 19327352], ['Pygments', 18299401], ['enum34', 18076436], ['redis', 18068603], ['SQLAlchemy', 17997426], ['futures', 17974686], ['Werkzeug', 17965298], ['psutil', 17369779], ['pymongo', 16492527], ['cryptography', 15976239], ['Pillow', 15377835]] 

[EDIT] Questa fonte di dati non è stato aggiornato nei 3 mesi da quando ho postato la mia risposta. Vedi la mia altra risposta per una soluzione migliore.

+0

È molto bello, sai quali sono i numeri? Id? Non è possibile immaginare simplejson è stato scaricato 237 milioni di TImes: D – user1767754

+0

@ user1767754: credo che sia esattamente ciò che significa. – mhsmith

0

I registri di download PyPI da ottobre 2016 possono essere analizzati in dettaglio a BigQuery. Ecco uno example query per ottenere i pacchetti più scaricati, ma sono disponibili anche molte altre dimensioni.

Background information (potrebbe non essere aggiornato).

Problemi correlati