Python interface to PyPI Stats API https://pypistats.org/api
Project description
pypistats
Python 3.6+ interface to PyPI Stats API.
Installation
From PyPI
pip install -U pypistats
From source
git clone https://github.com/hugovk/pypistats
cd pypistats
pip install .
Example command-line use
Run pypistats with a subcommand (corresponding to PyPI Stats endpoints),
then options for that subcommand.
Top-level help:
$ 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
Help for a subcommand:
$ pypistats recent --help
usage: pypistats recent [-h] [-p {day,week,month}]
[-f {json,markdown,rst,html}] [-j]
package
Retrieve the aggregate download quantities for the last day/week/month
positional arguments:
package
optional 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)
Get recent downloads:
$ pypistats recent pillow
| last_day | last_month | last_week |
|---------:|-----------:|----------:|
| 61877 | 3527341 | 865484 |
Help for another subcommand:
$ pypistats python_minor --help
usage: pypistats python_minor [-h] [-v VERSION] [-f {json,markdown,rst,html}]
[-j] [-sd yyyy-mm-dd] [-ed yyyy-mm-dd]
[-m yyyy-mm] [-l] [-d]
package
Retrieve the aggregate daily download time series by Python minor version
number
positional arguments:
package
optional 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, --start-date yyyy-mm-dd
Start date (default: None)
-ed yyyy-mm-dd, --end-date yyyy-mm-dd
End date (default: None)
-m yyyy-mm, --month yyyy-mm
Shortcut for -sd & -ed for a single month (default:
None)
-l, --last-month Shortcut for -sd & -ed for last month (default: False)
-d, --daily Show daily downloads (default: False)
Get version downloads:
$ pypistats python_minor pillow --last-month
| category | percent | downloads |
|----------|--------:|----------:|
| 2.7 | 46.64% | 1,512,429 |
| 3.6 | 30.34% | 983,838 |
| 3.5 | 12.53% | 406,429 |
| 3.7 | 6.12% | 198,558 |
| 3.4 | 3.41% | 110,552 |
| null | 0.84% | 27,380 |
| 3.3 | 0.05% | 1,599 |
| 2.6 | 0.05% | 1,581 |
| 3.2 | 0.01% | 246 |
| 3.8 | 0.00% | 133 |
| 2.4 | 0.00% | 7 |
| Total | | 3,242,752 |
The table is Markdown, ready for pasting in GitHub issues and PRs:
| category | percent | downloads |
|---|---|---|
| 2.7 | 46.64% | 1,512,429 |
| 3.6 | 30.34% | 983,838 |
| 3.5 | 12.53% | 406,429 |
| 3.7 | 6.12% | 198,558 |
| 3.4 | 3.41% | 110,552 |
| null | 0.84% | 27,380 |
| 3.3 | 0.05% | 1,599 |
| 2.6 | 0.05% | 1,581 |
| 3.2 | 0.01% | 246 |
| 3.8 | 0.00% | 133 |
| 2.4 | 0.00% | 7 |
| Total | 3,242,752 |
Example programmatic use
Return values are from the JSON responses documented in the API: https://pypistats.org/api/
import pypistats
from pprint import pprint
# Call the API
print(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"))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypistats-0.2.0.tar.gz.
File metadata
- Download URL: pypistats-0.2.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.21.0 CPython/2.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecbf9cdb9fdd998c9f20a5f7de5fde56a1cc05819f7d74dc730ceee826f95e75
|
|
| MD5 |
cc14abed30dbe75a4401e3176fb4071a
|
|
| BLAKE2b-256 |
7ddcae080363f9a4dd83bc83538a6c89bd40b57cfb6a2da8e32b5e216b464965
|
File details
Details for the file pypistats-0.2.0-py2.py3-none-any.whl.
File metadata
- Download URL: pypistats-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.21.0 CPython/2.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7e8803a2c473576bb98e48cfc9ef0112e36c9af4c798709667543a59deae3bf
|
|
| MD5 |
c89f30464ed50b26af2ab9a48935f5f1
|
|
| BLAKE2b-256 |
bb6b4f132a9a3e650ca6a79ffbe9c8620c02307a3b50c79792922bd428fc7141
|