我现在在 Python 包索引 (PyPI) 上有几个包。有没有什么方法可以统计它们被下载的次数(手动或通过
easy_install
或pip
?
或者,主包页面收到了多少浏览量?
我已经尝试过其他答案中的不同方法。对我来说,虚荣心已经不管用了,原因就在这里。 pypi.python.org 网站上没有 Pip 统计信息,原因在 Python 打包指南 中提到,以及有关如何使用 Google Big Query 分析 PyPI 下载的详细指南(在本答案中总结如下)。
还有2种方法仍然可用。
第一种方法比第二种更容易,但似乎不太可靠,因为它有时会返回
429 RATE LIMIT EXCEEDED
numpy
的结果。 第二种方法是Google Big Query,PyPI官方推荐。
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
请注意,第二种方法需要您有google云帐户,和需要您提供信用卡信息,和每天查询次数有限。 所以我个人推荐第一种方法。
https://pepy.tech/ 将显示下载数量和随时间变化趋势的信息。
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
更新2:它回来了! 现在,下载列表后面有一个“下载(所有版本)”(位于用户提供的文档下方)。
公告位于 http://mail.python.org/pipermail/distutils-sig/2013-June/021344.html - 目前为每日计数;几周和几个月将在可用时添加。 但奇怪的是,没有总数。
更新:这不再有效(信息不显示) - 请参阅http://mail.python.org/pipermail/distutils-sig/2013-May/020855.html(不幸的是,这会影响其他答案也)。
也许我误解了(抱歉),但我认为这是您项目的 pypi 主页!
请参阅上面的更新以获取最新详细信息(我已删除下面不再正确的信息)。
我找到了一个网站:https://pypistats.org/packages/py3-pinterest
他们只跟踪 1 天、1 周和 1 个月的下载情况。 @Dmitry Petrov 的答案更好。
您现在可以使用 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`
您可以使用此网站进行统计 - https://pypistats.org/
如果你想在脚本中使用它,你可以使用 api -
如果您想过滤数据并检查每个安装程序运行的所有下载:
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
有关更多信息,请检查有用的查询
我发现了 https://www.piwheels.org,它显示了 PyPi 库的下载量。只需将您要检查的库添加到此 url 的末尾即可,例如numpy