Growth of the crates.io registry
Crate downloads are growing at a rate of 2.4× 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 63,067 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 259008 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 |
|---|---|---|---|---|---|---|---|---|---|
|
35383
|
19705
|
20499
|
23537
|
19394
|
16471
|
14430
|
12470
|
11178
|
9551
|
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
74171
|
53561
|
19317
|
30917
|
18431
|
21169
|
11890 | 12539 | 5445 | 2655 | 525 |
| dreamwell-runtime cmw openvm-rv32-adapters anvil-liquid-derive insectbox | tremor simple-digraph modifier_macro mind_sdk_lb zsync | vpb runtara-protocol zigbee2mqtt_types_vendor_zen jiminy yazi-shim | unitforge_macros smol-macros daemon_console_lite rustdoc-json-stable libpetri-verification | object-rainbow-json signal-gen-cjds66-lib oceanpkg engula colorconv | hass-entity-state marlin-verilog bevy_flair_style rhaki-cw-plus quaso | storm-config url-parse qm-s3 zng-wgt-webrender-debug rooting-forms | criterion-macro pi_slotmap pi_slotmap_tree regecs-codegen sc-consensus-beefy-rpc | chalk-recursive koto_json deadpool-postgres debugless-unwrap mio-pidfd | ego sha2-asm tari_core io-enum stm32l0 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
44331
|
25301
|
22517
|
25564
|
34820
|
27231
|
21914
|
14614
|
21466
|
11213
|
1649 |
| sp-crypto-ec-utils aws-smithy-http-client-reqwest http-field vello_sparse_shaders logicpearl-build | elegans taproot-assets-zk-verifier raclettui mpl-agent-reputation certo | zinit_server humble-cli dotnet-lens rustler_logger_macro paginator-utils | unen_logging plex-api shift unleash-edge-edge-api safehold | otlp-stdout-client maelstrom-broker aum-core write_mode antlr-runtime-sys | wecom-agent tray-item wrpc-transport-derive-macro fufu flagged | schema-derive associative_positional_list libcli-rs packler tokio-io-utility | polyrhythm gxrfetch proc-lock-api bitrange ruquotes | amiya pic2lcd gig-cli fcp_cryptoauth wrap_result | seinbot-rs meander spectacles-rest osaka-macros dinner | wesley pabst tungsten feaders quale |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
19933
|
20284
|
18431
|
22865
|
36968
|
31887
|
27362
|
19748
|
30545
|
18528
|
4069 |
| egui_component_style_macros devsper-bus only-lsp affinidi-vc lmntalc-core | elegans taproot-assets-zk-verifier jwtea rho-server perch | runtara-protocol rsxtk fyi-core rustler_logger_macro ribir-bot | kaniop-group prism3-config expr-solver-bin sxurl unleash-edge-edge-api | kcr_operator_authorino_kuadrant_io insight-line kcr_dataprotection_kubeblocks_io api_req libhans | zng-wgt-webrender-debug icao-wgs84 wintab_lite shifty scopegraphs-regular-expressions | structfromdir clp-src ndarray-slice sbat mikktspace-sys | noble-did heterob logisheets_base irv-traits usiagent | glslt_cli raui-tesselate-renderer poirebot-lichess unftp-auth-pam noble-staking | pincli sophon-types-serialize ruuvitag-upload hunspell-sys susydev-jsonrpc-pubsub | wesley pabst luminance-gl arraymap pcb |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
29746
|
10758
|
11090
|
9211
|
1187 | 308 | 123 | 89 | 47 | 51 | 2 |
| corasaurus-hex fd canadaduane dgoodlad macournoyer | osteele raggi michaelmelanson mountain vic | oleganza muness mikea Abica paulstansifer | levicook mazdak lsegal kolektiv shift | apache jjl l1x devrandom community-stevedores-org birkenfeld dherman navicore | nightness brayniac kardeiz Nugine arcnmx h00gs appcypher soywod | losfair foresterre franziskuskiefer rvolosatovs rise0chen matklad fluencebot nikomatsakis | denobot doitian dfinity DanielleHuisman elsirion bmwill gengteng dfinity-publish | therustmonk mosure artifact-byted wasmerio RickWinter drzln Dirbaio tony-iqlusion | simlay cloud-sdk-rust-bot mammothbane mingyang91 aptos-crates googleapis eugenehp mattsse |
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 |
|---|---|---|---|---|---|---|---|---|
|
24248
|
77744
|
97465
|
20392
|
19271
|
4128 | 6110 | 1223 | 39 |
| modifier_macro zigbee2mqtt_types_vendor_zen simple-digraph umbrae-dlmm-sdk megabytes | nesting rusqlite-struct-derive easy_rdev_key jams-proto edrv-ltr390uv | smol-macros crcnt_rbac teacat_lib devsper-bus seqc | broomva sapter flowcore rust-corosync npsimd | brk_rolldown_common ghostflow woofmt rsjsonnet-lang html5gum | rsfdisk mantaray asciit tui-pantry curve25519-dalek-fiat | system-theme R413D08 google-fonts-glyphsets libsui ch58x-hal | icu_experimental_data rustimate-assets loki-ai mdriver stm32f7-staging | sniffnet stm32-metapac re_web_viewer_server bpe-tokenizer jni-android-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.
| 52492 | 1594 | 639 | 348 |
| tokio | async-std | pollster | smol |
|---|
| 8065 | 5156 | 1340 | 599 | 577 | 162 | 50 | 20 |
| tower | axum | actix-web | rocket | warp | poem | rouille | gotham |
|---|
| 8202 | 2615 | 1955 |
| rustls | native-tls | openssl |
|---|
| 2218 | 358 |
| git2 | gix |
|---|
| 76500 | 49951 | 542 |
| log | tracing | slog |
|---|
| 87593 | 48588 | 3623 | 3321 | 2184 | 2099 |
| thiserror | anyhow | quick-error | eyre | snafu | miette |
|---|
| 39116 | 1852 | 926 | 430 | 122 |
| clap | getopts | pico-args | argh | argparse |
|---|
| 1856 | 442 | 336 |
| pulldown-cmark | comrak | markdown |
|---|
| 25840 | 13497 | 253 |
| toml | toml_edit | basic-toml |
|---|
| 10856 | 7263 | 3026 | 1920 | 1669 | 184 |
| bincode | prost | rmp-serde | protobuf | ciborium | capnp |
|---|
| 82834 | 1238 | 574 | 72 | 29 |
| serde_json | json5 | simd-json | miniserde | tinyjson |
|---|
| 14383 | 7317 | 2718 | 899 | 291 | 25 |
| nom | pest | combine | peg | pom | lalrpop |
|---|
| 4246 | 2219 | 1412 | 514 | 100 | 32 | 25 |
| quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
|---|
| 13108 | 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. 92% of requests were from stable (non-nightly) Rust versions. Less than 0.19% of requests came from Rust versions older than 1.60.
| This many crates.io requests… | 0% | 2% | 28% | 40% | 51% | 60% | 67% | 71% | 73% | 75% | 82% | 84% | 86% | 87% | 88% | 98% | 99.1% | 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.82+ | 1.80+ | 1.75+ | 1.70+ | 1.69+ | 1.66+ | 1.64+ | 1.60+ |
| This many crates.io requests… | 2% | 3% | 4% | 4% | 6% | 7% | 7% | 7% | 7% | 7% | 7% | 7% | 7% | 7% | 7% | 8% | |||||
| …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.82+ | 1.80+ | 1.75+ |