2015-06-24 18 views
9

Có thể lấy danh sách các gói python pypi được sắp xếp theo mức độ phổ biến (tổng số lượt tải xuống) không?Gói PyPI theo mức độ phổ biến

Tôi không thể tìm thấy cách để thực hiện việc này trên pypi. Có lẽ pypi cung cấp một kết xuất cơ sở dữ liệu cho mục đích này?

Nếu tôi không thể tìm thấy một cách đơn giản hơn, tôi định cạo pypi bằng cách sử dụng api JSON của họ.

Trả lời

4

Cập nhật 2/5/2018: Trang web Bánh xe Python liệt kê "các gói hàng đầu tải xuống 360 nhất trên PyPI hiển thị những gói đã được tải lên dưới dạng lưu trữ bánh xe".

https://pythonwheels.com/

Cập nhật 2016/05/28: Các danh sách hàng tuần tại trang web đó dường như đang bị phá vỡ. Danh sách tất cả thời gian vẫn là một nguồn tốt cho danh sách các thư viện Python phổ biến. Tôi sẽ cập nhật điều này trong tương lai nếu có bất cứ điều gì thay đổi.

Trang web này có một danh sách theo tuần và mọi thời đại: http://pypi-ranking.info/

+1

Danh sách hàng tuần có vẻ hoàn toàn bị hỏng (có thể vì PyPI đã ngừng cung cấp số lượng như vậy). –

+0

Cảm ơn. Tôi đã cập nhật phần nội dung câu trả lời của tôi để lưu ý điều này. –

2

http://pypi-ranking.info/ hiện xuống.

Một trang web hữu ích khác là http://pythonwheels.com/. Nó cho thấy các gói 360 được tải xuống nhiều nhất trên PyPI. Tôi tin rằng thanh bên phải liệt kê các gói này theo thứ tự. Gói màu xanh lá cây là những gói hỗ trợ bánh xe. Gói màu trắng là những gói không (chưa).

2

Dưới đây là phương pháp được sử dụng bởi 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] Nguồn dữ liệu này chưa được cập nhật trong vòng 3 tháng kể từ khi tôi đăng câu trả lời của tôi. Xem câu trả lời khác của tôi để có giải pháp tốt hơn.

+0

Điều đó khá thú vị, bạn có biết số đó là gì không? Id của? Không thể tưởng tượng simplejson đã được tải về 237 Triệu TImes: D – user1767754

+0

@ user1767754: Tôi tin rằng đó là chính xác những gì nó có nghĩa là. – mhsmith

0

Nhật ký tải xuống PyPI từ tháng 10 năm 2016 có thể được phân tích chi tiết tại BigQuery. Dưới đây là example query để tải xuống các gói được tải xuống nhiều nhất, nhưng nhiều thứ nguyên khác cũng có sẵn.

Background information (có thể hơi lỗi thời).

Các vấn đề liên quan