Growth of the crates.io registry
Daily downloads since Rust 1.0, 7-day average
Crate downloads are growing at a rate of 2.0× per year.
crates.io has served 360.5 million downloads in a single day, which is more than all downloads in the first 36 months since the release of Rust 1.0 in May 2015.
Traffic during weekdays is typically 3.0× higher than during weekends (up from 2.8× a year before).
Number of users/teams owning a crate on crates.io
There are 45,637 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 174954 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 |
---|---|---|---|---|---|---|---|---|---|
28686
|
15534
|
15829
|
16866
|
13841
|
11176
|
9182
|
8006
|
6875
|
5765
|
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 | ≤10 years |
---|---|---|---|---|---|---|---|---|---|---|
48983
|
32474
|
10935
|
20245
|
14190
|
16281
|
9275 |
9901
|
3550 | 1771 | 111 |
exif-rs yttrium_std_database_exists openvm-rv32-adapters aws-unlock dejavu | modifier_macro simple-digraph mind_sdk_lb hashirama rocket_anyhow | zigbee2mqtt_types_vendor_zen async_monad gabi packler vpb | rglw dbgtools-win scoop harness-probe-perf bitset-core | log4rs-syslog-net aws-ne-sys ps-pint16 googleapis-tonic-google-cloud-cloudcontrolspartner-v1beta terra-rust | rrgen molar_xdrfile check-if-email-exists-grpc fav_core external_sort | mendia rsass-macros metalmq-codec actix-postgres tasky | idcontain metriki-jemalloc metaheuristics-nature release-plz edwardium_logger | sp-trie comfy-table uds_windows dprint-plugin-markdown path-dedot | fallible-iterator frank_jwt sherlock base64-serde mdbook-epub | fern capnpc petgraph caseless lodepng |
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 | ≤10 years |
---|---|---|---|---|---|---|---|---|---|---|
19074
|
12138
|
15097
|
19583
|
30939
|
21893
|
15377
|
12610
|
13804
|
6949
|
252 |
gcloud-kms nipdf-render mind_sdk_lb spitfire google-cloud-asset-v1 | bevy_2delight_layers quarve_derive allegro_font ffizer icao-wgs84 | hashirama wrpc-test grip-grab rpgpie-certificate-store tree-sitter-json | sledgehammer_bindgen_macro glslt_cli whackengine magicast nodedup | omnibox carlotk cashyalla_rpn_calc_test_ver stack_epic_p2p bonsai-rest-api-mock | orion-async-macros stylus abineo fenris-geometry hellosamp | harbor_rs gabi spaces awmpde_derive node_api_system | dalia git-heckout io-ranges mowl fluvio-controlplane | grammar_tool wasabi_leb128 log_wrapper samurai winpty-sys | the package ttk4145_elevator_server sleep-protocol can-utils | cyborg crdt cult intovec r18n |
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 | ≤10 years |
---|---|---|---|---|---|---|---|---|---|---|
5132 | 5645 |
9225
|
17359
|
32374
|
26532
|
20167
|
17561
|
20336
|
12319
|
1066 |
gcloud-kms sigpipe-error azure_resourcemanager_chaos somose mpdclient-sys | tychoos grow_libsql aineed-cli regex_capture crabtoken | ragit-server angust reto hashirama icu_locale_data | eric-bindings uiua-nokhwa-core eloquence filepack rspack_fs | fav_core iced_video_player cashyalla_rpn_calc_test_ver krokiet glowdust | caffe2op-logit pink-runtime bigfloppa handoff polymesh-ink | libhdfs3-sys bgzf lnk-cryptovec dilate treasury-cli | piow simple-tlv wasmer-wasi-near tc-consensus-pow eaze-tracing-honeycomb | sp-serializer nakadi-types rusoto_managedblockchain io-arc catchr-core | ina260 spaces azure_cosmos_sdk ili9341 two-sided-vec | cyborg crc16 weakjson mm_image tree |
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 |
---|---|---|---|---|---|---|---|---|---|
21811
|
7858
|
8096
|
6259
|
794 | 170 | 84 | 57 | 25 | 27 |
schacon nakajima Susurrus kouky canadaduane | raggi melito paulstansifer zacheryph deontologician | poshcoe Tristramg kivikakk jwiegley ebassi | tredoe aruiz swaits walkah romanz | marirs jondot Tpt legoktm hd-gmbh-bot rklaehn bfops birkenfeld | Berrysoft TobiasBengtsson camshaft arcnmx morr0ne tyleo phil-opp mintlu8 | fafhrd91 robjtede losfair johnstonskj refcell mattsse zicklag kuviman | zippy erwanor rust-lang breathx mikevoronov folex embassy-rs demurgos | al8n holochain tony-iqlusion i18nsite miralandlabs strake piot howardwu | dtolnay benesch vkill codyoss awslabs parity-crate-owner sdroege kennykerr |
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 | ≤41MB |
---|---|---|---|---|---|---|---|---|
21132
|
64364
|
56508
|
9159 | 9622 | 2422 | 3704 | 768 | 37 |
feat yttrium_std_database_exists limon-client pbbot http-field | ffthumb kdmapi sp-crypto-ec-utils aws-ne-sys approx_eq | simple-stream modyne-derive drt-price-aggregator-sc arg-kit grammarbot-io | thegraph-core npsimd spacetimedb-client-api gix-dir solarti-token-swap | ogam leo-lang rtran glulxe-sys neon | triton-tui simple_term_rewriter lpc13xx-pac miv-editor dayendar | render_readme nf-rated signalk-multidisplay icu_tool tauri-app-vue-example | tablegen khmercut dejavu cw-it alloy-consensus | deno_cli_lib_windmill wycheproof linux-sys ng-rocksdb ffmpeg4-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.
26618 | 1431 | 286 | 193 |
tokio | async-std | pollster | smol |
---|
2737 | 1467 | 998 | 469 | 438 | 145 | 39 | 21 |
tower | axum | actix-web | warp | rocket | poem | rouille | gotham |
---|
4624 | 1891 | 1446 |
rustls | native-tls | openssl |
---|
1294 | 146 |
git2 | gix |
---|
48475 | 24719 | 502 |
log | tracing | slog |
---|
42091 | 25339 | 3016 | 2023 | 1333 | 989 |
thiserror | anyhow | quick-error | eyre | snafu | miette |
---|
23280 | 1086 | 398 | 319 | 112 |
clap | getopts | pico-args | argh | argparse |
---|
926 | 173 | 144 |
pulldown-cmark | markdown | comrak |
---|
13238 | 8214 | 139 |
toml | toml_edit | basic-toml |
---|
6727 | 3993 | 1433 | 1427 | 628 | 121 |
bincode | prost | rmp-serde | protobuf | ciborium | capnp |
---|
42546 | 263 | 204 | 30 | 14 |
serde_json | json5 | simd-json | miniserde | tinyjson |
---|
8777 | 4175 | 1731 | 488 | 118 | 25 |
nom | pest | combine | peg | pom | lalrpop |
---|
1950 | 1858 | 821 | 258 | 94 | 29 | 24 |
quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
---|
7022 | 473 |
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.85 | |
1.84 | |
1.83 | |
1.82 | |
1.81 | |
1.80 | |
1.79 | |
1.78 | |
1.77 | |
1.76 | |
1.75 | |
1.74 | |
1.73 | |
1.72 | |
1.71 | |
1.70 | |
1.69 | |
1.68 | |
1.67 | |
1.66 | |
1.65 | |
1.60 | |
1.56 | |
1.55 | |
1.50 | |
1.45 | |
1.40 | |
1.35 | |
1.31 | |
1.30 | |
1.25 |
4000 most recently updated crates
Rustc | OK / No data / Broken deps / Incompatible |
---|---|
1.85 | |
1.84 | |
1.83 | |
1.82 | |
1.81 | |
1.80 | |
1.79 | |
1.78 | |
1.77 | |
1.76 | |
1.75 | |
1.74 | |
1.73 | |
1.72 | |
1.71 | |
1.70 | |
1.69 | |
1.68 | |
1.67 | |
1.66 | |
1.65 | |
1.60 | |
1.56 | |
1.55 | |
1.50 | |
1.45 | |
1.40 | |
1.35 | |
1.31 | |
1.30 | |
1.25 |
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. 90% of requests were from stable (non-nightly) Rust versions. Less than 0.15% of requests came from Rust versions older than 1.65.
This many crates.io requests… | 0% | 4% | 37% | 52% | 58% | 62% | 78% | 92% | 93% | 95% | 97% | 99.4% | 99.5% | 99.7% | 99.8% |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
…use this stable version of Rust or newer | 1.87 | 1.86+ | 1.85+ | 1.84+ | 1.83+ | 1.82+ | 1.81+ | 1.80+ | 1.79+ | 1.77+ | 1.75+ | 1.70+ | 1.69+ | 1.67+ | 1.65+ |
This many crates.io requests… | 4% | 5% | 7% | 7% | 8% | 9% | 9% | 9% | 9% | 9% | 9% | 10% | |||
…use this or newer nightly version of Rust | 1.87+ | 1.86+ | 1.85+ | 1.84+ | 1.83+ | 1.82+ | 1.81+ | 1.80+ | 1.79+ | 1.77+ | 1.75+ | 1.70+ |