Growth of the crates.io registry
Crate downloads are growing at a rate of 2.3× per year.
crates.io has served 944.9 million downloads in a single day, which is more than all downloads in the first 47 months since the release of Rust 1.0 in May 2015.
Traffic during weekdays is typically 2.5× higher than during weekends (down from 3.0× a year before).
There are 62,673 users or teams that have a crate on crates.io. The number of owners is growing at a rate of 1.3× per year.
Lib.rs has indexed 256128 crates.
Dependencies
Number of direct dependencies
Number of libraries explicitly used by each crate. Includes dev, build-time and optional dependencies.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
|
35165
|
19561
|
20354
|
23298
|
19229
|
16306
|
14291
|
12298
|
11033
|
9416
|
Number of transitive reverse dependencies (popularity)
How often each library crate is used as a dependency in other crates, directly or indirectly. Includes dev, build-time, and optional dependencies.
Development
How long a crate has been in development
Time between its oldest and newest release.
| one-off | ≤1 week | ≤1 month | ≤6 months | ≤1 year | ≤2 years | ≤3 years | ≤5 years | ≤7 years | ≤10 years | ≤11 years |
|---|---|---|---|---|---|---|---|---|---|---|
|
73260
|
53034
|
19188
|
30241
|
18296
|
21083
|
11867 | 12463 | 5420 | 2645 | 518 |
| insectbox openvm-rv32-adapters dreamwell-runtime cmw anvil-liquid-derive | modifier_macro simple-digraph mind_sdk_lb tremor zsync | yazi-shim murk-propagators packler affinidi-vc zigbee2mqtt_types_vendor_zen | geph4-vpn-helper npsimd daemon_console_lite arct-tui cruppers | colorconv nintendo-lz signal-gen-cjds66-lib object-rainbow-json jupyter | tacoda_grrs ragged-buffer proxyvars hass-entity-state stack_epic_p2p | markup5ever_arcdom sgx_trts cargo-prosa gix-dir docsearch | streaming-libdeflate-rs dom-content-extraction nu-cmd-lang tackler-rs twiddle | qoqo_calculator im debugless-unwrap chalk-recursive flp-gsp | autocfg kas-macros full_moon serde_tagged cookie-factory | libloading crowbook blip_buf fern djangohashers |
Time without any updates
Time since crate's most recent release. Keep in mind that some crates can be "done" and not need regular updates.
| ≤1 month | ≤3 months | ≤6 months | ≤1 year | ≤2 years | ≤3 years | ≤4 years | ≤5 years | ≤7 years | ≤10 years | ≤11 years |
|---|---|---|---|---|---|---|---|---|---|---|
|
43898
|
25056
|
21283
|
25332
|
34737
|
27208
|
21798
|
14632
|
21314
|
11130
|
1627 |
| squawk-lexer aws-sdk-networkmonitor sp-crypto-ec-utils smartcardhsm_pkcs11_loader egui_component_style_macros | flow-ctx umbrae-dlmm-sdk certo krokiet partiql-catalog | omega-meta-sona rustlite vein-admin monty seqc | cs_mwc-libp2p-wasm-ext exomizer shuttle-axum stylus megabytes | brydz_model shticker_book_unwritten ferrishot_iced_graphics insectbox antlr-runtime-sys | packetvisor gtfs-rt resup nonstdfloat dxr_server_axum | salat_mv schema-derive denog krab eatnp | atsamv71q20 tailwind-ast fazi irv-traits glz | mi uriparser-sys wrap_result fluence-fork-libp2p-request-response whitespace | LCPminigrep actix-web-cute-codegen susydev-jsonrpc-derive count_cache spectacles-rest | crc8 diagnostics tungsten feaders imagefmt |
Age
Time since crate's first release.
| ≤1 month | ≤3 months | ≤6 months | ≤1 year | ≤2 years | ≤3 years | ≤4 years | ≤5 years | ≤7 years | ≤10 years | ≤11 years |
|---|---|---|---|---|---|---|---|---|---|---|
|
19866
|
19194
|
17946
|
22508
|
36911
|
31880
|
27138
|
19745
|
30368
|
18456
|
4003 |
| dreamwell-runtime cg-tg-rcore-tutorial-ch6 agentgif ciab-db a2a-client-lf | ftui-simd rustmod-tools bevy_woff bias-tutil umbrae-dlmm-sdk | dechdev_rest fieldwork-macro egui-thematic runtara-protocol shaum-rules | safehold rusqlite-struct-derive nesting megabytes object-rainbow-json | presto-cli api_req mpdclient-sys wait-counter insight-line | clock-bound-shm memcrab-cache lc3-ensemble storm-config zng-wgt-webrender-debug | ndarray-slice sucre_core krab istos clp-src | unm_engine ragged-buffer usiagent polyresolver actix-extensible-rate-limit | uriparser-sys gstreamer-gl-integration poirebot-lichess raui-tesselate-renderer evilcrate | struct_layout tera-cli oxygengine susydev-jsonrpc-pubsub web30 | readelf crc8 http_stub nfd diagnostics |
Number of releases per crate
Number of unique versions of each crate, excluding yanked versions.
Number of crates per user
How many crates a single account (user or team) owns. Excluding all other people in the world who have 0 crates.
| 1 | 2 | 3 | ≥6 | ≥25 | ≥50 | ≥75 | ≥100 | ≥150 | ≥200 | ≥1000 |
|---|---|---|---|---|---|---|---|---|---|---|
|
29597
|
10693
|
11027
|
9113
|
1178 | 304 | 119 | 90 | 44 | 51 | 2 |
| dgoodlad fd knzconnor amoeba canadaduane | r1sc raggi vic fazibear zacheryph | peters zacbrown wiremine muness jaikoo | nchapman mborgerson romanz yury jedbrown | amandasaurus copyleftdev ehuss jjl janfeddersen-wq arighi chriswk upsuper | fundon dylanmckay iamnbutler ubugeeei alecmocatta solana-foundation-tech kaleidawave jneem | nikomatsakis MOZGIII noamteyssier rise0chen sudo-shashank foresterre fluencebot ryankurte | elsirion nearprotocol-ci bmwill jschwe rivy valff ijackson dfinity-publish | Latias94 therustmonk wasmerio PsichiX gkgoat1 miralandlabs Dirbaio daiwanwei | googleapis rusoto cloud-sdk-rust-bot aptos-crates kdy1 npry sdroege noahgift |
Sizes
Crate size (KB)
Amount of data downloaded as a compressed tarball. Size of code + bundled data files. Individual crate pages show size of uncompressed code.
| ≤1KB | ≤10KB | ≤50KB | ≤100KB | ≤500KB | ≤1MB | ≤5MB | ≤10MB | ≤38MB |
|---|---|---|---|---|---|---|---|---|
|
24165
|
77255
|
96291
|
20014
|
18910
|
4081 | 6049 | 1211 | 39 |
| zigbee2mqtt_types_vendor_zen simple-digraph openvm-rv32-adapters umbrae-dlmm-sdk feat | easy_rdev_key yesqlr zonefile-crds edrv-ltr390uv noem | gearhash aws-auth-payload aleph_openai crcnt_rbac todoist-rs | ordinary-template fmi srx-rs avx-gis-desktop ome-metadata | tg-flows tauri-plugin-secure-storage glulxe-sys asic-rs x64 | rsfdisk tui-pantry lpc13xx-pac curve25519-dalek-fiat toddy-iced | dicom_dictionary_parser google-material-design-icons-bin openapitor oxictl signalk-multidisplay | rubullet-sys loki-ai dejavu perch icu_experimental_data | efm32gg-pac bpe-tokenizer deno_cli_lib_windmill mysqlclient-src mupdf-sys |
Crate total bandwidth (GB)
Amount of data downloaded as a compressed tarball × number of downloads per month.
Categories
Number of crates in each category. The area is proportional to the number of distinct crate owners publishing in each category. Colors are only for decoration.
Ecosystem
Number of crates that have each of the alternatives in their dependencies. More popular doesn't mean better. These crates and categories were hand-picked.
| 51568 | 1598 | 627 | 346 |
| tokio | async-std | pollster | smol |
|---|
| 7868 | 4988 | 1336 | 599 | 577 | 162 | 50 | 20 |
| tower | axum | actix-web | rocket | warp | poem | rouille | gotham |
|---|
| 8008 | 2601 | 1930 |
| rustls | native-tls | openssl |
|---|
| 2188 | 347 |
| git2 | gix |
|---|
| 75591 | 48929 | 542 |
| log | tracing | slog |
|---|
| 85911 | 47824 | 3577 | 3305 | 2158 | 2063 |
| thiserror | anyhow | quick-error | eyre | snafu | miette |
|---|
| 38642 | 1844 | 917 | 428 | 122 |
| clap | getopts | pico-args | argh | argparse |
|---|
| 1832 | 429 | 331 |
| pulldown-cmark | comrak | markdown |
|---|
| 25443 | 13390 | 249 |
| toml | toml_edit | basic-toml |
|---|
| 10799 | 7140 | 2996 | 1904 | 1626 | 186 |
| bincode | prost | rmp-serde | protobuf | ciborium | capnp |
|---|
| 81231 | 1233 | 562 | 72 | 29 |
| serde_json | json5 | simd-json | miniserde | tinyjson |
|---|
| 14181 | 7228 | 2704 | 898 | 286 | 25 |
| nom | pest | combine | peg | pom | lalrpop |
|---|
| 4084 | 2213 | 1400 | 503 | 133 | 32 | 24 |
| quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
|---|
| 12869 | 522 |
| tempfile | tempdir |
|---|
Rustc compatibility
Percentage of crates (in their current version) that can be compiled with a given Rust version. The data is based on sampling of cargo check and clippy::incompatible_msrv on Linux/aarch64. Excludes crates that never built (e.g. because they need nightly, or Windows, or unusual C dependencies).
These stats are best-case scenarios that assume use of a most-compatible Cargo.lock file. Fresh projects without a lockfile will be less compatible due to too-new transitive dependencies.
Compatibility weighed by crates' popularity is not a realistic representation of ecosystem-wide compatibility. Actual compatibility is always worse, because MSRV of projects is not an average of their dependencies MSRV, but entirely dependent on their least-compatible dependency.
All crates, including unmaintained ones
| Rustc | OK / No data / Broken deps / Incompatible |
|---|---|
| 1.95 | |
| 1.94 | |
| 1.93 | |
| 1.92 | |
| 1.91 | |
| 1.90 | |
| 1.89 | |
| 1.88 | |
| 1.87 | |
| 1.86 | |
| 1.85 | |
| 1.84 | |
| 1.83 | |
| 1.82 | |
| 1.81 | |
| 1.80 | |
| 1.75 | |
| 1.70 | |
| 1.65 | |
| 1.60 | |
| 1.56 | |
| 1.55 | |
| 1.50 | |
| 1.45 | |
| 1.40 | |
| 1.35 | |
| 1.31 | |
| 1.30 |
4000 most recently updated crates
| Rustc | OK / No data / Broken deps / Incompatible |
|---|---|
| 1.95 | |
| 1.94 | |
| 1.93 | |
| 1.92 | |
| 1.91 | |
| 1.90 | |
| 1.89 | |
| 1.88 | |
| 1.87 | |
| 1.86 | |
| 1.85 | |
| 1.84 | |
| 1.83 | |
| 1.82 | |
| 1.81 | |
| 1.80 | |
| 1.75 | |
| 1.70 | |
| 1.65 | |
| 1.60 | |
| 1.56 | |
| 1.55 | |
| 1.50 | |
| 1.45 | |
| 1.40 | |
| 1.35 | |
| 1.31 | |
| 1.30 |
Usage of Rust versions based on crates.io traffic
This is based on crates.io request log data from the last week. This is not limited to real users, and includes automated traffic like CI. 91% of requests were from stable (non-nightly) Rust versions. Less than 0.18% of requests came from Rust versions older than 1.60.
| This many crates.io requests… | 0% | 2% | 11% | 40% | 51% | 61% | 68% | 72% | 74% | 77% | 84% | 86% | 87% | 89% | 98% | 98% | 98% | 98% | 99.3% | 99.4% | 99.5% | 99.6% | 99.8% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| …use this stable version of Rust or newer | 1.97 | 1.96+ | 1.95+ | 1.94+ | 1.93+ | 1.92+ | 1.91+ | 1.90+ | 1.89+ | 1.88+ | 1.86+ | 1.85+ | 1.84+ | 1.81+ | 1.75+ | 1.74+ | 1.73+ | 1.71+ | 1.70+ | 1.69+ | 1.66+ | 1.63+ | 1.60+ |
| This many crates.io requests… | 2% | 3% | 4% | 5% | 7% | 7% | 8% | 8% | 8% | 8% | 8% | 8% | 8% | 8% | 8% | 8% | 8% | 8% | 9% | ||||
| …use this or newer nightly version of Rust | 1.97+ | 1.96+ | 1.95+ | 1.94+ | 1.93+ | 1.92+ | 1.91+ | 1.90+ | 1.89+ | 1.88+ | 1.86+ | 1.85+ | 1.84+ | 1.81+ | 1.75+ | 1.74+ | 1.73+ | 1.71+ | 1.70+ |