Growth of the crates.io registry
Crate downloads are growing at a rate of 2.2× 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.8× higher than during weekends (down from 2.9× a year before).
There are 54,493 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 211696 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 |
|---|---|---|---|---|---|---|---|---|---|
|
31928
|
17604
|
17986
|
19850
|
16337
|
13597
|
11767
|
9929
|
8737
|
7280
|
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
59606
|
40647
|
13215
|
24500
|
16648
|
19535
|
11085 |
11427
|
4862 | 2276 | 319 |
| aws-unlock openvm-rv32-adapters anvil-liquid-derive insectbox exif-rs | haste-macro-loads simple-digraph mind_sdk_lb modifier_macro hashirama | poeledger-economy-data gpwg seaplane-oid daemon_console_lite pure-magic | salat_mv pipenet falco_schema_derive cgp-serde-typed-arena fromsoftware-dlrf-derive | mtf mpdclient-sys aws-ne-sys engula rsql_driver_delimited | moshi external_sort multiversx-sdk-http rasn-cdt theban_interval_tree | htmltoadf git2-hooks docsearch copy_on_write markup5ever_arcdom | polkadot-gossip-support vkrs postcard-derive soroban-ledger-snapshot rerobots | tokio-test flatc-rust base58 uds_windows ethcontract-generate | gstreamer-mpegts google-androidmanagement1-cli autocfg ffizer google-firebaseremoteconfig1 | fern libloading mozjs_sys diesel 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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
24715
|
16127
|
16492
|
23627
|
34033
|
26672
|
18912
|
14433
|
18512
|
9498
|
1099 |
| infrarust webarcade-api lr_rust_shared_structs boreal-parser bevy_la_mesa | ekzg-trusted-setup nu_plugin_chipa_touch plex-api shift sha256sum | wow-blp vconfig_codegen html-translation-lib rustdoc-json-stable ngdp-cdn | egs-api glslt_cli tokenize_dir_macros saguaro gimbal_async_cargo | arelith_combat_simulator bin-it RustQuant_autodiff portable-alloc cameleon-genapi | crates-publish-minimal nsi-core qubaitian_hello_cargo piconbiere netget | chord-output embedded-hal-vcd hass-entity-state enum-conversion-traits lol-core | stabilkon totally-ordered pylon-utils nash-protocol voxel-game | min-id storages hash_ring iridium-md rbt | ripper jtable maman pathfinder_path_utils littlefs | pokereval mustache_view safe_launcher bip_htracker pokerlookup |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
8099
|
8267
|
11652
|
20850
|
34720
|
31331
|
23911
|
19308
|
27025
|
15939
|
3018 |
| haste-macro-loads rom-analyzer omega-meta-sona bronzite-types webarcade-api | tutorio-stream calimero-dag anubis-rage physim-attribute structecs-macros | bred64 asic-rs secador-macro tauri-plugin-axum scalop | const-pkg-version livetrace paginator-utils luminos-container tokenize_dir_macros | reto bevyhub_core p2panda-store ant-libp2p-upnp sbus-rs | puteketeke rumor-server screeps-game-utils async_monad qubaitian_hello_cargo | group-varint-offset-encoding polkadot-gossip-support performant_encryption fast_async_trait vcard4 | voxel-game adsbx_browser abstractapi any_terminal_size wasmer-vfs | better-as yttrium_std_database_exists revaultd displaythis scythe_paths | ripper paho-mqtt-sys proxy-switcher-tray-applet galois_2p8 winpty-sys | moreops neon netstring bip_dht cargo-tree |
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 |
|---|---|---|---|---|---|---|---|---|---|---|
|
26024
|
9379
|
9588
|
7601
|
965 | 230 | 102 | 74 | 36 | 37 | 1 |
| dgoodlad nakajima mountain knzconnor kouky | vic zacheryph raggi osslate schacon | robey antage marcoow melito jwiegley | joshua-mo-143 levicook aruiz agrover xenoterracide | kou bobbobbio yvan-sraka theduke marirs svc-pdk_sfemu hsivonen Narsil | aws h00gs GabrielePicco MaulingMonkey TobiasBengtsson dylanmckay danieldk Keruspe | franziskuskiefer divi255 bmbper ahaoboy ryankurte aatifsyed soareschen mangonui | doitian noahgift uutils bmwill dignifiedquire vertexclique PistonDevelopers ma2bd | vpetrigo atlaschainorg therustmonk Manishearth PsichiX artifact-byted howardwu RickWinter | suzmue googleapis aptos-crates Azure mingyang91 Wandalen microsoft-oss-releases rusoto |
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 |
|---|---|---|---|---|---|---|---|---|
|
22410
|
70697
|
74940
|
13733 | 13267 | 3152 | 4909 | 973 | 39 |
| yttrium_std_database_exists modifier_macro megabytes rust-ggm-test zigbee2mqtt_types_vendor_zen | volcengine lightbird haste-macro-loads aws-ne-sys cacheguard | lr_rust_shared_structs aws-auth-payload quarantine fixlite droid-wrap-utils | bridge-hub-test-utils tauri-plugin-m3 fusion-core tune-cli gravitron_renderer | opsqueue ghostflow parity-db findutils cooklang-import | dayendar wlambda keramics-compression aws-sdk-codepipeline awsctx | aws-sdk-config scirs2-integrate sdif-sys ch58x-hal mcp-muse | tablegen image_ascii rubullet-sys bot homie | librclone-sys dynamorio-sys re_web_viewer_server stm32-metapac ffmpeg4-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.
| 36967 | 1557 | 398 | 292 |
| tokio | async-std | pollster | smol |
|---|
| 4778 | 2745 | 1225 | 577 | 538 | 157 | 41 | 20 |
| tower | axum | actix-web | rocket | warp | poem | rouille | gotham |
|---|
| 5986 | 2206 | 1779 |
| rustls | native-tls | openssl |
|---|
| 1738 | 231 |
| git2 | gix |
|---|
| 59742 | 33612 | 544 |
| log | tracing | slog |
|---|
| 59394 | 35886 | 3083 | 2740 | 1758 | 1384 |
| thiserror | anyhow | quick-error | eyre | snafu | miette |
|---|
| 30009 | 1330 | 598 | 369 | 119 |
| clap | getopts | pico-args | argh | argparse |
|---|
| 1244 | 241 | 229 |
| pulldown-cmark | markdown | comrak |
|---|
| 17756 | 10683 | 176 |
| toml | toml_edit | basic-toml |
|---|
| 9405 | 5445 | 2037 | 1577 | 1102 | 154 |
| bincode | prost | rmp-serde | protobuf | ciborium | capnp |
|---|
| 57670 | 448 | 390 | 65 | 22 |
| serde_json | json5 | simd-json | miniserde | tinyjson |
|---|
| 11172 | 5427 | 2249 | 689 | 172 | 25 |
| nom | pest | combine | peg | pom | lalrpop |
|---|
| 2712 | 2092 | 1106 | 344 | 95 | 32 | 24 |
| quick-xml | xml-rs | xmlparser | xml5ever | libxml | rxml | elementtree |
|---|
| 9578 | 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.79 | |
| 1.78 | |
| 1.77 | |
| 1.76 | |
| 1.75 | |
| 1.74 | |
| 1.73 | |
| 1.72 | |
| 1.71 | |
| 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.79 | |
| 1.78 | |
| 1.77 | |
| 1.76 | |
| 1.75 | |
| 1.74 | |
| 1.73 | |
| 1.72 | |
| 1.71 | |
| 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.17% of requests came from Rust versions older than 1.66.
| This many crates.io requests… | 0% | 2% | 17% | 42% | 62% | 68% | 74% | 76% | 81% | 86% | 87% | 90% | 91% | 98% | 98% | 99.1% | 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.78+ | 1.75+ | 1.74+ | 1.72+ | 1.70+ | 1.66+ |
| This many crates.io requests… | 2% | 4% | 5% | 6% | 6% | 6% | 7% | 7% | 7% | 7% | 7% | 7% | 8% | |||||
| …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.84+ | 1.82+ | 1.78+ |