Growth of the crates.io registry
Crate downloads are growing at a rate of 2.2× per year.
crates.io has served 567.9 million downloads in a single day, which is more than all downloads in the first 41 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 55,490 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 216733 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 |
|---|---|---|---|---|---|---|---|---|---|
|
32220
|
17774
|
18235
|
20210
|
16688
|
13894
|
12044
|
10165
|
8979
|
7514
|
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
61260
|
41805
|
13805
|
24948
|
16887
|
19807
|
11123 | 11560 | 4902 | 2359 | 418 |
| exif-rs openvm-rv32-adapters aws-unlock insectbox anvil-liquid-derive | modifier_macro simple-digraph hashirama mind_sdk_lb zsync | approx_eq poeledger-economy-data uv-pep508 lightbird zigbee2mqtt_types_vendor_zen | kmail torq_lang migratio fromsoftware-dlrf-derive harness-probe-perf | mpdclient-sys rsql_driver_delimited nintendo-lz vino-provider oceanpkg | cardinal-paid-claim-approver tauri-plugin-m3 jsonrpc-async valence_anvil brisk-eframe | serde_json5 staticsort cast_checks_macro evcxr_image salvo-cli | polkadot-gossip-support paris vkrs tectonic_bridge_harfbuzz panic-msp430 | ethcontract-generate bevy_reflect_derive debugless-unwrap wasmer-c-api upnp-daemon | logos unicode_names2 open_ai poston base64-serde | fern libloading imageproc djangohashers epoll |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
26647
|
16939
|
17142
|
24084
|
33777
|
26783
|
19271
|
14263
|
19027
|
9763
|
1178 |
| googleapis-tonic-google-cloud-cloudcontrolspartner-v1beta gix-trace infrarust cargo-cycles koto_geometry | sha256sum datafusion meshtnc bevy_la_mesa hotaru_core | gilrs-core aws_utils_firehose fundamentum-iot-mqtt-proto tw_merge_variants scalop | mctp-usb-embassy hp_tr_finder zapvault anathema-strings screencap | mockingparrot url_handler bevyhub_core rengrep embedded-websocket | line_channel_access_token jupyter async_monad triseratops jadesrandomutil | wasi_snapshot_preview1 crcnt_rbac pty2 libopenraw-sys facebook-graph-api-object-error | uddsketch adsbx_browser tide totally-ordered avanza | cargo-llvm-codecov-converter polyhorn-test grrs-henry-hao wolfsay kdmapi | wasm-typescript-definition lpc11uxx zwr plotfx adder_of_sean | moreops functor miso libstrophe-sys ruplicity |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
9131
|
9424
|
11767
|
21455
|
35005
|
31487
|
24312
|
19160
|
27592
|
16381
|
3160 |
| eva-rt-common facet-postcard zinit_server eulumdat-ffi pezcumulus-pezpallet-xcm | sifredb-derive arct-tui rustlite fusion-core hyprtask | parser-proxy-ws pibtool-stock-data sbm-rs emscripten_rs_sys nesting | xrechnung this-env teacat_lib anvil-liquid-derive git-bug | mc-cli traefik_wasm_api crc32fast-lib polkadot-runtime-releaser-lib hashirama | qingke-rt noise-algebra vector-expr smol-macros aws-sdk-networkmonitor | soroban-ledger-snapshot dimensional_quantity courses tritium_remote dynamodb-tester | docbot-derive localzone kyun tree-sitter-json tongrams | subcryptor ckb-sentry-backtrace better_term scall async-global-executor-trait | libp2p-mplex tictactoe-rust jws gitmoji-changelog-rust virtdisk-rs | get_if_addrs isbnid cdb directwrite miso |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
26497
|
9548
|
9740
|
7773
|
983 | 237 | 103 | 77 | 36 | 39 | 1 |
| canadaduane wess caius dgoodlad fd | mudge vic pnathan deontologician schacon | ratmice Tristramg oleganza emkay antage | walkah jedbrown clifton thequux vitorpy | Tpt dherman amandasaurus mre marirs jjl srctrait ehuss | devolutionsinfra hardliner66 tyleo alecmocatta marc2332 ananas-block stellar-crates arcnmx | soareschen AbstractSDK rvolosatovs bevyengine kpcyrd j-mendez rise0chen snnsnn | unicode-org bmwill HKalbasi rust-lang shellrow OpenTalk-Bot mattsse gengteng | vpetrigo RickWinter silwol miralandlabs Dirbaio swc-bot therustmonk Traverse-Research-CI-runner | cool-japan seam345 dtolnay Azure sdroege azure-sdk RustCrypto newpavlov |
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 |
|---|---|---|---|---|---|---|---|---|
|
22534
|
71386
|
77345
|
14461 | 13858 | 3239 | 5014 | 998 | 39 |
| pbbot rust-ggm-test zigbee2mqtt_types_vendor_zen simple-digraph yttrium_std_database_exists | write_mode nesting rename grrs-cli unc-abi-client-impl | hashtree-fs egui-datepicker fxp_clutter aws-auth-payload drt-price-aggregator-sc | compio-quic avx-gis-desktop sapter imagnum npsimd | audiobook-forge blueprint-chain-setup-common geoarrow-array ryot icondata_cg | miv-editor kn-cuda-eval tic_tac_toe lpc13xx-pac esp32s2 | bevy_flair devstrip easy-alias dotnetrawfilereader-sys duroxide | switchboard-solana bevy_crt cw-it cargo-glados clfft | efm32wg-pac stm32-metapac occt-sys mysqlclient-src 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.
| 38439 | 1565 | 424 | 301 |
| tokio | async-std | pollster | smol |
|---|
| 5093 | 2873 | 1249 | 580 | 542 | 156 | 42 | 20 |
| tower | axum | actix-web | rocket | warp | poem | rouille | gotham |
|---|
| 6225 | 2239 | 1795 |
| rustls | native-tls | openssl |
|---|
| 1788 | 246 |
| git2 | gix |
|---|
| 61593 | 35351 | 544 |
| log | tracing | slog |
|---|
| 62832 | 36641 | 3111 | 2805 | 1781 | 1498 |
| thiserror | anyhow | quick-error | eyre | snafu | miette |
|---|
| 30878 | 1367 | 626 | 378 | 120 |
| clap | getopts | pico-args | argh | argparse |
|---|
| 1281 | 250 | 239 |
| pulldown-cmark | markdown | comrak |
|---|
| 18779 | 11322 | 180 |
| toml | toml_edit | basic-toml |
|---|
| 9374 | 5681 | 2092 | 1610 | 1163 | 156 |
| bincode | prost | rmp-serde | protobuf | ciborium | capnp |
|---|
| 60182 | 458 | 428 | 67 | 22 |
| serde_json | json5 | simd-json | miniserde | tinyjson |
|---|
| 11532 | 5593 | 2311 | 699 | 177 | 25 |
| nom | pest | combine | peg | pom | lalrpop |
|---|
| 2801 | 2106 | 1131 | 351 | 95 | 32 | 24 |
| quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
|---|
| 9977 | 494 |
| 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.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.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. 89% of requests were from stable (non-nightly) Rust versions. Less than 0.1% of requests came from Rust versions older than 1.63.
| This many crates.io requests… | 0% | 7% | 45% | 53% | 64% | 70% | 75% | 78% | 82% | 85% | 86% | 89% | 90% | 98% | 98% | 98% | 99.6% | 99.7% | 99.8% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| …use this stable version of Rust or newer | 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.79+ | 1.75+ | 1.74+ | 1.72+ | 1.70+ | 1.67+ | 1.63+ |
| This many crates.io requests… | 6% | 7% | 8% | 9% | 9% | 10% | 10% | 10% | 11% | ||||||||||
| …use this or newer nightly version of Rust | 1.94+ | 1.93+ | 1.92+ | 1.91+ | 1.90+ | 1.89+ | 1.88+ | 1.87+ | 1.86+ |