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 144.7 million downloads in a single day, which is more than all downloads in the first 24 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.7× a year before).
Number of users/teams owning a crate on crates.io
There are 36,973 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 142194 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 |
---|---|---|---|---|---|---|---|---|---|
26349
|
13108
|
13149
|
13687
|
11003
|
8754
|
7132
|
6173
|
5453
|
4512 |
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 |
---|---|---|---|---|---|---|---|---|
63734
|
44301
|
6589 | 7065 | 1778 | 2608 | 632 | 47 | 11 |
autorand portable_atomic_enum_macros bevy_sand fabric-system-benchmarking holochain_conductor_services | gtfo cc-multimap rustpython-jit mmap-bitvec pslink-app | gfx-swap omuchat-tauri-plugin-server ru-openai gstreamer-rtp toml | weasel fruity html-languageservice tera-v1 stm32g473-hal_oppe | slumber tree-sitter-php curve25519-dalek-fiat proxyboi aws-sdk-ses | telraam-rs trenchcoat tidy-sys polodb_core async-stripe | fzf-make rustybam pdfium-render qants fltk-fluid | chinese_dictionary windows lief-sys wycheproof snarkvm-parameters | v8 bevy-glsl-to-spirv mozjs_sys difftastic libbgpstream-sys |
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 |
---|---|---|---|---|---|---|---|---|---|
4125 |
5493
|
8118
|
16286
|
27686
|
20980
|
18222
|
12588
|
14641
|
7891
|
restless-query warpack-core retroboy_chip8 obs-countdown rstrpc-macros | openlibspot-discovery ineffable hpl-toolkit-macro-merkle-tree-apply-fn-deep hpl-toolkit-macro-merkle-tree-utils slicemath | ibc-core-client-types killports search-bot sphere-n-rs talos_messenger_core | loose-liquid-derive flacenc-bin ulib-derive goxoy-fragmented-db abstract-cw-multi-test | gmt_dos-clients_m1-ctrl spoderman rust-patch cosmian_ffi_utils rust_project_reader | git-submodule coneman zine keyword-parser sequencer | cmudict-fast wispr-bsp pravega-connection-pool classic_crypto wasm_plugin_host | mqttrust hyperbole wiggle-runtime find-tldr roolz | openpty wesm crimp hotmic-stdout routine | miasht stm32f100xx tokio-lookup planet aspen |
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 |
---|---|---|---|---|---|---|---|---|---|
41982
|
25933
|
8881
|
16372
|
11165
|
13048
|
7566 | 7310 | 2611 | 1162 |
qli pulz socrates-core fabric-system-benchmarking bevy_sand | haltia riostream keyword-parser rust_c02_signal iron-middlefiddle | serde-map-to-array megane statslicer touch_event mlo-chacha20-rs | headifier sd-jwt-rs raplay audiobook_server throttled_json_rpc | google_translator json-value apdu fxdatapi rust_abf | azalea-nbt ablavema gert minisat youran | display_bytes crabst ink_lang_ir gitignores sharesight-reqwest | tectonic_io_base badder_lang chan monoid ffi_utils | hexyl bitcoincore-rpc owned_chars path-absolutize short-crypt | gmp-mpfr-sys fallible-iterator yubirs dtoa exempi-sys |
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 |
---|---|---|---|---|---|---|---|---|---|
16545
|
10753
|
11686
|
18720
|
25307
|
17038
|
13498
|
9167
|
9405
|
3911 |
rspotifys biome_aria google-realtimebidding1 mpmfnum blosc2-rs | edge-net bitbelay-report snp_sminigrep calx_vm addr_of_enum_macro | pixls_grep_rust mdbook-dtmo evcxr_repl jmfm dup-indexer | rings unsized-maybe-uninit r18-proc-macros yx y-octo | trie-root serde-query-derive jasper ptstd quad3 | atsamv70j20 test-env-helpers pirs bucket trim-go-asm | is_false oxigen megane wispr-bsp fs-swap | mew imxrt1062-flexram urlqstring libimagentrytag multicast_dns | taro niliter wesm proc-spirv wirefilter-engine | tokio-lookup cryogen_prelude wacom-sys dbus-bytestream warn |
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.
18964 | 1311 | 185 | 153 |
tokio | async-std | pollster | smol |
---|
1701 | 879 | 809 | 411 | 362 | 122 | 34 | 21 |
tower | axum | actix-web | warp | rocket | poem | rouille | gotham |
---|
3304 | 1593 | 1172 |
rustls | native-tls | openssl |
---|
1050 | 94 |
git2 | gix |
---|
37790 | 17080 | 457 |
log | tracing | slog |
---|
30023 | 19196 | 2919 | 1240 | 928 | 630 |
thiserror | anyhow | quick-error | eyre | snafu | miette |
---|
18234 | 893 | 267 | 245 | 100 |
clap | getopts | pico-args | argh | argparse |
---|
749 | 118 | 105 |
pulldown-cmark | comrak | markdown |
---|
10228 | 4744 | 23 |
toml | toml_edit | basic-toml |
---|
5132 | 2319 | 1249 | 1057 | 267 | 103 |
bincode | prost | protobuf | rmp-serde | ciborium | capnp |
---|
32189 | 185 | 55 | 20 | 12 |
serde_json | json5 | simd-json | miniserde | tinyjson |
---|
6529 | 3246 | 1400 | 276 | 77 | 23 |
nom | pest | combine | peg | pom | lalrpop |
---|
1677 | 1355 | 629 | 202 | 89 | 24 | 24 |
xml-rs | quick-xml | xmlparser | xml5ever | libxml | elementtree | rxml |
---|
4983 | 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… | 1% | 1% | 17% | 47% | 57% | 77% | 84% | 86% | 90.9% | 94.8% | 96.2% | 96.6% | 97.1% | 97.6% | 98.0% | 99.4% | 99.6% |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
…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+ |
This many crates.io requests… | 0% | 13% | 16% | 16% | 17% | 17% | 17% | 18% | 18% | 18% | 18% | 18% | 18% | 19% | 19% | 19% | 19% |
…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+ |