Growth of the crates.io registry
Crate downloads are growing at a rate of 2.1× per year.
crates.io has served 434.6 million downloads in a single day, which is more than all downloads in the first 38 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).
There are 46,846 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 180528 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 |
---|---|---|---|---|---|---|---|---|---|
29265
|
15807
|
16182
|
17367
|
14209
|
11510
|
9907
|
8331
|
7151
|
5956
|
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 |
---|---|---|---|---|---|---|---|---|---|---|
50465
|
33422
|
11631
|
21050
|
14561
|
16649
|
9528 |
10177
|
3770 | 1847 | 131 |
insectbox openvm-rv32-adapters exif-rs aws-unlock yttrium_std_database_exists | simple-digraph hashirama mind_sdk_lb modifier_macro rocket_anyhow | gabi gpwg light-control seaplane-oid caffe2op-logit | mu_rust_helpers rglw rust-macios-objective-c-runtime-proc-macros serde_skip salat_mv | yuexclusive_foo fp-evm mazer-cli gis_puller engula | welds-connections warp-request-body krokiet check-if-email-exists-grpc orn | mz-avro evcxr_image netgauze-bgp-pkt rsass-macros pretty-make | tree-sitter-r deltachat_message_parser trillium-http pi_slotmap pi_slotmap_tree | value-trait path-dedot syncat near-sdk cd | serde_tagged open_ai block-padding libpulse-glib-binding vegas-lattice | fern smallvec caseless lodepng rss |
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 |
---|---|---|---|---|---|---|---|---|---|---|
20288
|
13050
|
14160
|
20576
|
30731
|
23603
|
15311
|
13256
|
14560
|
7307
|
389 |
icao-wgs84 datafusion gcloud-kms m3u_parser ragit-server | lesbar-macros sudoku_machine serde_ssml futter zsync | atomiq-derive url_handler sula-alus huawei-cloud-api-definitions-EG ynab-api | azure_mgmt_advisor leptos-qr regview iceyee_error libappstream | subcryptor skely eigenlib fqn-estimator bbachain-program | paris cltodo ocl-include octocrate-api-builder canda | stable-swap-client tokio-snappy dnutils fs0 olympus | gst-plugin-srt tc-consensus-pow grpc-compiler tetsy-libp2p-uds pandacan | vkcargo chord-composer numero-por-extenso vex rsyesql | civet-sys tracing-allocator hike prefetchkit maildir-pack | simdop google-cloudsearch1 mraa soa keymaker |
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 |
---|---|---|---|---|---|---|---|---|---|---|
5619 |
6768
|
9326
|
17255
|
32406
|
27935
|
20047
|
18397
|
21284
|
12763
|
1431 |
fxp_clutter datafusion-datasource-json linera-wasm-instrument write_mode cacheguard | mpdclient-sys tw_merge_variants mind_sdk_lb ntdb_unwrap stellar_cli_wallet_lumen | mu_rust_helpers tracing-proc-macros-ink sula-alus openvm-rv32-adapters marching_squares_wgpu | terminal_rpg ddnet-accounts-types libwfa2 pmse-v8 edrv-ltr390uv | icao-wgs84 embedded-radio esdm-sys hyprkool mut_set | ua-job-parser memory_pages octocrate-api-builder publish-crates wasmcloud-provider-httpserver | mdbook-pagetoc taplo-plugin-crates litebin tantivy-analysis-contrib ragged-buffer | there-i-fixed-it ashmem eddn uriparser-sys etwin_dinoparc_client | cargo-minicov esp_idf_logger mown async_nursery rhuffle | stm32f2 uuidtoa wipe_buddy cfn rust_release_channel | simdop error_def sorter mraa string_cache_plugin |
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 |
---|---|---|---|---|---|---|---|---|---|---|
22401
|
8034
|
8318
|
6440
|
815 | 182 | 85 | 61 | 24 | 29 | 1 |
osteele schacon nakajima canadaduane knzconnor | zacheryph michaelmelanson robey paulstansifer deontologician | joshuaclayton foysavas scvalex joshrotenberg oleganza | kolektiv agrover aruiz zimbatm mpalmer | jpschorr miniex VivekPanyam legoktm automation-wasmcloud gavofyork upsuper Jasper-Bekkers | sneurlax matthunz LukeMathWalker ForsakenHarmony Protryon wilsonzlin ry dylanmckay | AbstractSDK Xuanwo fschutt rconan casey rise0chen losfair snnsnn | dsherret rerunio erwanor demurgos uutils zippy bmwill unicode-org | strake tony-iqlusion vpetrigo sunfishcode Dirbaio yoshuawuyts fuel-service-user RickWinter | newpavlov seam345 oovm piot dtolnay vkill madsmtm heaths |
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 |
---|---|---|---|---|---|---|---|---|
21288
|
65171
|
59795
|
9725 | 10045 | 2533 | 3855 | 780 | 39 |
openvm-rv32-adapters limon-client http-field yttrium_std_database_exists zigbee2mqtt_types_vendor_zen | volcengine jams-proto mockup_hal lightbird approx_eq | todoist-rs memadvise hashirama droid-wrap-utils gpwg | thegraph-core boreal-parser rgx milf xaynet-core | neon wordle_strategies ft2 eframe findutils | curve25519-dalek-organism cherrybomb-swagger miv-editor proxyboi triton-tui | tangle-subxt zinzen falcon-det-sys ch58x-hal libopenlipc-sys | run-clang-format rubullet-sys cw-it homie variantkey | ffmpeg4-sys ng-rocksdb kube-custom-resources-rs wolfssl-sys mysqlclient-src |
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.
27773 | 1463 | 306 | 208 |
tokio | async-std | pollster | smol |
---|
2964 | 1568 | 1029 | 503 | 474 | 149 | 39 | 21 |
tower | axum | actix-web | rocket | warp | poem | rouille | gotham |
---|
4825 | 1942 | 1517 |
rustls | native-tls | openssl |
---|
1327 | 150 |
git2 | gix |
---|
50574 | 26007 | 505 |
log | tracing | slog |
---|
44632 | 26363 | 2894 | 2149 | 1346 | 1039 |
thiserror | anyhow | quick-error | eyre | snafu | miette |
---|
24200 | 1103 | 419 | 329 | 113 |
clap | getopts | pico-args | argh | argparse |
---|
960 | 182 | 146 |
pulldown-cmark | markdown | comrak |
---|
13819 | 8791 | 142 |
toml | toml_edit | basic-toml |
---|
6970 | 4173 | 1485 | 1470 | 673 | 123 |
bincode | prost | protobuf | rmp-serde | ciborium | capnp |
---|
44747 | 346 | 212 | 46 | 14 |
serde_json | json5 | simd-json | miniserde | tinyjson |
---|
9028 | 4412 | 2122 | 513 | 124 | 25 |
nom | pest | combine | peg | pom | lalrpop |
---|
2010 | 1935 | 862 | 268 | 94 | 29 | 24 |
quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
---|
7440 | 480 |
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.86 | |
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.86 | |
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. 86% of requests were from stable (non-nightly) Rust versions. Less than 0.16% of requests came from Rust versions older than 1.62.
This many crates.io requests… | 0% | 5% | 38% | 56% | 70% | 75% | 78% | 91% | 93% | 95% | 97% | 99.1% | 99.2% | 99.5% | 99.7% | 99.8% |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
…use this stable version of Rust or newer | 1.88 | 1.87+ | 1.86+ | 1.85+ | 1.84+ | 1.83+ | 1.82+ | 1.81+ | 1.80+ | 1.78+ | 1.75+ | 1.70+ | 1.69+ | 1.67+ | 1.65+ | 1.62+ |
This many crates.io requests… | 4% | 5% | 6% | 11% | 12% | 12% | 13% | 13% | 13% | 13% | 13% | 13% | 13% | 13% | 14% | |
…use this or newer nightly version of Rust | 1.88+ | 1.87+ | 1.86+ | 1.85+ | 1.84+ | 1.83+ | 1.82+ | 1.81+ | 1.80+ | 1.78+ | 1.75+ | 1.70+ | 1.69+ | 1.67+ | 1.65+ |