PyPI包的安装数量统计?

时间:2012-04-29 22:07:30

标签: python pypi

我现在在Python Package Index(PyPI)上有几个包。有没有办法获取有关下载次数的统计信息(手动或通过easy_installpip

或者,主包裹页面收到多少次观看?

7 个答案:

答案 0 :(得分:24)

至少有两个软件包对此有帮助:pypstatsvanity。从命令行中可以很容易地使用虚荣:

vanity numpy 

您将获得打印输出到您的控制台。

答案 1 :(得分:7)

更新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 :(得分:5)

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     

答案 3 :(得分:3)

我在其他答案中尝试了不同的方法。就我而言,虚荣不再有效,原因是here。 pypi.python.org网站上不提供点统计信息,原因是here

仍有2种方法可用。

第一种方法比第二种方法简单

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

第二种方法是Google大查询,由PiPy officially推荐。

  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按钮,获取结果。以下两个图显示了numpy的代码和结果。
    code results

请注意,第二种方法要求您拥有Google云帐户,要求您提供自己的信用证信息,每天的查询时间有限。 所以我个人推荐第一种方法。

答案 4 :(得分: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`

答案 5 :(得分: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

有关更多信息,请检查useful-queries

答案 6 :(得分:0)

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

他们跟踪下载,但仅持续1天,1周和1个月。 @Dmitry Petrov的答案更好。