Growth of the crates.io registry
Crate downloads are growing at a rate of 2.2× per year.
crates.io has served 697.4 million downloads in a single day, which is more than all downloads in the first 44 months since the release of Rust 1.0 in May 2015.
Traffic during weekdays is typically 2.7× higher than during weekends (down from 2.9× a year before).
There are 57,043 users or teams that have a crate on crates.io. The number of owners is growing at a rate of 1.2× per year.
Lib.rs has indexed 224539 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 |
|---|---|---|---|---|---|---|---|---|---|
|
32982
|
18039
|
18585
|
20775
|
17191
|
14324
|
12472
|
10577
|
9375
|
7897
|
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
63904
|
43962
|
14190
|
26040
|
17523
|
20163
|
11300 | 11834 | 5026 | 2438 | 445 |
| openvm-rv32-adapters anvil-liquid-derive insectbox exif-rs aws-unlock | modifier_macro mod_rewrite simple-digraph mind_sdk_lb hashirama | gpwg hashtree-fs poeledger-economy-data lightbird tc-consensus-pow | daemon_console_lite geph4-vpn-helper salat_mv solana-instruction-view scoop | yuexclusive_foo wow-blp depyler-core polywrap_msgpack signal-gen-cjds66-lib | siwa cardinal-paid-claim-approver statum infrarust warp-request-body | salvo-cli disruption_types serde_json5 staticsort beep-evdev | trillium-http postcard-derive rust-embed-for-web-utils pi_slotmap acir_field | stack uds_windows lightspeed_email upnp-daemon base58 | fallible-iterator rand_xoshiro ego volatile-register stm32l0 | fern libloading imageproc djangohashers gitlab |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
31009
|
17187
|
17822
|
24668
|
33750
|
27268
|
19618
|
14465
|
19606
|
10147
|
1285 |
| pipenet claudekill dtz-core kitmap gilrs-core | send_cells webarcade-api seqc wl-clipboard-rs cmw | tomlreadwr megabytes unen_logging fusion-core sha256sum | acuity-index-substrate validated entry_put_ext eots acme-engine | yesqlr build-instructions haqq-indexer-proto ferogram-macros world_id_sdk | parity_clippy_utils to_bopomofo bevy_lunex_ui http-rate vector-expr | crcnt_rbac pyoxidizer bevy_simple_2d_outline apple-ble cyclonedds-rs | amiquip tree-sitter-toml serde-csv-extra egui-datepicker substrate-subxt-proc-macro | odata_client_codegen inventorize update_channel futures-enum kkcloud-server | largest-remainder-method tar-parser lark-debug-with i2c-hal-tools mars_vga | joinlines silverknife-fontconfig-sys rusty-cute-macros cmdtaglib verex |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
11528
|
10626
|
12816
|
22070
|
34802
|
31924
|
24844
|
19681
|
28192
|
16950
|
3392 |
| nym-credentials actix-security-codegen antistatic kitmap small_range | bronzite-types arborium-r dechdev_rest rlibc-extended rpgtool-common | rustlite cargo-ptest anubis-rage calimero-dag vello_sparse_shaders | exomizer mcp-diesel-proto-generator octocode shift ystd | af-move-type semaphore-rs-witness aineed-cli bevy_2delight_layers nom-parse-macros | tcp-client pax-engine include-utils-macro parity_clippy_utils cco | ffthumb ra_ap_intern brubeck multiversx-sc-wasm-adapter db_task | tongrams ctv uddsketch clgui simple-digraph | uu_csplit io-ranges hierarchical treemux sdfgen | hash256-std-hasher gdb_probe hp-log lark-debug-with futures-enum | joinlines silverknife-fontconfig-sys gettext tin wordnet_stemmer |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
27179
|
9830
|
9992
|
8038
|
1031 | 246 | 109 | 78 | 42 | 41 | 1 |
| dfl caius corasaurus-hex knzconnor fd | zacheryph tzvetkoff fazibear raggi vic | lancecarlson bjc jamesturk pardel rictic | goxcc xenoterracide yury levicook typester | tobyhede jxoesneon asomers mre dherman birkenfeld apache FGRibreau | danieldk qy-upup Keruspe alecmocatta HeroicKatora joshrotenberg prestwich kaleidawave | rvolosatovs noamteyssier ahaoboy franziskuskiefer zeekay ryankurte foresterre snnsnn | Xuanwo nymtech vertexclique OpenTalk-Bot bartlomieju ma2bd unicode-org folex | matthewkmayer swc-bot PsichiX bytecodealliance wasmtime-publish fuel-service-user tony-iqlusion rust-lang-owner | Azure MaterializeInc azure-sdk coryan mattsse microsoft-oss-releases Wandalen suzmue |
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 |
|---|---|---|---|---|---|---|---|---|
|
23051
|
72689
|
81007
|
15512
|
14850 | 3392 | 5235 | 1050 | 39 |
| limon-client pbbot modifier_macro openvm-rv32-adapters zigbee2mqtt_types_vendor_zen | aws-ne-sys mind_sdk_lb easy_rdev_key ffthumb unc-abi-client-impl | anvil-liquid-derive simple-stream aws-auth-payload rocket_anyhow gc_abi | sapter bevy_touch_stick avx-gis-desktop rgx rustedbytes-counterlines | gaze rtran x64 tauri-plugin-secure-storage findutils | wlambda oxirs-star libmqm-sys lpc13xx-pac mantaray | easy-alias signalk-multidisplay cfn sipbot google-material-design-icons-bin | hermes-engine rubullet-sys run-clang-format silly-png tablegen | ffmpeg4-sys sniffnet dynamorio-sys occt-sys musix |
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.
| 41191 | 1590 | 482 | 314 |
| tokio | async-std | pollster | smol |
|---|
| 5594 | 3242 | 1277 | 589 | 543 | 156 | 44 | 20 |
| tower | axum | actix-web | rocket | warp | poem | rouille | gotham |
|---|
| 6410 | 2336 | 1812 |
| rustls | native-tls | openssl |
|---|
| 1902 | 274 |
| git2 | gix |
|---|
| 64691 | 38014 | 548 |
| log | tracing | slog |
|---|
| 67525 | 39107 | 3218 | 2963 | 1907 | 1594 |
| thiserror | anyhow | quick-error | eyre | snafu | miette |
|---|
| 32435 | 1463 | 674 | 385 | 119 |
| clap | getopts | pico-args | argh | argparse |
|---|
| 1382 | 278 | 258 |
| pulldown-cmark | comrak | markdown |
|---|
| 19971 | 11925 | 188 |
| toml | toml_edit | basic-toml |
|---|
| 9624 | 6049 | 2292 | 1707 | 1258 | 162 |
| bincode | prost | rmp-serde | protobuf | ciborium | capnp |
|---|
| 63981 | 473 | 467 | 68 | 24 |
| serde_json | simd-json | json5 | miniserde | tinyjson |
|---|
| 12128 | 5945 | 2428 | 817 | 205 | 25 |
| nom | pest | combine | peg | pom | lalrpop |
|---|
| 3026 | 2157 | 1201 | 380 | 97 | 32 | 24 |
| quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
|---|
| 10528 | 498 |
| 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.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.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. 92% of requests were from stable (non-nightly) Rust versions. Less than 0.17% of requests came from Rust versions older than 1.67.
| This many crates.io requests… | 0% | 3% | 31% | 43% | 51% | 68% | 71% | 75% | 77% | 82% | 85% | 86% | 87% | 88% | 89% | 99.1% | 99.2% | 99.3% | 99.7% | 99.8% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| …use this stable version of Rust or newer | 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.82+ | 1.81+ | 1.77+ | 1.75+ | 1.74+ | 1.71+ | 1.70+ | 1.67+ |
| This many crates.io requests… | 3% | 4% | 5% | 6% | 7% | 7% | 7% | 7% | 7% | 7% | 8% | |||||||||
| …use this or newer nightly version of Rust | 1.95+ | 1.94+ | 1.93+ | 1.92+ | 1.91+ | 1.90+ | 1.89+ | 1.88+ | 1.87+ | 1.86+ | 1.85+ |