Record in aggregate · metrics 2.10.0

The state of crates.io.

Aggregate statistics across every inspected repository publishing to crates.io — how health distributes, where the download volume sits, and which practices are common or rare, measured against the whole record.

Inspected repositories
8,283 of 8,283 indexed
Monthly downloads under inspection
36.1B registry-reported
Median health index
67 Good
Good or better
54% index 65 and above

Health-index distribution

Latest health index of every inspected repository, in five-point intervals over the 1–100 scale.

Where the download volume sits

Combined monthly downloads by band, against repository counts.

31% of the monthly download volume under inspection flows through repositories below the good band — and the top 1% most-downloaded repositories carry 48% of the entire volume.

Repositories
22%26%25%
Download volume
20%28%21%
BandRepositoriesDownloads / moVolume share
Exceptional5167.3B20%
Excellent1,78410.1B28%
Good2,1547.6B21%
Moderate2,0654.5B12%
Weak8702.3B6.3%
At Risk6124B11%
Critical282446M1.2%

Score shapes

The distribution behind each category median, in ten-point bins — where the record clusters, and where a category separates repositories or saturates.

Vitality72
1100
Community & Adoption51
1100
Sustainability & Governance60
1100
Engineering Quality70
1100
Security52
1100
AI Readiness64
1100

Category profile

Median category score across the scope. Ticks mark the whole-record median. Categories are documented in the methodology wiki.

Vitality
72
Community & Adoption
51
Sustainability & Governance
60
Engineering Quality
70
Security
52
AI Readinessunweighted
64

The state of practice

Share of inspected repositories where the practice is publicly evident. Reports that predate a signal are excluded from its basis, never counted as missing.

Engineering & community practice

README
94% of 8,283
License detected
94% of 8,283
CI workflows
91% of 8,283
Automated tests
79% of 8,283
Linter configuration
56% of 8,283
Documentation directory
37% of 8,283
Contributing guide
32% of 8,283
Security policy
19% of 8,283
Code of conduct
18% of 8,283

Agent-era signals

One-command bootstrap
30% of 8,283
AI agent instructions
27% of 8,283
llms.txt
12% of 8,283

Signals read by the unweighted AI Readiness category.

Does popularity mean health?

Median health index (dot) and the middle half of repositories (band) per popularity bracket, on the shared 1–100 scale.

By GitHub stars

Under 100 stars 5,195
60 · 47–73
100 – 999 2,004
75 · 62–86
1,000 – 9,999 858
87 · 78–93
10,000 and more 226
94 · 88–96

By monthly downloads

Under 10K / month 2,757
67 · 54–77
10K – 1M 2,585
71 · 58–83
1M – 100M 1,312
67 · 48–84
100M and more 54
84 · 76–92

Security under the microscope

Average OpenSSF Scorecard result per check across the scope, weakest first, on Scorecard's 0–10 scale. Check results are mostly all-or-nothing, so the average tracks how much of the record passes. Checks Scorecard reports inconclusive are excluded from scoring, never counted as zero; each row's tooltip carries its basis.

CII-Best-Practices
0.1
Signed-Releases
0.7
SAST
1.1
Fuzzing
1.3
Branch-Protection
1.4
Pinned-Dependencies
1.8
Token-Permissions
1.8
Security-Policy
2.3
Code-Review
2.4
Dependency-Update-Tool
4.3
Maintained
6.3
Vulnerabilities
6.4
Contributors
6.6
CI-Tests
7.1
License
9.3
Binary-Artifacts
9.6
Dangerous-Workflow
9.7
Packaging
10.0

Red flags

Findings that adjust a rating downward rather than scoring into it. Each is reported as a count, as a share of the whole record, and as a rate among the repositories where it could be determined at all.

Abandonment
5636.8% of the record · 6.8% of 8,283 assessed
High-risk jurisdiction exposure
790.9% of the record · 1.0% of 7,660 assessed
Malicious dependencies
7<0.1% of the record · 0.1% of 5,407 assessed
Inorganic growth
1<0.1% of the record · 0.8% of 121 assessed

A red flag needs its own evidence, so its basis is smaller than the record. Growth authenticity is assessed only where day-by-day history was collected; dependency findings only where a dependency graph resolved. Repositories the evidence cannot answer for are left out of the basis rather than counted as passing.

The pulse

How recently each inspected repository last saw a push, at inspection time.

Half of the inspected repositories saw a push within 4 days of inspection.

Push recency
71%16%
Last pushRepositoriesShare
Pushed within 30 days5,87471%
31 – 90 days1,35616%
91 – 365 days4805.8%
Over a year5736.9%

Stewardship & resilience

Who stands behind the inspected repositories, and how many people the code depends on. Both are read by the governance category.

4,411Organization-stewarded median 73
3,872Personal accounts median 60

Maintainer bus factor

80% of inspected repositories depend on a single maintainer for the majority of their commits — including 985 with over a million monthly downloads.

1 maintainer
6,636
2 maintainers
997
3–5 maintainers
519
6+ maintainers
117

The dependency iceberg

Declared direct dependencies against the full resolved graph (direct plus transitive), across the 6,035 reports with a collected dependency graph.

The median repository declares 11 direct dependencies — and resolves to 87 packages in total.

Resolved packages per repository

0
258
1 – 5
733
6 – 20
1,086
21 – 50
641
51 – 200
951
201 – 500
1,031
501 – 1,000
675
Over 1,000
660

License landscape

The most common detected licenses across the scope (SPDX identifiers).

Apache-2.0
3,280
MIT
2,854
Custom license
780
No license detected
497
GPL-3.0
164
MPL-2.0
161
BSD-3-Clause
140
AGPL-3.0
133
Unlicense
56
BSD-2-Clause
46

Most relied upon

The most-downloaded repositories under inspection publishing to crates.io — the records the figures above weigh heaviest. The rest is covered by the full catalogue · tag index.

npm · crates.io
75Goodhealth index
mozilla/source-map
Consume and generate source maps.
JavaScript · Rust★ 3,724↓ 1.4B/moSep 16, 2026
Custom licenseSep 16, 2026 · metrics 2.10.0
npm · crates.io
93Exceptionalhealth index
tailwindlabs/tailwindcss
A utility-first CSS framework for rapid UI development.
TypeScript · Rust★ 97.6K↓ 1.1B/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0
PyPI · crates.io
98Exceptionalhealth index
pydantic/pydantic
Data validation using Python type hints
Python · Rust★ 28.8K↓ 849M/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0
npm · crates.io
96Exceptionalhealth index
pnpm/pnpm
Fast, disk space efficient package manager
Rust · TypeScript★ 36.5K↓ 663M/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0
npm · crates.io
84Excellenthealth index
parcel-bundler/lightningcss
An extremely fast CSS parser, transformer, bundler, and minifier written in Rust.
Rust★ 7,676↓ 539M/moSep 16, 2026
MPL-2.0Sep 16, 2026 · metrics 2.10.0
PyPI · crates.io
90Excellenthealth index
crate-py/rpds
Python bindings to the Rust rpds crate for persistent data structures
Rust · Python★ 64↓ 536M/moSep 9, 2026
MITSep 9, 2026 · metrics 2.10.0

Reading these figures

  • Every figure is computed from the latest published inspection of each repository, under the versioned methodology (currently metrics 2.10.0). See the methodology · band scale.
  • Statistics describe the inspected record — software admitted for inspection, not a random sample of all open source. Admission follows the public-interest criteria.
  • Download figures come from package registries; registries that publish no monthly number (Maven Central, Go, NuGet, RubyGems) contribute no volume rather than zero. Coverage per ecosystem is documented in supported ecosystems.
  • Where a signal is unavailable in a report — an uncollected dependency graph, an inconclusive Scorecard check, a report predating a signal — the repository is excluded from that figure's basis, never counted against it.
  • Health indices are signals of publicly visible practice, not audits or warranties — how to read them is covered by the health index.
  • Figures computed 2026-10-21 09:48 UTC; the aggregate is recomputed hourly. The underlying data is available as JSON.