Growth of the crates.io registry
Crate downloads are growing at a rate of 2.1× per year.
crates.io has served 559.2 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,375 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 216138 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 |
|---|---|---|---|---|---|---|---|---|---|
|
32099
|
17759
|
18212
|
20183
|
16651
|
13872
|
12019
|
10143
|
8948
|
7495
|
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
61057
|
41663
|
13767
|
24883
|
16864
|
19776
|
11113 | 11550 | 4885 | 2356 | 416 |
| anvil-liquid-derive exif-rs insectbox aws-unlock openvm-rv32-adapters | modifier_macro mind_sdk_lb simple-digraph hashirama zsync | twine_builder diesel_cockroach zigbee2mqtt_types_vendor_zen lightbird dir_contents | geph4-vpn-helper bcrypt-small easy-jsonrpc-mw scoop rustlite | rustronomy-fits p2panda-store wmill mazer-cli mpdclient-sys | warp-request-body theban_interval_tree joker ragged-buffer siwa | graph_mvcc sms-2dm salvo-cli disruption_types cast_checks_macro | exprtk_sys postcard-derive panic-msp430 clvm-utils mdbook-pdf-headless_chrome | debugless-unwrap path-dedot ethcontract-generate vertigo histo | libpulse-simple-binding direction unicode_names2 swc_ecma_codegen autocfg | fern libloading djangohashers epoll blip_buf |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
26506
|
16848
|
16976
|
24048
|
33791
|
26764
|
19251
|
14263
|
18982
|
9739
|
1162 |
| fixlite rlibc-extended beleth icao-wgs84 daemon_console_lite | droid-wrap-utils boreal-parser formidable-derive depyler-core insight-line | grow_libsql gilrs-core safehold wow-blp rocket_anyhow | mctp-usb-embassy mpl-account-compression smithay-egui subproductdomain-nucypher-temp5 megra_rs | bevyhub_core polkadot-runtime-releaser-lib wasm_seam embedded-websocket ipcheck-rs | trojan_rust linux-rust-bindings line_channel_access_token crypto-botters tree-sitter-gomod | rust-macios-objective-c-runtime-proc-macros lol-core num-sign wasi_snapshot_preview1 embedded-hal-vcd | comtrade nash-protocol istamon-qml-extras tide gfx-solana-utils | better-as mz_rusoto_route53resolver displaythis munch freeimage | largest-remainder-method mio-pool traitor artifact_serde frcds | recycler xsettings unum 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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
8964
|
9353
|
11758
|
21314
|
35007
|
31505
|
24234
|
19176
|
27554
|
16324
|
3141 |
| eva-rt-common celik astal-greet-sys beleth toon-lsp | daemon_console_lite rigatoni-stores myer lr_rust_shared_structs spellchk | blindpay parser-proxy-ws scalop safehold sub-registrar | drand48 git-bug fromsoftware-dlrf-derive subproductdomain-nucypher-temp5 ratio-metadata | hashirama tracing-proc-macros-ink traefik_wasm_api reto rengrep | keccak-asm gedcom-rs vectorscan-async trojan_rust async_monad | squ soroban-ledger-snapshot acir_field boreal-parser num-sign | morslate sia-macro darrentsung_debug_parser kyun manifest-gen | polyhorn-test butane revaultd dencode narwhal_me | tictactoe-rust tm4c-hal ring_queue display-link read_line | get_if_addrs xsettings isbnid rotor-stream directwrite |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
26428
|
9533
|
9732
|
7756
|
979 | 237 | 101 | 77 | 36 | 39 | 1 |
| mdub dursunkoc nakajima wiremine kouky | vic raggi schacon michaelmelanson pnathan | elliottslaughter nex3 jfernandez emkay bjeanes | thijsc jamescoleuk bankusy mpalmer xenoterracide | jondot Tpt rawkode marirs svc-pdk_sfemu legoktm upsuper Narsil | hko-s ananas-block danieldk alecmocatta milesj adam-gaia A1-Triard hardliner66 | bevyengine embark-studios kpcyrd j-mendez divi255 ahaoboy AbstractSDK matklad | shellrow rivy vertexclique mattsse mikevoronov OpenTalk-Bot bmwill valff | artifact-byted refcell sorpaas gkgoat1 Manishearth a-kenji-buildbot ruvnet PsichiX | coryan Azure suzmue dtolnay googleapis cool-japan piot azure-sdk |
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 |
|---|---|---|---|---|---|---|---|---|
|
22441
|
71314
|
77119
|
14402 | 13786 | 3236 | 5000 | 993 | 39 |
| rust-ggm-test openvm-rv32-adapters limon-client modifier_macro yttrium_std_database_exists | approx_eq cacheguard noem unc-abi-client-impl grrs-cli | rocket_anyhow valence_anvil aws-auth-payload quarantine anvil-liquid-derive | compio-quic dtt rona font-map-core imagnum | colorutils-rs rtran glulxe-sys amtrack_rs google-apigee1-cli | tic_tac_toe asdf-overlay-hook curve25519-dalek-fiat ra4m1-fsp-pac headwind | google-material-design-icons-bin scirs2-integrate easy-alias dotnetrawfilereader-sys nf-rated | cw-it tablegen run-clang-format rs_osrm switchboard-solana | musix efm32gg12b-pac wandio-sys ng-rocksdb re_web_viewer_server |
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.
| 38287 | 1563 | 421 | 286 |
| tokio | async-std | pollster | smol |
|---|
| 5063 | 2857 | 1243 | 579 | 542 | 156 | 42 | 20 |
| tower | axum | actix-web | rocket | warp | poem | rouille | gotham |
|---|
| 6202 | 2238 | 1795 |
| rustls | native-tls | openssl |
|---|
| 1782 | 245 |
| git2 | gix |
|---|
| 61471 | 35184 | 541 |
| log | tracing | slog |
|---|
| 62544 | 36514 | 3110 | 2799 | 1778 | 1491 |
| thiserror | anyhow | quick-error | eyre | snafu | miette |
|---|
| 30787 | 1363 | 622 | 379 | 119 |
| clap | getopts | pico-args | argh | argparse |
|---|
| 1276 | 250 | 219 |
| pulldown-cmark | markdown | comrak |
|---|
| 18710 | 11290 | 180 |
| toml | toml_edit | basic-toml |
|---|
| 9349 | 5657 | 2083 | 1608 | 1161 | 156 |
| bincode | prost | rmp-serde | protobuf | ciborium | capnp |
|---|
| 59959 | 454 | 421 | 67 | 22 |
| serde_json | json5 | simd-json | miniserde | tinyjson |
|---|
| 11504 | 5587 | 2308 | 695 | 174 | 25 |
| nom | pest | combine | peg | pom | lalrpop |
|---|
| 2778 | 2097 | 1127 | 351 | 95 | 32 | 24 |
| quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
|---|
| 9953 | 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. 88% of requests were from stable (non-nightly) Rust versions. Less than 0.11% of requests came from Rust versions older than 1.63.
| This many crates.io requests… | 0% | 8% | 48% | 55% | 64% | 70% | 74% | 77% | 81% | 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.83+ | 1.82+ | 1.80+ | 1.75+ | 1.74+ | 1.72+ | 1.70+ | 1.67+ | 1.63+ |
| This many crates.io requests… | 7% | 8% | 9% | 9% | 10% | 10% | 11% | 11% | 11% | 11% | 11% | 11% | 11% | 12% | |||||
| …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+ | 1.85+ | 1.83+ | 1.82+ | 1.80+ | 1.75+ |