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 149.5 million downloads in a single day, which is more than all downloads in the first 25 months since the release of Rust 1.0 in May 2015.
Traffic during weekdays is typically 2.8× higher than during weekends (up from 2.6× a year before).
Number of users/teams owning a crate on crates.io
There are 37,571 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 144544 crates.
Histograms
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 |
---|---|---|---|---|---|---|---|---|---|
26589
|
13299
|
13376
|
13905
|
11203
|
8903
|
7261
|
6287
|
5560
|
4589 |
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 | ≤20MB |
---|---|---|---|---|---|---|---|---|
64789
|
45064
|
6745 | 7222 | 1815 | 2667 | 641 | 51 | 11 |
hpl-macro-platform-gate beskar-assets speech-dispatcher-sys randomstringb r621 | vmm parsley-rs mathew confik-macros rename-item | lwb-parser mqttwrk verbs-rs roxmltree hocon-linked | encoding-next-index-japanese quizler akiv bigtable_rs rquickjs-core | localghost kn-cuda-eval bevy_tilemap zfp-sys tree-sitter-elixir | delta_2a_lidar icu_tool gled polodb_core ttyper | forest-filecoin espa jabcode servo-skia libfsntfs-rs | librclone-sys snarkvm-parameters lief-sys musix jni-android-sys | esp-wifi-sys pv_leopard difftastic fbxsdk-sys rbspy-testdata |
Number of releases per crate
Number of unique versions of each crate, excluding yanked versions.
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 |
---|---|---|---|---|---|---|---|---|---|
4109 |
5629
|
8309
|
15924
|
28470
|
20809
|
18826
|
12954
|
15007
|
8212
|
mpdheart tfmt tower-request-id-nano vanitysol protopathy | cloudfront-logs golem-wasm-rpc kokoro-dynamic-plugin roxy_core david | simple_pg rai-core reluax amora-rs counter-cli | jpt hpl-macro-platform-gate genr fastxgz nodecraft | river-layout-toolkit binview sqlgen async-unsync redis-work-queue | cargo-dioxus u-siem-enricher igno unscanny rate-limits | actix_validated_forms_derive cardano_ouroboros_network nano-id build-data google-displayvideo1-cli | syntax-tree rawcmd_style sqlany-extfnapi minicov tokio-raw | mathew gysr postcard-cobs cryptonight str-macro | wc-grab app sivchain bigdecimal robots_txt |
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 |
---|---|---|---|---|---|---|---|---|---|
42529
|
26310
|
8906
|
16912
|
11289
|
13312
|
7642 | 7488 | 2657 | 1204 |
smb3_client beskar-assets json2pdf-client rust-calculator mz_rusoto_personalize_events | bi_channel strafe-consts tange-collection closure_study poly2tri-rs | bryte_descriptor_attribute romeo verbs-rs myxine-core kyber-kem | collective ceres-ri triadic-census trait_tests stm32f0x0 | avr-config tea-orm pluto diem-json-rpc-types tower_allowed_hosts | arpfloat spider_worker commandext thousands amqp_serde | rnet-gen gst-plugin-rusoto spdlog-rs cargo-up cose-rust | build-data fibonacci_codec mupdf gettext-macros steamid-ng | junit-report til namaste rubbl_casatables google-admin1_directory | block-utils gmp-mpfr-sys antikoerper h2 serde_qs |
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 |
---|---|---|---|---|---|---|---|---|---|
15768
|
11963
|
11814
|
17965
|
26574
|
16915
|
14009
|
9488
|
9640
|
4113 |
verbs-rs libpath astro-float dcrs strafe-consts | google-firebaseml1-cli iceyee_logger bonfida-utils miraland-rayon-threadlimit test_cargo515 | async-lock gfold htmlprep merge2_derive second-music-system | langbox smb3_client buildchain trans-flag async_ui_web_core | bspc-rs my-crate-kiana-123 caffe2op-prepend poly2tri-rs bitcoin-string | hugox bytey_derive dependency-tree-generator thread_local_compat env-searcher | rmem randomstringb bssl git-work gst-plugin-avi | ubiquity massdriver_gtk exonum-middleware-service javaclass-rs syntax-tree | celeste pleingres gregor cancellable-io spectacles-brokers | docker4rs grindstone dbus-bytestream ultimate-ttt tk-sendfile |
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.
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.
Categories
Number of crates in each category. Area is proportional to the number of crates weighed by their ranking (reduces spam). 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.
19364 | 1329 | 191 | 160 |
tokio | async-std | pollster | smol |
---|
1766 | 924 | 817 | 406 | 365 | 125 | 33 | 21 |
tower | axum | actix-web | warp | rocket | poem | rouille | gotham |
---|
3368 | 1602 | 1196 |
rustls | native-tls | openssl |
---|
1071 | 98 |
git2 | gix |
---|
38422 | 17543 | 469 |
log | tracing | slog |
---|
30807 | 19293 | 2919 | 1286 | 942 | 647 |
thiserror | anyhow | quick-error | eyre | snafu | miette |
---|
18568 | 904 | 271 | 247 | 101 |
clap | getopts | pico-args | argh | argparse |
---|
763 | 118 | 115 |
pulldown-cmark | comrak | markdown |
---|
10422 | 4897 | 25 |
toml | toml_edit | basic-toml |
---|
5281 | 2376 | 1265 | 1060 | 287 | 103 |
bincode | prost | protobuf | rmp-serde | ciborium | capnp |
---|
32836 | 187 | 60 | 21 | 12 |
serde_json | json5 | simd-json | miniserde | tinyjson |
---|
6681 | 3295 | 1403 | 283 | 78 | 23 |
nom | pest | combine | peg | pom | lalrpop |
---|
1693 | 1377 | 642 | 202 | 89 | 25 | 24 |
xml-rs | quick-xml | xmlparser | xml5ever | libxml | rxml | elementtree |
---|
5104 | 431 |
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.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.64 | |
1.63 | |
1.62 | |
1.61 | |
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.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.64 | |
1.63 | |
1.62 | |
1.61 | |
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 requests
This is based on preliminary request log data. This is not limited to real users, and includes automated traffic like CI.
This many crates.io requests… | 2% | 3% | 8% | 37% | 47% | 68% | 76% | 78% | 88% | 91.8% | 92.3% | 93.0% | 93.6% | 94.8% | 95.3% | 98.5% | 99.0% | 99.0% |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
…use this stable version of Rust or newer | 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.55+ | 1.50+ |
This many crates.io requests… | 0% | 1% | 1% | 2% | 3% | 3% | 3% | 4% | 4% | 4% | 5% | 5% | 5% | 5% | 5% | 6% | 6% | 6% |
…use this or newer nightly version of Rust | 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.55+ | 1.50+ |