As someone who maintains several open source python packages, I tend to use PyPi stats as a way of gathering download stats for my packages. Recently I noticed that the aggregate figures (e.g. Downloads last week, Downloads last week, etc) were not changing at all for several weeks even though new daily data points were being reported. This led me to have to build a process for always having reliable aggregate stats available.
pypi-tracker was built to eliminate the problem above. It’s a tool that collects daily data points from the pypistats.org API,
keeps a CSV of historical data for any package that you specify, and will generate useful reports about your package’s download
statistics. You can use it to create your own personal tracker for collections of packages that you care about. It even generates
a static web based UI to visualize your data that is also easily deployable through gh pages or cloudflare.
I’m currently using it to keep a tracker for Django Control Room packages currently deployed at stats.djangocontrolroom.com and housed at dcr-stats
![]()
Reporting data is surfaced as public files like stats.djangocontrolroom.com/aggregate/last-7-days.json. This forms an API for package data that is entirely cacheable and requires no backend
You can get and install following the directions below.
- git repo
- install with
pip install pypi-trackerand follow the readme in the repo.