Studying Python release adoptions by looking at PyPI downloads
| pypi-download-counts-daily.png | ||
| pypi-download-counts.png | ||
| pyproject.toml | ||
| python-versions-lines-daily.png | ||
| python-versions-lines.png | ||
| python-versions-stacked-daily.png | ||
| python-versions-stacked.png | ||
| python-versions.py | ||
| python-versions.sqlite | ||
| README.md | ||
| requirements.txt | ||
Analysis of version adoptions on PyPI
pypi.org downloads by version
pypi.org downloads total
(If you notice a HUGE DROP on the last month, that's just because the graph was generated including an incomplete month.)

Where does the data come from?
We get publicly available PyPI download statistics on Google BigQuery using pypinfo.
Here is the repo for the open-source code pushing the pypi stats to BigQuery.
Usage
First you need to get an access to PyPI's BigQuery, by following pypinfo procedure.
Then there's two main invocations, first fetch the data using:
python python-versions.py --fetch
Then plot it using:
python python-versions.py
How to contribute to this repo
- Create a Google Account (yep, sorry)
- Go to https://console.developers.google.com/cloud-resource-manager
- Click « Create a project », create the project.
- Go to https://console.cloud.google.com/apis/dashboard, activate BigQuery if not already activated.
- Create credentials, check "Application data".
- Fill account details and press button "Create and Continue".
- Select role "Big Query User".
- Go to https://console.cloud.google.com/apis/credentials, click on your service account, navigate to the "Keys" tab.
- Click "Add a new key", JSON, create, it'll download a json file.
- Run python python-versions.py --auth path_to_the_downloaded_json --fetch



