Open-Source Wikis

/

uv

/

By the numbers

astral-sh/uv

By the numbers

A quantitative snapshot of the uv repository.

Data collected on 2026-04-30 from the main branch at commit 4d4f345cfe0309561bbe115e8e3677c502f6a67b.

Size

uv is a Rust workspace of ~70 crates, all in crates/. The Rust source dominates by line count; the rest is fixture data, scripts, and Markdown docs.

Metric Count
Total commits since first commit (Oct 2023) 9,027
Tags published 272
Distinct authors (all-time) 544
.rs files under crates/ 576
Total Rust LOC under crates/ (incl. tests/snapshots) ~473,597
*.toml files in the repo (Cargo + pyproject + fixtures) 130
Workspace members 70 directories under crates/ (one nightly-only crate excluded from the workspace)

The largest crates by source size:

Crate On-disk size
uv (the binary, includes tests) ~13 MB
uv-python (incl. download metadata JSON) ~3.3 MB
uv-resolver ~1.5 MB
uv-client ~536 KB
uv-distribution-types ~492 KB
uv-pep508 ~436 KB
uv-requirements-txt ~420 KB
uv-cli ~376 KB
uv-distribution ~364 KB
uv-trampoline-builder ~328 KB
uv-pep440 ~296 KB
uv-workspace ~284 KB
uv-auth ~276 KB
xychart-beta horizontal
    title "Workspace crates by on-disk size (KB)"
    x-axis ["uv-python", "uv-resolver", "uv-client", "uv-distribution-types", "uv-pep508", "uv-requirements-txt", "uv-cli", "uv-distribution", "uv-trampoline-builder", "uv-pep440"]
    y-axis "KB" 0 --> 3500
    bar [3300, 1500, 536, 492, 436, 420, 376, 364, 328, 296]

The single biggest source files in the repo are also in those crates:

File Approximate size
crates/uv-resolver/src/lock/mod.rs ~273 KB
crates/uv-python/src/discovery.rs ~175 KB
crates/uv-resolver/src/resolver/mod.rs ~182 KB
crates/uv-pep440/src/version.rs ~162 KB
crates/uv/src/settings.rs ~157 KB
crates/uv/src/lib.rs ~110 KB
crates/uv-resolver/src/resolver/environment.rs ~33 KB

Activity

uv is under continuous heavy development.

Metric Value
Commits in the last 90 days 709
Approximate monthly commit volume (2026 Q1–Q2) 14 (Jan, partial) → 204 (Feb) → 285 (Mar) → 207 (Apr)
Releases tagged 272

Bot-attributed activity in the last 90 days (lower bound — does not capture inline AI tools or Co-authored-by lines):

Author Commits in last 90 days
renovate[bot] 178
github-actions[bot] 11
dependabot[bot] 1

That is roughly 27% of the last 90 days' commits attributed to bots, primarily Renovate dependency bumps and GitHub Actions release automation. The remaining 73% are human-authored.

Test infrastructure

Metric Value
Integration test crate crates/uv/tests/it/
Test runner cargo nextest (recommended)
Snapshot framework insta plus the project-defined uv_snapshot! macro
CI workflows 28 GitHub Actions workflows in .github/workflows/
Notable test workflows ci.yml, test.yml, test-integration.yml, test-system.yml, test-smoke.yml, test-windows-trampolines.yml, test-ecosystem.yml

CI splits work across check-fmt, check-lint, check-docs, check-generated-files, check-publish, check-release, check-zizmor, plus the various test-* and build-* workflows.

Documentation

Metric Value
Docs source docs/ (mkdocs)
Top-level doc sections getting-started/, guides/, concepts/, pip/, reference/
Style guide STYLE.md (writing conventions for messaging and docs)
Contributor guide CONTRIBUTING.md, AGENTS.md, CLAUDE.md
Changelog CHANGELOG.md (746 lines and growing)

Dependency surface

uv pins workspace dependencies via the [workspace.dependencies] table in the root Cargo.toml. Notable third-party libraries:

Area Crate Why
Resolver astral-pubgrub (uv's fork of pubgrub), astral-version-ranges core SAT-style solver
HTTP reqwest, astral-reqwest-middleware, astral-reqwest-retry, hyper (test) registry client
Async tokio, futures, tokio-stream, tokio-util, async-channel concurrency
CPU-bound parallelism rayon wheel install, bytecode compile
Hashing / crypto sha2, blake2, md-5, data-encoding, webpki-root-certs, rustls wheel hashes, TLS
Serialization serde, serde_json, toml, toml_edit, rkyv, rmp-serde TOML, JSON, cache
Compression / archives flate2 (zlib-rs), xz2, async-compression, zip, astral_async_zip, astral-tokio-tar, tar wheel/sdist extraction
Tracing tracing, tracing-subscriber, tracing-tree, tracing-durations-export structured logging
CLI clap, clap_complete_command argument parsing
Errors thiserror, anyhow, miette structured + reportable errors
Filesystem fs-err, tempfile, walkdir, globwalk, globset, ignore cross-platform FS
Windows windows, windows-registry, windows-version, embed-manifest platform glue
Memory allocators mimalloc (Linux/Windows), jemalloc variants startup speed

Where these numbers live

  • The [workspace] definition is in Cargo.toml.
  • Per-crate descriptions are in crates/README.md.
  • Workflow files are in .github/workflows/.
  • Author counts derive from git log. Per-person breakdowns are intentionally aggregated rather than ranked by individual contributor — see maintainers.md for the per-subsystem ownership view.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

By the numbers – uv wiki | Factory