pypistats
Python interface to PyPI Stats API https://pypistats.org/api
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real need for developers who want to track PyPI download statistics without setting up BigQuery. The MIT license is permissive. Install it if you need programmatic or command-line access to PyPI Stats data.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; queries depend on network access to pypistats.org API.
- Low friction installation with six lightweight runtime dependencies.
- The package is actively maintained with a recent release and steady commit activity, supporting current Python versions (3.10–3.15).
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both commercial and personal projects.
last release 2026-06-30 (45 days) · last repo commit 2026-08-01 · 240 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 107,361 downloads/mo, #12,616 on PyPI
Alternatives
Verify before relying
pip install pypistats
from pypistats.api import overall
stats = overall('pillow')
print(stats)- Whether the package caches API responses or always fetches fresh data from the network.
- Rate limiting or quota constraints imposed by the PyPI Stats API that users should be aware of.
What it is and what it does
pypistats is a Python client for the PyPI Stats API that retrieves aggregate download statistics for packages on PyPI without requiring direct BigQuery access. It works as both a command-line tool and a library, querying data available for the last 180 days and presenting results in multiple formats (JSON, Markdown, HTML, TSV, plain text tables).
The tool supports several query types: recent downloads (last day/week/month), downloads by Python version (major or minor), downloads by system, and overall statistics. It can accept a package name directly or read from a local pyproject.toml or setup.cfg file. Results are formatted with color-coded terminal output by default and can be sorted by download count or date.
Use it for
- Monitor your own package's download trends over the last 180 days to gauge adoption and usage patterns.
- Compare download statistics across Python versions to understand which versions your users are running.
- Generate download reports in Markdown or HTML for inclusion in documentation, GitHub issues, or release notes.
- Analyze ecosystem trends by querying statistics for multiple packages to identify popular dependencies.
- Automate download metrics collection in CI/CD pipelines to track package health over time.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real need for developers who want to track PyPI download statistics without setting up BigQuery. The MIT license is permissive. Install it if you need programmatic or command-line access to PyPI Stats data.
Install
pypistats on PyPI
Before you install
Low friction installation with six lightweight runtime dependencies. The package is actively maintained with a recent release and steady commit activity, supporting current Python versions (3.10–3.15).
Requires Python 3.10 or later; queries depend on network access to pypistats.org API.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both commercial and personal projects.
Quickstart
pip install pypistats
from pypistats.api import overall
stats = overall('pillow')
print(stats)
Verify before relying
- Whether the package caches API responses or always fetches fresh data from the network.
- Rate limiting or quota constraints imposed by the PyPI Stats API that users should be aware of.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesplatformdirsprettytablepython-slugifytermcolortomliurllib3 |
| Maintenance | Actively maintained 45 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 107,361 / month, #12,616 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTyping :: Typed |
Evidence: pypistats-1.14.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pypi package download statistics”
- pypistatsQueries the PyPI Stats API to retrieve download statistics for Python…
- pypi-simpleA client library for querying PyPI and pip-compatible repositories…
- all-packagesAttempts to install every package from PyPI into isolated virtual…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also MLB-StatsAPI · tavily-cli · nba_api · pyproject-api · sec-api · nflreadpy · pypi-simple · sib-api-v3-sdk · trendspy · m2r2