Lib.rs › Stats

Rust crates ecosystem statistics.

Growth of the crates.io registry

Download history of all crates since 2015 20M 39M 59M 78M 98M 117M 2015 2016 2017 2018 2019 2020 2021 2022 2023

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).

36973 crate owners registered on crates.io 6K 12K 18K 24K 30K 36K 2015 2016 2017 2018 2019 2020 2021 2022 2023

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
10 11 ≥12 ≥14 ≥16 ≥18 ≥20 ≥25 ≥30 ≥40 ≥60 ≥80 ≥100 ≥120 ≥150
3582
3355
4992
3578
2698
1966
2770
1535
1409
656
114
37
10
3
5
cargo-memex llvm-mapper statusline fs-librarian holochain_conductor_services superviseur-webui ptstd progpow aicommits-rs avalanche-network-runner-sdk open-library google-realtimebidding1 tracing-actions-otlp pslink-app ocean ssip-client-async valkyrie-types toolbox-rs eosio-client-api indexnow aws-sdk-backupgateway freya-devtools aws-sdk-cloudfront miraland-connection-cache axum-template fqkit polkadot-availability-distribution swc_ecma_transforms_testing favicon-rover aws-sdk-finspacedata tonel zine storm-cli toml-bombadil c5store gfx-swap turntable tea-runtime-codec bulwark-wasm-host audiobook_server beetle-bitswap-next briteverify-rs redirectionio xwin ftzz prompt-graph-exec vapcore-snapshot webrtc-unreliable-client esp-hal-common torrust-tracker asset-hub-polkadot-runtime northstar-runtime izihawa-tantivy tc-service ibc-relayer surrealdb-sql denox polkadot-parachain-bin bridge-hub-rococo-runtime bitcoin-top homestar-runtime deno polkadot-service veilid-core staging-kusama-runtime zero4rs coreutils holochain apollo-router forest-filecoin zigbee2mqtt-types homestar-workspace-hack uhg-custom-appollo-roouter

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.

1 2 ≥4 ≥8 ≥16 ≥32 ≥50 ≥100 ≥500
44308
33645
26525
17033
8941
2959
2007
568
44
pulz qli bevy_sand fabric-system-benchmarking socrates-core iron-middlefiddle rust_c02_signal eventastic zigbee2mqtt_types_vendor_prolight keyword-parser opentalk-proc-macro-fields-helper kstat-rs msix pocketsphinx-sys nebula-fbthrift-graph-v2 biome_markup sxd-xpath biome_aria html-tags ex3-asset-vault-public-types tokenlock libtelnet-rs sharesight-reqwest risc0-binfmt magnet_derive tracing-awc lichessbot memsec glib-sys exon-gff dominator goban alt-stm32f30x-hal self_update ex3-core-registry-client musli-macros wast glean-ffi create-tauri-app wasmtime-wasi swc_ecma_codegen swc_ecma_transforms_base rustc-ap-rustc_errors google-api-proto swc_ecma_transforms_react

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.

1 2 ≥5 ≥15 ≥50 ≥100 ≥250 ≥500 ≥750 ≥1000 ≥2500 ≥5000 ≥10000 ≥15000 ≥20000 ≥50000
18711
14083
8118
4270
1421
1166
552
276
164
372
161
95
49
31
92
13
unsized-stack ic-stable-memory-derive lingua-nynorsk-language-model reqwest_inspect_json logstash-rs ngyn_shared robotstxt freya-renderer oil_shared loam-sdk etwin_dinoparc_store xvc-walker opentracingrust zyx-core millennium-utils off64 gitignore risc0-zkvm esp-backtrace elements pallet-xcm rouille grid_2d shellwords quicli tetsy-kvdb gstreamer-base sp-keyring safetensors skim portpicker cw721 futures-test ole32-sys salsa flatbuffers cudnn cudnn-sys atomic-take sqlx-mysql jsonrpsee-types term-painter swc_ecma_ast mt19937 btoi frame-metadata radsort paste-impl dissimilar aquamarine rust-crypto tui tokio-service spl-associated-token-account sp-keystore color-eyre windows-implement wasm-bindgen-test-macro bevy_utils_proc_macros cpp_demangle wasm-bindgen-test servo_arc bytes-utils x11-dl shellexpand fs_extra dotenvy aes-gcm bevy_reflect snafu-derive error-code chacha20 bytestring trybuild impl-codec ed25519 crossbeam-queue value-bag blake3 crossbeam pretty_assertions tower async-stream-impl ndk-sys sha-1 stable_deref_trait strum_macros security-framework-sys derivative fuchsia-cprng futures-lite allocator-api2 os_str_bytes sct cexpr sync_wrapper tokio-macros rayon-core num-conv time-core env_logger clap_derive atty clap_builder rayon http-body sha2 cpufeatures h2 time walkdir rand_chacha fastrand want crypto-common slab url equivalent futures-channel core-foundation-sys getrandom socket2 crossbeam-utils winapi-util web-sys memchr serde autocfg unicode-ident bitflags log serde_derive proc-macro2 syn libc

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
17656
6393
6580
4993
633
118
66
40
14
22
1
robey canadaduane tolbrino ernesto-jimenez fd kouky deontologician melito raggi zacheryph wa1aric michaelmelanson andy128k cablehead bjc emkay gnosek briansmith madninja ryanmcgrath daaku inre davvid zimbatm Jasper-Bekkers filmil Ralith teythoon youknowone amandasaurus yvan-sraka nbari eclipse-zenoh-bot Battula-anil-app-could vercel BrantBrown ashWhiteHat rustpark ForsakenHarmony cramertj dsherret ematipico iliana Michael-F-Bryan huachaohuang GaiaWorld gear-tech tauri-bot matthiasbeyer servo uutils mikevoronov richardanaya boozook bytecodealliance gridbugs cart matthewkmayer Traverse-Research-CI-runner mingyang91 Manishearth yoshuawuyts clearloop vpetrigo MaterializeInc vkill cataggar sdroege seam345 Azure kdy1 oovm

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.

Procedural macros (5737) Procedural macros (5737)Proc macros 5737 Rust patterns (4588) Rust patterns (4588)Rust patterns 4588 Concurrency (1662) Concurrency (1662)Concurrency 1662 Web programming (6151) Web programming (6151)Web programming 6151 WebAssembly (2191) WebAssembly (2191)WebAssembly 2191 HTTP server (1950) HTTP server (1950)HTTP server 1950 HTTP client (709) HTTP client (709)HTTP HTTP client (709)client 709 WebSocket (426) WebSocket (426)WebSocket 426 Network programming (7990) Network programming (7990)Network programming 7990 Asynchronous (3032) Asynchronous (3032)Async 3032 Magic Beans (9775) Magic Beans (9775)Crypto Magic Beans 9775 Development tools (3455) Development tools (3455)Development tools 3455 Testing (1158) Testing (1158)Testing 1158 Debugging (1113) Debugging (1113)Debugging 1113 Cargo plugins (993) Cargo plugins (993)Cargo Cargo plugins (993)plugins 993 Build Utils (932) Build Utils (932)Build Build Utils (932)Utils 932 Profiling (497) Profiling (497)Profiling FFI (420) FFI (420)FFI Command line utilities (6377) Command line utilities (6377)Command line utilities 6377 Command-line interface (1329) Command-line interface (1329)Command-line interface 1329 Embedded development (3185) Embedded development (3185)Embedded Embedded development (3185)development 3185 Hardware support (2887) Hardware support (2887)Hardware Hardware support (2887)support 2887 No standard library (546) No standard library (546)No standard No standard library (546)library Math (2480) Math (2480)Math 2480 Machine learning (1381) Machine learning (1381)Machine learning 1381 Science (1380) Science (1380)Science 1380 Biology (371) Biology (371)Biology 371 Geospatial (310) Geospatial (310)Geo Robotics (251) Robotics (251)Robots Database interfaces (4154) Database interfaces (4154)Database interfaces 4154 Database implementations (489) Database implementations (489)Database Parser implementations (4346) Parser implementations (4346)Parser implementations 4346 Parser tooling (421) Parser tooling (421)Parser tooling Text processing (2726) Text processing (2726)Text processing 2726 Template engine (841) Template engine (841)Template Template engine (841)engine 841 Text editors (611) Text editors (611)Editors 611 Value formatting (448) Value formatting (448)Value formatting 448 Game dev (3236) Game dev (3236)Game dev 3236 Games (1233) Games (1233)Games 1233 Audio (1517) Audio (1517)Audio 1517 Images (1266) Images (1266)Images 1266 Video (633) Video (633)Video Multimedia (510) Multimedia (510)Multimedia Cryptography (3653) Cryptography (3653)Cryptography 3653 Algorithms (3598) Algorithms (3598)Algorithms 3598 Unix APIs (1402) Unix APIs (1402)Unix APIs 1402 Operating systems (1072) Operating systems (1072)OS 1072 Windows APIs (831) Windows APIs (831)Windows APIs 831 macOS and iOS APIs (231) macOS and iOS APIs (231)Apple Data structures (3414) Data structures (3414)Data structures 3414 Encoding (3250) Encoding (3250)Encoding 3250 Filesystem (2271) Filesystem (2271)Filesystem 2271 Graphics APIs (1498) Graphics APIs (1498)Graphics APIs 1498 Rendering (493) Rendering (493)Rendering 493 Data formats (166) Data formats (166)Formats Rendering engine (99) Rendering engine (99)Engine GUI (1752) GUI (1752)GUI 1752 Programming languages (1609) Programming languages (1609)Lang 1609 Authentication (1436) Authentication (1436)Auth 1436 Configuration (1225) Configuration (1225)Config 1225 Memory management (990) Memory management (990)Memory management 990 Compression (945) Compression (945)Compression 945 Date and time (709) Date and time (709)Date and time Visualization (612) Visualization (612)Visualize 612 Emulators (517) Emulators (517)Emulators 517 Internationalization (i18n) (510) Internationalization (i18n) (510)i18n Simulation (517) Simulation (517)Sim Email (495) Email (495)Email 495 Caching (480) Caching (480)Cache 480 Finance (380) Finance (380)Finance 380 Accessibility (77) Accessibility (77)a11y

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.

Runtimes
189641311185153
tokioasync-stdpollstersmol
Web frameworks
17018798094113621223421
toweraxumactix-webwarprocketpoemrouillegotham
TLS clients
330415931172
rustlsnative-tlsopenssl
git clients
105094
git2gix
Loggers
3779017080457
logtracingslog
Error handling
300231919629191240928630
thiserroranyhowquick-erroreyresnafumiette
Argument parsers
18234893267245100
clapgetoptspico-argsarghargparse
Markdown parsers
749118105
pulldown-cmarkcomrakmarkdown
TOML parsers
10228474423
tomltoml_editbasic-toml
Binary encoders
5132231912491057267103
bincodeprostprotobufrmp-serdeciboriumcapnp
JSON parsers
32189185552012
serde_jsonjson5simd-jsonminiserdetinyjson
Parser generators
6529324614002767723
nompestcombinepegpomlalrpop
XML parsers
16771355629202892424
xml-rsquick-xmlxmlparserxml5everlibxmlelementtreerxml
Temp files
4983431
tempfiletempdir

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

RustcOK / No data / Broken deps / Incompatible
1.77 90% compatible 9% no data 0% not compatible because of dependencies 0% not compatible
1.76 90% compatible 9% no data 0% not compatible because of dependencies 0% not compatible
1.75 89% compatible 10% no data 0% not compatible because of dependencies 0% not compatible
1.74 87% compatible 11% no data 0% not compatible because of dependencies 0% not compatible
1.73 86% compatible 12% no data 1% not compatible because of dependencies 0% not compatible
1.72 85% compatible 13% no data 1% not compatible because of dependencies 0% not compatible
1.71 84% compatible 13% no data 1% not compatible because of dependencies 0% not compatible
1.70 83% compatible 14% no data 2% not compatible because of dependencies 1% not compatible
1.69 80% compatible 14% no data 5% not compatible because of dependencies 2% not compatible
1.68 78% compatible 15% no data 6% not compatible because of dependencies 3% not compatible
1.67 76% compatible 16% no data 6% not compatible because of dependencies 3% not compatible
1.66 73% compatible 18% no data 7% not compatible because of dependencies 3% not compatible
1.65 72% compatible 18% no data 9% not compatible because of dependencies 3% not compatible
1.64 68% compatible 21% no data 10% not compatible because of dependencies 4% not compatible
1.63 66% compatible 19% no data 13% not compatible because of dependencies 5% not compatible
1.62 62% compatible 22% no data 14% not compatible because of dependencies 6% not compatible
1.61 61% compatible 22% no data 16% not compatible because of dependencies 6% not compatible
1.60 59% compatible 22% no data 17% not compatible because of dependencies 6% not compatible
1.56 48% compatible 25% no data 26% not compatible because of dependencies 13% not compatible
1.55 40% compatible 4% no data 55% not compatible because of dependencies 52% not compatible
1.50 36% compatible 4% no data 58% not compatible because of dependencies 53% not compatible
1.45 31% compatible 6% no data 61% not compatible because of dependencies 54% not compatible
1.40 27% compatible 6% no data 65% not compatible because of dependencies 54% not compatible
1.35 21% compatible 8% no data 70% not compatible because of dependencies 56% not compatible
1.31 16% compatible 9% no data 74% not compatible because of dependencies 57% not compatible
1.30 7% compatible 2% no data 90% not compatible because of dependencies 89% not compatible
1.25 6% compatible 2% no data 90% not compatible because of dependencies 89% not compatible

4000 most recently updated crates

RustcOK / No data / Broken deps / Incompatible
1.77 71% compatible 28% no data 0% not compatible because of dependencies 0% not compatible
1.76 71% compatible 28% no data 0% not compatible because of dependencies 0% not compatible
1.75 66% compatible 30% no data 2% not compatible because of dependencies 2% not compatible
1.74 59% compatible 33% no data 6% not compatible because of dependencies 4% not compatible
1.73 54% compatible 35% no data 9% not compatible because of dependencies 6% not compatible
1.72 51% compatible 38% no data 10% not compatible because of dependencies 7% not compatible
1.71 49% compatible 37% no data 13% not compatible because of dependencies 8% not compatible
1.70 46% compatible 37% no data 15% not compatible because of dependencies 9% not compatible
1.69 37% compatible 36% no data 25% not compatible because of dependencies 14% not compatible
1.68 30% compatible 42% no data 27% not compatible because of dependencies 15% not compatible
1.67 23% compatible 36% no data 39% not compatible because of dependencies 15% not compatible
1.66 21% compatible 35% no data 43% not compatible because of dependencies 16% not compatible
1.65 19% compatible 36% no data 44% not compatible because of dependencies 16% not compatible
1.64 14% compatible 37% no data 47% not compatible because of dependencies 18% not compatible
1.63 13% compatible 33% no data 52% not compatible because of dependencies 20% not compatible
1.62 10% compatible 33% no data 56% not compatible because of dependencies 21% not compatible
1.61 9% compatible 31% no data 58% not compatible because of dependencies 23% not compatible
1.60 8% compatible 31% no data 60% not compatible because of dependencies 23% not compatible
1.56 2% compatible 26% no data 70% not compatible because of dependencies 35% not compatible
1.55 1% compatible 1% no data 97% not compatible because of dependencies 94% not compatible
1.50 0% compatible 1% no data 97% not compatible because of dependencies 95% not compatible
1.45 0% compatible 1% no data 97% not compatible because of dependencies 95% not compatible
1.40 0% compatible 1% no data 98% not compatible because of dependencies 96% not compatible
1.35 0% compatible 1% no data 98% not compatible because of dependencies 96% not compatible
1.31 0% compatible 1% no data 98% not compatible because of dependencies 96% not compatible
1.30 0% compatible 0% no data 99% not compatible because of dependencies 99% not compatible
1.25 0% compatible 0% no data 99% not compatible because of dependencies 99% not compatible

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+