PyPI 软件包的安装数量统计?

问题描述 投票:0回答:10

我现在在 Python 包索引 (PyPI) 上有几个包。有没有什么方法可以统计它们被下载的次数(手动或通过

easy_install
pip

或者,主包页面收到了多少浏览量?

python pypi
10个回答
26
投票

至少有两个软件包可以帮助解决此问题:

pypstats
vanity
。 从命令行使用 Vanity 非常简单:

vanity numpy 

您将在控制台上得到打印输出。


20
投票

我已经尝试过其他答案中的不同方法。对我来说,虚荣心已经不管用了,原因就在这里。 pypi.python.org 网站上没有 Pip 统计信息,原因在 Python 打包指南 中提到,以及有关如何使用 Google Big Query 分析 PyPI 下载的详细指南(在本答案中总结如下)。

还有2种方法仍然可用。

PyPIstats.org

第一种方法比第二种更容易,但似乎不太可靠,因为它有时会返回

429 RATE LIMIT EXCEEDED

  1. 前往 pypistats.org
  2. 搜索包名;
  3. 获取其下载统计信息。下图是
    numpy
    的结果。 enter image description here

谷歌大查询

第二种方法是Google Big Query,PyPI官方推荐

  1. 转到 https://bigquery.cloud.google.com/dataset/the-psf:pypi
  2. 将以下代码复制到
    editor
    窗口中。
SELECT
  details.installer.name,
  COUNT(*) as download_count,
FROM `the-psf.pypi.downloads*`
WHERE
file.project = 'dvc'
AND _TABLE_SUFFIX
BETWEEN FORMAT_DATE('%Y%m%d', DATE('2020-01-04'))
AND FORMAT_DATE('%Y%m%d', DATE('2020-02-04'))
GROUP BY details.installer.name
  1. 点击
    run
    按钮,获取结果。下面2图是
    numpy
    的代码和结果。
    coderesults

请注意,第二种方法需要您有google云帐户,需要您提供信用卡信息,每天查询次数有限。 所以我个人推荐第一种方法。


15
投票

https://pepy.tech/ 将显示下载数量和随时间变化趋势的信息。

enter image description here


8
投票

Pip 统计信息在 pypi.python.org 网站上不可用,并且

vanity
包也无法正常工作。

今天,您只能通过 BigQuery 中的此数据集获取点统计数据:https://bigquery.cloud.google.com/dataset/the-psf:pypi

https://pypi.python.org/pypi/dvc包的查询示例:

SELECT
  details.system.name,
  COUNT(*) as download_count,
FROM
  TABLE_DATE_RANGE(
    [the-psf:pypi.downloads],
    DATE_ADD(CURRENT_TIMESTAMP(), -31, "day"),
    DATE_ADD(CURRENT_TIMESTAMP(), -1, "day")
  )
WHERE
  file.project = 'dvc'
GROUP BY details.system.name

请注意,部分下载信号是由监控工具生成的,不应计入用户的下载量。例如,您应该从输出中排除

null
值:

Row details_system_name download_count   
1   Darwin  1111     
2   null    10000    
3   Windows 222  
4   Linux   3333     

6
投票

更新2:它回来了! 现在,下载列表后面有一个“下载(所有版本)”(位于用户提供的文档下方)。

公告位于 http://mail.python.org/pipermail/distutils-sig/2013-June/021344.html - 目前为每日计数;几周和几个月将在可用时添加。 但奇怪的是,没有总数。

更新:这不再有效(信息不显示) - 请参阅http://mail.python.org/pipermail/distutils-sig/2013-May/020855.html(不幸的是,这会影响其他答案也)。

也许我误解了(抱歉),但我认为这是您项目的 pypi 主页!

请参阅上面的更新以获取最新详细信息(我已删除下面不再正确的信息)。


2
投票

我找到了一个网站:https://pypistats.org/packages/py3-pinterest

他们只跟踪 1 天、1 周和 1 个月的下载情况。 @Dmitry Petrov 的答案更好。


2
投票

您现在可以使用 pypistats 网站来检查您的统计数据。

对于

pytest
包:https://pypistats.org/packages/pytest

这些数字与 bigquery 的数字一致。例如

13-04
日:501685 次下载(无镜像)。

使用请求:

#standardSQL
SELECT
  COUNT(*) AS num_downloads,
  SUBSTR(_TABLE_SUFFIX, 7, 8) AS `day`
FROM `the-psf.pypi.downloads*`
WHERE file.project = 'pytest'
  AND _TABLE_SUFFIX
    BETWEEN FORMAT_DATE(
      '%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 10 DAY))
    AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
GROUP BY `day`
ORDER BY `day`

2
投票

您可以使用此网站进行统计 - https://pypistats.org/

如果你想在脚本中使用它,你可以使用 api -

https://pypistats.org/api/packages/{package_name}/recent


1
投票

如果您想过滤数据并检查每个安装程序运行的所有下载:

SELECT
  details.installer.name,
  COUNT(*) as download_count,
FROM `the-psf.pypi.downloads*`
WHERE
file.project = 'dvc'
AND _TABLE_SUFFIX
BETWEEN FORMAT_DATE('%Y%m%d', DATE('2020-01-04'))
AND FORMAT_DATE('%Y%m%d', DATE('2020-02-04'))
GROUP BY details.installer.name

因此您应该看到所有安装程序,例如: enter image description here

有关更多信息,请检查有用的查询


1
投票

我发现了 https://www.piwheels.org,它显示了 PyPi 库的下载量。只需将您要检查的库添加到此 url 的末尾即可,例如numpy

https://www.piwheels.org/project/numpy/

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.