What you need
- Multimeter for macOS 13 or later, $19.99 once.
- The package name as it appears on PyPI.
Set it up
- Check it in Terminal:Terminal
curl -s https://pypistats.org/api/packages/requests/recent - Add a Web Address meter with your package in the address.Web address
https://pypistats.org/api/packages/PACKAGE/recent - Set the key path to
data.last_day,data.last_weekordata.last_month, and refresh every hour.
Multimeter settings
In Customize This Meter… (from the meter’s menu):
| Setting | Value |
|---|---|
| Source | Web Address |
| Web address | https://pypistats.org/api/packages/PACKAGE/recent |
| Key path | data.last_week |
| Refresh every | 1 hour |
| Label | PYPI |
| Face | LCD Readout or Nixie Tubes |
Tested: Run on October 29, 2026 for requests: 59,722,528 yesterday.
More on this source, including every format it reads, in the Web Address guide.
Limits
- Counts update once a day. pypistats is run by volunteers and asks for modest traffic, so keep it at an hour or slower.
- Package names are lowercase in the address, with dashes rather than underscores.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No number found in the response | The key path doesn’t match the reply. | Run curl -s with the address and read the JSON. Dots walk into objects, numbers pick array items (items.0.count). |
| Couldn’t reach the address | No network, a typo in the host, or the service is down. | Open the address in your browser. Multimeter tries again at the next refresh. |
| The server answered 404 | The name in the address doesn’t match PyPI’s normalized name. | Use lowercase and dashes: my_package becomes my-package. |
Questions
Do these counts include mirrors and CI?
Yes. They count every download from PyPI’s servers, which includes automated installs. The without_mirrors figures are on pypistats.org’s other endpoints.