【发布时间】:2012-05-09 17:23:16
【问题描述】:
我现在在 Python 包索引 (PyPI) 上有几个包。有什么方法可以统计下载次数(手动或通过easy_install 或pip?
或者,或者,主程序包页面获得了多少浏览量?
【问题讨论】:
我现在在 Python 包索引 (PyPI) 上有几个包。有什么方法可以统计下载次数(手动或通过easy_install 或pip?
或者,或者,主程序包页面获得了多少浏览量?
【问题讨论】:
我在其他答案中尝试了不同的方法。就我而言,虚荣心不再起作用了,原因是here。 pypi.python.org网站上没有pip统计,原因是here。
有 2 种方法仍然可用。
第一种方法比第二种方法容易
numpy的结果。
第二种方法是Google Big Query,PiPy推荐officially。
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
请注意,第二种方法需要您有谷歌云帐户,并且需要您提供您的信用卡信息,并且每天的查询次数有限。 所以我个人推荐第一种方法。
【讨论】:
您现在可以使用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`
【讨论】:
如果您想过滤数据并检查每次安装程序运行的所有下载:
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
更多信息请查看useful-queries
【讨论】:
我找到了一个网站:https://pypistats.org/packages/py3-pinterest
他们只跟踪 1 天、1 周和 1 个月的下载量。 @Dmitry Petrov 的回答更好。
【讨论】:
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
【讨论】:
details.installer.name 进一步过滤这些下载,以忽略bandersnatch 的下载,这是一个镜像工具。
更新 2:它回来了!现在在下载列表之后(在用户提供的文档下方)有一个“下载(所有版本)”。
http://mail.python.org/pipermail/distutils-sig/2013-June/021344.html 的公告 - 目前是每日计数;几周和几个月将在可用时添加。但是,奇怪的是,没有总数。
更新:这不再有效(信息不显示) - 请参阅 http://mail.python.org/pipermail/distutils-sig/2013-May/020855.html(不幸的是,这也会影响其他答案)。
也许我误解了(抱歉),但我认为这是在您项目的 pypi 主页上!
查看上面的更新了解最新详情(我已删除下面不再正确的信息)。
【讨论】:
pip install xxx 安装时的下载?
【讨论】: