Record in aggregate · metrics 2.10.0

The state of NuGet.

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

Inspected repositories
4,338 of 4,338 indexed
Monthly downloads under inspection
6.8M registry-reported
Median health index
65 Good
Good or better
51% 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.

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

Repositories
24%24%23%
Download volume
64%
BandRepositoriesDownloads / moVolume share
Exceptional122923.1K14%
Excellent1,055450.9K6.6%
Good1,0354.3M64%
Moderate997771.9K11%
Weak63268.7K1.0%
At Risk3424940.0%
Critical155243.3K3.6%

Score shapes

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

Vitality76
1100
Community & Adoption49
1100
Sustainability & Governance57
1100
Engineering Quality60
1100
Security56
1100
AI Readiness47
1100

Category profile

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

Vitality
76
Community & Adoption
49
Sustainability & Governance
57
Engineering Quality
60
Security
56
AI Readinessunweighted
47

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
97% of 4,338
License detected
95% of 4,338
CI workflows
80% of 4,338
Automated tests
60% of 4,338
Contributing guide
40% of 4,338
Code of conduct
35% of 4,338
Documentation directory
32% of 4,338
Security policy
28% of 4,338
Linter configuration
3.9% of 4,338

Agent-era signals

AI agent instructions
23% of 4,338
llms.txt
9.2% of 4,338
One-command bootstrap
2.9% of 4,338

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 3,220
62 · 47–78
100 – 999 768
67 · 53–81
1,000 – 9,999 320
81 · 67–91
10,000 and more 30
92 · 79–96

By monthly downloads

Under 10K / month 53
67 · 54–81
10K – 1M 16
74 · 61–90
1M – 100M 2
78 · 77–78
100M and more 0
—

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.0
Fuzzing
0.1
Signed-Releases
0.1
Pinned-Dependencies
1.0
Code-Review
1.3
Token-Permissions
1.6
Branch-Protection
1.9
SAST
2.8
Security-Policy
3.1
Dependency-Update-Tool
5.2
Contributors
5.3
CI-Tests
7.0
Maintained
7.2
Vulnerabilities
9.2
License
9.4
Binary-Artifacts
9.5
Dangerous-Workflow
9.8
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
1744.0% of the record · 4.0% of 4,338 assessed
High-risk jurisdiction exposure
892.1% of the record · 2.2% of 4,027 assessed
Malicious dependencies
50.1% of the record · 0.1% of 3,473 assessed
Inorganic growth
00% of the record · 0% of 45 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 0 days of inspection.

Push recency
81%
Last pushRepositoriesShare
Pushed within 30 days3,53281%
31 – 90 days50412%
91 – 365 days1272.9%
Over a year1754.0%

Stewardship & resilience

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

2,018Organization-stewarded median 63
2,320Personal accounts median 67

Maintainer bus factor

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

1 maintainer
3,759
2 maintainers
386
3–5 maintainers
164
6+ maintainers
21

The dependency iceberg

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

The median repository declares 7 direct dependencies — and resolves to 12 packages in total.

Resolved packages per repository

0
70
1 – 5
904
6 – 20
1,709
21 – 50
646
51 – 200
364
201 – 500
141
501 – 1,000
91
Over 1,000
76

License landscape

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

MIT
2,953
Apache-2.0
499
Custom license
378
No license detected
205
BSD-3-Clause
78
GPL-3.0
55
LGPL-3.0
32
MPL-2.0
25
AGPL-3.0
20
BSD-2-Clause
18

Most relied upon

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

PyPI · NuGet
77Goodhealth index
pythonnet/clr-loader
Loader for different .NET runtimes
Python★ 43↓ 3.1M/moAug 27, 2026
MITAug 27, 2026 · metrics 2.10.0
npm · Maven · NuGet
78Goodhealth index
renovatebot/pgp
Renovate PGP library
TypeScript · Java · JavaScript★ 0↓ 1M/moSep 11, 2026
Apache-2.0Sep 11, 2026 · metrics 2.10.0
Packagist · crates.io · NuGet
96Exceptionalhealth index
DataDog/dd-trace-php
Datadog PHP Clients
PHP★ 558↓ 786.9K/moOct 20, 2026
Custom licenseOct 20, 2026 · metrics 2.10.0
PyPI · NuGet
63Moderatehealth index
pywinrt/pywinrt
Python projection of Windows runtime (WinRT) types.
C++★ 198↓ 362.3K/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0
crates.io · NuGet · PyPI
80Excellenthealth index
extism/extism
The framework for building with WebAssembly (wasm). Easily & securely load wasm modules, move data, call functions, and build extensible apps.
Rust★ 5,793↓ 323.5K/moOct 11, 2026
BSD-3-ClauseOct 11, 2026 · metrics 2.10.0
npm · Packagist · PyPI +3
60Moderatehealth index
dicebear/styles
Official DiceBear avatar styles.
Shell · C# · Rust★ 7↓ 298.2K/moSep 12, 2026
Custom licenseSep 12, 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.