Everything you need to know about using PyPI Stats.
Search for any Python package using the search bar. You'll see a detailed dashboard with download trends, version breakdowns, and ecosystem data.
If a package isn't in our database yet, we'll automatically start loading its data from Google BigQuery. This usually takes a few minutes — just refresh the page shortly.
Create an account to add packages to your watchlist, set up alerts, and unlock Pro features like extended history and CSV exports.
Each package dashboard includes:
The health score is a 0–100 rating composed of four equally-weighted components (25 points each):
When GitHub data is available, the score is split across five components (the first four scale down from 25 to 22 points each to make room for Community). Without GitHub data, the four core components share 25 points each.
How stable are daily downloads over 90 days. Low variance scores higher. A package with steady, predictable downloads is a safer dependency.
Total downloads over 90 days. Scored as: 1M+ = full, 100K+ = 80%, 10K+ = 60%, 1K+ = 40%, otherwise 20%.
Equal points for each of: summary, author, license, homepage, and latest version. Well-maintained packages tend to have complete metadata.
Week-over-week download change. 10%+ growth = full, any growth = 80%, minor decline = 60%, major decline = 20%.
Based on GitHub stars (10K+ = 10, 1K+ = 8, 100+ = 5, 10+ = 3, otherwise 1) plus a recency bonus for recent pushes (within 30 days = +5, 90 days = +3, 365 days = +1). Only included when GitHub data is available.
Each package page includes an AI-generated health summary that provides a plain-English assessment of the package's current state. It analyzes download trends, version activity, metadata completeness, and GitHub stats to give you a quick understanding of whether a package is actively maintained and widely adopted.
Ask questions about any package using the AI chat on its dashboard page. You can ask things like “Is this package safe to use in production?” or “How does this compare to alternatives?” The AI uses the package's download data, metadata, and GitHub stats to give informed answers.
The Stack Analyzer lets you upload a requirements.txt, pyproject.toml, or Pipfile and get a full analysis of your entire dependency tree — direct and transitive.
You can also paste a GitHub URL directly — the analyzer auto-converts regular github.com/…/blob/… links to raw content URLs automatically.
Stack Analyzer is available to Pro and Enterprise users. Free users can visit the Stack Analyzer page to see a demo.
Each package page shows dependency relationships in two directions:
requires_dist metadata, excluding optional extras.Click any dependency to jump to its package page. Untracked packages are shown but not linked.
When a package's homepage or metadata links to a GitHub repository, we display live stats including stars, forks, and open issues. This helps you gauge community engagement and maintenance activity alongside download numbers.
At the bottom of each package page, we suggest packages with similar download volumes. This is a quick way to discover alternatives or related tools in the same popularity tier.
Add a live download count badge to your README or documentation. Each package page includes a badge snippet you can copy — it renders as an SVG image that updates automatically. Supports Markdown, reStructuredText, and HTML formats.
The trending page ranks packages by week-over-week download growth. A package needs at least 500,000 downloads in the past week to qualify — this filters out noise from smaller packages with volatile numbers.
Trending is a great way to discover new libraries gaining traction in the Python ecosystem before they become mainstream.
The compare tool lets you view download trends for multiple packages side-by-side on the same chart.
Free accounts can compare up to 2 packages. Pro accounts can compare up to 10 — useful for evaluating alternatives (e.g., Flask vs FastAPI vs Django) or tracking a suite of related packages.
Alerts notify you via email when something notable happens with a package you're watching. Three alert types are available:
Alerts are checked daily. Create them from your dashboard.
Pro and Enterprise users can enable a weekly digest email that summarizes how their saved packages performed over the past week. It includes download counts and week-over-week percentage changes for each saved package.
Enable it from your dashboard. Digests are sent every Monday at 9:00 AM UTC.
Pro and Enterprise users can toggle “Exclude CI/CD” on package dashboards to filter out downloads from known automated tools and mirrors, including bandersnatch, devpi, Bazel, Nexus, Artifactory, and Homebrew.
Note: most CI/CD pipelines use standard pip or uv to install packages, making them indistinguishable from human installs at the data level. This filter removes what's identifiable, but won't capture all automated traffic.
PyPI Stats provides a public REST API for programmatic access to download data, package metadata, and health scores. See the API documentation for endpoints, rate limits, and authentication details.