pypi stats api的python接口https://pypistats.org/api

pypistats的Python项目详细描述


pypistats

PyPI versionSupported Python versionsPyPI downloadsBuild StatusBuild StatuscodecovGitHubCode style: black

python 3.6+接口到PyPI Stats API以获取聚合 在python包索引上下载python包的统计信息,而不必 直接对google bigquery执行查询。

安装

来自Pypi

pip install --upgrade pypistats

来源

git clone https://github.com/hugovk/pypistats
cd pypistats
pip install .

命令行使用示例

使用子命令(对应于PyPI Stats endpoints)运行pypistats, 然后是该子命令的选项。

顶级帮助:

$ pypistats --help
usage: pypistats [-h] [-V]                 {recent,overall,python_major,python_minor,system} ...positional arguments:  {recent,overall,python_major,python_minor,system}optional arguments:  -h, --help            show this help message and exit  -V, --version         show program's version number and exit

子命令的帮助:

$ pypistats recent --help
usage: pypistats recent [-h] [-p {day,week,month}]                        [-f {json,markdown,rst,html}] [-j] [-v]                        packageRetrieve the aggregate download quantities for the last day/week/monthpositional arguments:  packageoptional arguments:  -h, --help            show this help message and exit  -p {day,week,month}, --period {day,week,month}  -f {json,markdown,rst,html}, --format {json,markdown,rst,html}                        The format of output (default: markdown)  -j, --json            Shortcut for "-f json" (default: False)  -v, --verbose         Print debug messages to stderr (default: False)

获取最新下载:

$ pypistats recent pillow
| last_day | last_month | last_week ||---------:|-----------:|----------:||  280,842 |  7,065,928 | 1,709,689 |

另一个子命令的帮助:

$ pypistats python_minor --help
usage: pypistats python_minor [-h] [-V VERSION] [-f {json,markdown,rst,html}]                              [-j] [-sd yyyy-mm[-dd]|name]                              [-ed yyyy-mm[-dd]|name] [-m yyyy-mm|name] [-l]                              [-t] [-d] [--monthly] [-v]                              packageRetrieve the aggregate daily download time series by Python minor versionnumberpositional arguments:  packageoptional arguments:  -h, --help            show this help message and exit  -V VERSION, --version VERSION                        eg. 2.7 or 3.6 (default: None)  -f {json,markdown,rst,html}, --format {json,markdown,rst,html}                        The format of output (default: markdown)  -j, --json            Shortcut for "-f json" (default: False)  -sd yyyy-mm[-dd]|name, --start-date yyyy-mm[-dd]|name                        Start date (default: None)  -ed yyyy-mm[-dd]|name, --end-date yyyy-mm[-dd]|name                        End date (default: None)  -m yyyy-mm|name, --month yyyy-mm|name                        Shortcut for -sd & -ed for a single month (default:                        None)  -l, --last-month      Shortcut for -sd & -ed for last month (default: False)  -t, --this-month      Shortcut for -sd for this month (default: False)  -d, --daily           Show daily downloads (default: False)  --monthly             Show monthly downloads (default: False)  -v, --verbose         Print debug messages to stderr (default: False)

获取版本下载:

$ pypistats python_minor pillow --last-month
| category | percent | downloads ||----------|--------:|----------:|| 2.7      |  35.94% | 2,189,327 || 3.6      |  31.83% | 1,938,870 || 3.7      |  18.71% | 1,139,642 || 3.5      |  11.29% |   687,782 || 3.4      |   1.23% |    74,673 || null     |   0.94% |    57,476 || 3.8      |   0.04% |     2,147 || 2.6      |   0.01% |       826 || 3.3      |   0.00% |       212 || 3.2      |   0.00% |        28 || 2.4      |   0.00% |         6 || 3.9      |   0.00% |         5 || 2.8      |   0.00% |         1 || Total    |         | 6,090,995 |

该表已降价,可以粘贴到github问题和prs中:

categorypercentdownloads
2.735.94%2,189,327
3.631.83%1,938,870
3.718.71%1,139,642
3.511.29%687,782
3.41.23%74,673
null0.94%57,476
3.80.04%2,147
2.60.01%826
3.30.00%212
3.20.00%28
2.40.00%6
3.90.00%5
2.80.00%1
Total6,090,995

相当于(2019年5月):

pypistats python_major pip --last-month
pypistats python_major pip --month april
pypistats python_major pip --month apr
pypistats python_major pip --month 2019-04

以及:

pypistats python_major pip --start-date december --end-date january
pypistats python_major pip --start-date dec      --end-date jan
pypistats python_major pip --start-date 2018-12  --end-date 2019-01

编程使用示例

返回值来自api中记录的json响应: https://pypistats.org/api/

importpypistatsfrompprintimportpprint# Call the APIprint(pypistats.recent("pillow"))print(pypistats.recent("pillow","day",format="markdown"))print(pypistats.recent("pillow","week",format="rst"))print(pypistats.recent("pillow","month",format="html"))pprint(pypistats.recent("pillow","week",format="json"))print(pypistats.recent("pillow","day"))print(pypistats.overall("pillow"))print(pypistats.overall("pillow",mirrors=True,format="markdown"))print(pypistats.overall("pillow",mirrors=False,format="rst"))print(pypistats.overall("pillow",mirrors=True,format="html"))pprint(pypistats.overall("pillow",mirrors=False,format="json"))print(pypistats.python_major("pillow"))print(pypistats.python_major("pillow",version=2,format="markdown"))print(pypistats.python_major("pillow",version=3,format="rst"))print(pypistats.python_major("pillow",version="2",format="html"))pprint(pypistats.python_major("pillow",version="3",format="json"))print(pypistats.python_minor("pillow"))print(pypistats.python_minor("pillow",version=2.7,format="markdown"))print(pypistats.python_minor("pillow",version="2.7",format="rst"))print(pypistats.python_minor("pillow",version=3.7,format="html"))pprint(pypistats.python_minor("pillow",version="3.7",format="json"))print(pypistats.system("pillow"))print(pypistats.system("pillow",os="darwin",format="markdown"))print(pypistats.system("pillow",os="linux",format="rst"))print(pypistats.system("pillow",os="darwin",format="html"))pprint(pypistats.system("pillow",os="linux",format="json"))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java开始为Android开发应用程序   在哪种情况下,c++/c#namespace方法比Java方法更好?   java重构帮助。。。基于属性的对象还是大量成员字段?   java如何使用jackon json将嵌套对象作为字符串的对象转换为Pojo?   java是流式传输远程日志文件的有效方法   javajackson数据绑定:读入现有对象   java NullPointerException这是如何发生的?   java需要伪代码来进行文本压缩/解压缩   java JMS Websphere消息在发送时丢失   JUnit测试的Java SVNKit模拟单元测试   java Apache Crunch错误   java如何修复Android Studio/SQLite中的“空对象引用”错误?   java文件“navigation.json”在Android Studio项目中找不到   java如何在同一实体类上建立单向的一对一关系?   java调用web服务:javax。网ssl。SSLException:收到致命警报:协议\u版本   java与sql的连接   java Android:通过编程为透明背景图标(png)生成阴影,并在ImageButton中使用