我现在在 Python 包索引 (PyPI) 上有几个包。有什么方法可以获取有关下载次数的统计信息(手动或通过easy_install
或pip
?
或者,或者,主包页面收到了多少次浏览?
pypi.python.org 网站上没有 Pip 统计信息,并且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
我在其他答案中尝试了不同的方法。就我而言,虚荣心不再起作用,原因就在这里。pypi.python.org 网站上没有 Pip 统计信息,原因在Python 打包指南中提到,以及如何使用 Google Big Query 分析 PyPI 下载的详细指南(在此答案中总结如下)。
有 2 种方法仍然可用。
第一种方法比第二种方法容易,但似乎不太可靠,因为它有时会返回429 RATE LIMIT EXCEEDED
numpy
。第二种方法是谷歌大查询,由 PiPy官方推荐。
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
请注意,第二种方法需要您有谷歌云账号,并且需要您提供您的信用卡信息,并且每天查询次数有限。所以我个人推荐第一种方法。
更新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 的数字一致。例如 day 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`
如果您想过滤数据并检查每个安装程序运行的所有下载:
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
有关更多信息,请查看有用的查询