Open-source project
rust-lang/crates.io-index avatar
rust-lang/crates.io-index

crates.io-index has no code, no license file, and one sentence of purpose

Registry index for crates.io

759 stars273 forksTclLicense varies

At a glance

What is it?
The crates.io package index is the data repository cargo reads to download crates and resolve dependencies, served either as a sparse HTTP endpoint or as a git clone. Everything else about it lives in other projects: the format is documented in the Cargo Book, the protocol in an RFC, and the maintainers on a governance page.
Who is it for?
Read this repository when you want to know what cargo actually reads, not when you want to add a dependency. It is worth knowing that the two access routes serve the same data with different costs, that the shard layout is defined elsewhere, and that nothing at the root states a license, so anyone planning to mirror or redistribute the index should settle that question before doing it.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Tcl, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • rust-lang/crates.io-index759 ★ · +21
Star history
Repository2026-08-212026-11-13
rust-lang/crates.io-index738759

21 Stars in the last 84 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The root holds shard directories and one page, and the language statistics say Tcl

The project is described in one line as the registry index for crates.io, and the page that sits at the root states its purpose in one sentence: the index contains the necessary metadata for cargo to download crates and resolve their dependencies. That is the whole of the prose. The rest of the root is directories. Three of them are a single character, `1/`, `2/`, and `3/`, and the rest of the visible run is two characters wide, starting at `a-` and carrying on through `a0` to `a9`, `a_`, the `aa` to `az` pairings, `b-`, `b0` to `b5`, `b9`, `b_`, and on to `bi`. The second character is not always a letter: digits, the hyphen, and the low line all appear in that position. The language statistics for the repository report Tcl, which is worth knowing before you go looking for source files, because the root entries give you nothing to find.

Two ways in, and the git one is a snapshot of a branch that moves

The page names two access routes for the same data. The first is `https://index.crates.io/`, described as an HTTP API that implements the sparse protocol, with a link to the RFC that defines it. The second is the GitHub repository itself, described as a git repository. The choice between them is a choice of cost: one asks the server for what a lookup needs, the other asks for the repository, and the repository is a moving target. The most recent commit on the default branch, which is named `master`, is dated 2026-10-02, so whatever a clone contains depends entirely on when the clone was taken. Nothing on the page tells you how often that branch changes, or how large a full clone is, which are the two numbers a person deciding between the routes would want.

The shard naming is visible, the rule behind it is not

From the directory names alone you can infer how the lookup is cut up: single character shards for names of one character, two character shards for everything longer, with the second character drawn from letters, digits, the hyphen, and the low line. What the repository does not contain is the rule itself. No file at the root defines how a crate name maps to a shard, no page says what a file inside a shard looks like, and no schema, grammar, or version note appears anywhere in the entries shown. The answer is deliberately delegated: the page sends readers to the Cargo Book, to the registry index reference, under a heading called index format. That is a reasonable choice for a data mirror, since the format is consumed by cargo rather than by people, but it does mean the repository you would inspect to understand the format is not where the format is specified.

One short page, five hosts, and each host documents a different piece

It is worth counting where the reader is sent from a page this short. The project description points at crates.io for the registry itself. The access routes point at `index.crates.io` for the sparse endpoint and at the GitHub repository for the clone, and the sparse route carries a link into the RFC repository hosted on `rust-lang.github.io`. The index format is documented on `doc.rust-lang.org` in the Cargo Book, and the maintenance question is answered by a link to the governance site at `rust-lang.org`, which names the crates.io team inside the developer tools team page. Five different hosts carry the parts this repository does not. That structure is coherent, since each host is the right owner for its piece, but it also means the index repository itself is the only source of exactly one fact, and that fact is the sentence about metadata.

Maintenance is a link to a team page, and licensing is an absence

The page states that the index is maintained by the crates.io team and links to the team listing on the governance site, which is the only statement about who does the work. There is no issue tracker policy, no contribution guide, and no statement about how changes reach the index, none of which appear at the root. Licensing is the gap that matters most for anyone planning to copy this data. No LICENSE file appears among the top-level entries, and the project's license is listed as unknown, so a mirror, a fork, or an offline dump has no stated terms to follow. The page does not address that question at all. For a repository whose entire content is other people's package metadata, the absence of a license is the first thing a careful reader should raise, before the shard layout or the protocol version.

Nothing to install, no releases, and no page of its own

There is no installation step here, because nothing in this repository is added to a build. Cargo reads the index as part of dependency resolution, and what the root contains is the data that read consults, not a library you import. The project publishes no GitHub releases, so there is no tagged version to pin a mirror to, and it has no homepage of its own, which leaves the two access routes as the only entry points the project puts forward. The scale is modest for a registry: 750 stars and 2 open issues. The page itself is short enough to read in under a minute, roughly 700 characters, and it is the only prose in the repository root. Everything a newcomer needs in order to understand the index is therefore somewhere else, which is a defensible design and a poor onboarding experience.

Editorial conclusion

Read this repository when you want to know what cargo actually reads, not when you want to add a dependency. It is worth knowing that the two access routes serve the same data with different costs, that the shard layout is defined elsewhere, and that nothing at the root states a license, so anyone planning to mirror or redistribute the index should settle that question before doing it.

Frequently asked questions

What is the crates.io package index for?

It contains the metadata cargo needs to download crates and resolve their dependencies. That single sentence is the whole description the project gives of its own purpose.

Can crates.io-index be used as an HTTP API?

Yes. The index is available at https://index.crates.io/ as an HTTP API implementing the sparse protocol, and the same data is available as a git repository at the GitHub project. The two routes serve the same index.

Where is the crates.io index format documented?

Not in this repository. The page points to The Cargo Book, at the registry index reference under index format, and the repository itself contains no schema or format description of its own.

Who maintains the crates.io index?

The crates.io team, according to the project page, which links to the developer tools team listing on the rust-lang.org governance site. The page names no other maintainers and describes no process for changes.

Is the crates.io index licensed?

The project does not say. No license file appears among the top-level entries of the repository and the project's license is listed as unknown, so a mirror or a dump has no stated terms to point at.

Official sources

  1. Official README
  2. Project repository
  3. README
  4. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/rust-lang-crates-io-index.svg)](https://hysenlabs.com/projects/rust-lang-crates-io-index)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/rust-lang-crates-io-index.svg)](https://hysenlabs.com/projects/rust-lang-crates-io-index)

Was this useful?