Tracks release metadata for Astral products.
Release metadata is stored in versioned ndjson files:
v1/- The version of the schema<project>.ndjson- The release metadata for a given project
Each line in the NDJSON files represents one release, e.g.:
{
"version": "0.8.3",
"date": "2025-07-29T16:45:46.646976+00:00",
"artifacts": [
{
"platform": "aarch64-apple-darwin",
"variant": "default",
"url": "https://github.com/astral-sh/uv/releases/download/0.8.3/uv-aarch64-apple-darwin.tar.gz",
"archive_format": "tar.gz",
"sha256": "fcf0a9ea6599c6ae..."
}
]
}Use insert-versions.py to add versions. It reads NDJSON in the above format from stdin and inserts
them into the target file, deduplicating by version string and ensuring the proper insertion order.
echo '{"version":"1.0.0","date":"...","artifacts":[...]}' | uv run scripts/insert-versions.py --name uvFor convenience, there's support for converting cargo-dist plans into the NDJSON format. The
SHA256 checksums are fetched from GitHub.
cargo dist plan --output-format=json | uv run scripts/convert-cargo-dist-plan.py | uv run scripts/insert-versions.py --name uvThere's also backfill utility which pulls releases and artifacts from GitHub and adds them to the registry.
uv run scripts/backfill-versions.py <name>