Lib.rs › Stats

Rust crates ecosystem statistics.

Growth of the crates.io registry

Download history of all crates since 2015 20M 40M 60M 81M 101M 121M 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 149.5 million downloads in a single day, which is more than all downloads in the first 25 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.6× a year before).

37571 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 37,571 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 144544 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
26589
13299
13376
13905
11203
8903
7261
6287
5560
4589
10 11 ≥12 ≥14 ≥16 ≥18 ≥20 ≥25 ≥30 ≥40 ≥60 ≥80 ≥100 ≥120 ≥150
3630
3406
5105
3646
2766
2031
2814
1586
1435
687
113
39
11
3
5
async_ui_web_core bcc sp-version chatgpt_wd radior azure_svc_keyvault bonfida-utils smb3_client azure_mgmt_hybridcloud hg-parser pixstage sample_planning ruma-client-api mazter stronghold-stm huawei_client autd3-geometry-viewer yarner google-firebaseml1-cli empath remote-files cargo-watt hocon-linked minty simplehttp rtw aws-sdk-docdb funes aws-sdk-b2bi streambed-kafka ezno-checker xand-api-proto cronback-dispatcher-srv flnode mcai-workflow-editor myc-core hoard-rs vulkano hedwig psp_security music-player-webui cargo-contract ivy-graphics i-slint-renderer-skia hcaptcha zbus tfhe shadowsocks-service tc-finality-grandpa freta manas_repo_opendal rav1e solana-ledger holochain_types contracts-node lurk bjsmiley-surrealdb apple-codesign wasmer-cli miraland-runtime staging-kusama-runtime lingua deno westend-runtime mindustry-mod-v7 holochain zero4rs coreutils apollo-router uhg-custom-appollo-roouter zigbee2mqtt-types forest-filecoin homestar-workspace-hack

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
64789
45064
6745
7222
1815
2667
641
51
11
hpl-macro-platform-gate beskar-assets speech-dispatcher-sys randomstringb r621 vmm parsley-rs mathew confik-macros rename-item lwb-parser mqttwrk verbs-rs roxmltree hocon-linked encoding-next-index-japanese quizler akiv bigtable_rs rquickjs-core localghost kn-cuda-eval bevy_tilemap zfp-sys tree-sitter-elixir delta_2a_lidar icu_tool gled polodb_core ttyper forest-filecoin espa jabcode servo-skia libfsntfs-rs librclone-sys snarkvm-parameters lief-sys musix jni-android-sys esp-wifi-sys pv_leopard difftastic fbxsdk-sys rbspy-testdata

Number of releases per crate

Number of unique versions of each crate, excluding yanked versions.

1 2 ≥4 ≥8 ≥16 ≥32 ≥50 ≥100 ≥500
44924
34137
26996
17392
9083
3022
2063
587
45
beskar-assets json2pdf-client rust-calculator mz_rusoto_personalize_events closure_study poly2tri-rs bryte_descriptor_attribute getter-derive-rs bi_channel rusty_state uuid-generate ztop canadian_news_scraper r621 lingo speech-dispatcher-sys big_enum_set_derive arpfloat rivet-identity range-encoding aws-sdk-b2bi azure_svc_keyvault ghost iceyee_logger tokio-pipe buildchain pulldown-cmark-to-cmark sass-sys liquid-core datachannel-sys wild-doc-script pact-plugin-driver async-openai adbyss_psl postscript surf_n_term kitsune_p2p_types glean-ffi validators is-semantic-release-configured spider_cli myutil swc_ecma_transforms_proposal swc_ecma_transforms_module google-api-proto

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
4109
5629
8309
15924
28470
20809
18826
12954
15007
8212
mpdheart tfmt tower-request-id-nano vanitysol protopathy cloudfront-logs golem-wasm-rpc kokoro-dynamic-plugin roxy_core david simple_pg rai-core reluax amora-rs counter-cli jpt hpl-macro-platform-gate genr fastxgz nodecraft river-layout-toolkit binview sqlgen async-unsync redis-work-queue cargo-dioxus u-siem-enricher igno unscanny rate-limits actix_validated_forms_derive cardano_ouroboros_network nano-id build-data google-displayvideo1-cli syntax-tree rawcmd_style sqlany-extfnapi minicov tokio-raw mathew gysr postcard-cobs cryptonight str-macro wc-grab app sivchain bigdecimal robots_txt

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
42529
26310
8906
16912
11289
13312
7642
7488
2657
1204
smb3_client beskar-assets json2pdf-client rust-calculator mz_rusoto_personalize_events bi_channel strafe-consts tange-collection closure_study poly2tri-rs bryte_descriptor_attribute romeo verbs-rs myxine-core kyber-kem collective ceres-ri triadic-census trait_tests stm32f0x0 avr-config tea-orm pluto diem-json-rpc-types tower_allowed_hosts arpfloat spider_worker commandext thousands amqp_serde rnet-gen gst-plugin-rusoto spdlog-rs cargo-up cose-rust build-data fibonacci_codec mupdf gettext-macros steamid-ng junit-report til namaste rubbl_casatables google-admin1_directory block-utils gmp-mpfr-sys antikoerper h2 serde_qs

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
15768
11963
11814
17965
26574
16915
14009
9488
9640
4113
verbs-rs libpath astro-float dcrs strafe-consts google-firebaseml1-cli iceyee_logger bonfida-utils miraland-rayon-threadlimit test_cargo515 async-lock gfold htmlprep merge2_derive second-music-system langbox smb3_client buildchain trans-flag async_ui_web_core bspc-rs my-crate-kiana-123 caffe2op-prepend poly2tri-rs bitcoin-string hugox bytey_derive dependency-tree-generator thread_local_compat env-searcher rmem randomstringb bssl git-work gst-plugin-avi ubiquity massdriver_gtk exonum-middleware-service javaclass-rs syntax-tree celeste pleingres gregor cancellable-io spectacles-brokers docker4rs grindstone dbus-bytestream ultimate-ttt tk-sendfile

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
19033
14351
8289
4358
1460
1187
573
272
146
389
167
97
49
30
87
22
karabiner-driverkit dlpack-sys genetic-algorithm-tsp google-firestore1_beta1 actix-admin-macros sn_interface tree-sitter-asm bulwark-config risc0-build fuzzydate rasciigraph building_blocks_core aliri links_nonblocking cetkaik_fundamental libp2prs-runtime benchmark-simple fugue mpd speculate superslice tc-client-api shellwords etherparse serde_arrays jsonrpc-core-client rppal temp-dir pallet-session staging-xcm-executor rust-format sprs simd-json loupe aptos-types syntex_pos mt19937 jsonrpsee-core cudnn-sys term-painter eframe build_const flatbuffers caffe2-imports serde_ignored paste-impl stacker spl-token-2022 sp-weights frame-metadata android_glue dissimilar aquamarine cosmwasm-schema librocksdb-sys pyo3-ffi yup-oauth2 aws-smithy-http redox_termios x11-dl bevy_asset x11rb p256 hash-db shellexpand bevy_macro_utils x25519-dalek memmap bevy_app glib-sys solana-program solana-frozen-abi config solana-frozen-abi-macro rpassword blake3 fdeflate elliptic-curve simd-adler32 pkcs8 sha-1 md-5 async-global-executor quick-xml serde_cbor kernel32-sys security-framework stable_deref_trait security-framework-sys iovec dirs allocator-api2 fuchsia-cprng strum sct zerocopy clap_derive glob rustversion zeroize unicode-xid arrayvec env_logger toml_datetime powerfmt pkg-config fastrand ahash toml core-foundation num_cpus rand_chacha mime hyper textwrap http typenum socket2 idna futures-io errno url form_urlencoded chrono generic-array cfg-if serde_derive syn quote windows_aarch64_gnullvm windows_aarch64_msvc bitflags memchr proc-macro2 autocfg

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
17915
6498
6702
5087
644
122
68
41
14
22
1
gregwebs fd robey kigiri canadaduane ernesto-jimenez raggi marcoow Mange deontologician melito zacheryph cablehead antage patrickt andy128k stefanoc srid jedbrown pjenvey walkah alienscience leekalan tredoe mintlu8 vl-mr-freeman astro maxbrunsfeld nbari That3Percent jjl filmil Battula-anil-app-could phil-opp esp-rs BrantBrown arcnmx FredrikNoren muhammad-fiaz vercel rise0chen FL03 pemistahl shamilsan huachaohuang jeremyBanks iliana sudo-shashank matthiasbeyer richardanaya servo taiki-e gridbugs demurgos aspect uutils mingyang91 cart vpetrigo a-kenji-buildbot Manishearth Traverse-Research-CI-runner btwiuse clearloop aws-sdk-rust-ci parity-crate-owner kennykerr awslabs MaterializeInc sdroege seam345 RustCrypto

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 (5877) Procedural macros (5877)Proc macros 5877 Rust patterns (4686) Rust patterns (4686)Rust patterns 4686 Concurrency (1688) Concurrency (1688)Concurrency 1688 Web programming (6229) Web programming (6229)Web programming 6229 WebAssembly (2230) WebAssembly (2230)WebAssembly 2230 HTTP server (1967) HTTP server (1967)HTTP server 1967 HTTP client (734) HTTP client (734)HTTP HTTP client (734)client 734 WebSocket (424) WebSocket (424)WebSocket 424 Network programming (8070) Network programming (8070)Network programming 8070 Asynchronous (3080) Asynchronous (3080)Async 3080 Magic Beans (9976) Magic Beans (9976)Crypto Magic Beans 9976 Development tools (3503) Development tools (3503)Development tools 3503 Testing (1184) Testing (1184)Testing 1184 Debugging (1133) Debugging (1133)Debugging 1133 Cargo plugins (1005) Cargo plugins (1005)Cargo Cargo plugins (1005)plugins 1005 Build Utils (952) Build Utils (952)Build Build Utils (952)Utils 952 Profiling (512) Profiling (512)Profiling FFI (468) FFI (468)FFI Command line utilities (6504) Command line utilities (6504)Command line utilities 6504 Command-line interface (1357) Command-line interface (1357)Command-line interface 1357 Embedded development (3220) Embedded development (3220)Embedded Embedded development (3220)development 3220 Hardware support (2926) Hardware support (2926)Hardware Hardware support (2926)support 2926 No standard library (559) No standard library (559)No standard No standard library (559)library Math (2559) Math (2559)Math 2559 Machine learning (1415) Machine learning (1415)Machine learning 1415 Science (1450) Science (1450)Science 1450 Biology (374) Biology (374)Biology 374 Geospatial (322) Geospatial (322)Geo Robotics (252) Robotics (252)Robots Database interfaces (4197) Database interfaces (4197)Database interfaces 4197 Database implementations (500) Database implementations (500)Database Parser implementations (4404) Parser implementations (4404)Parser implementations 4404 Parser tooling (426) Parser tooling (426)Parser tooling Text processing (2749) Text processing (2749)Text processing 2749 Template engine (856) Template engine (856)Template Template engine (856)engine 856 Text editors (624) Text editors (624)Editors 624 Value formatting (462) Value formatting (462)Value formatting 462 Game dev (3280) Game dev (3280)Game dev 3280 Games (1258) Games (1258)Games 1258 Audio (1528) Audio (1528)Audio 1528 Images (1289) Images (1289)Images 1289 Video (640) Video (640)Video Multimedia (523) Multimedia (523)Multimedia Cryptography (3689) Cryptography (3689)Cryptography 3689 Algorithms (3656) Algorithms (3656)Algorithms 3656 Unix APIs (1437) Unix APIs (1437)Unix APIs 1437 Operating systems (1104) Operating systems (1104)OS 1104 Windows APIs (843) Windows APIs (843)Windows APIs 843 macOS and iOS APIs (284) macOS and iOS APIs (284)Apple Data structures (3453) Data structures (3453)Data structures 3453 Encoding (3314) Encoding (3314)Encoding 3314 Filesystem (2329) Filesystem (2329)Filesystem 2329 Graphics APIs (1521) Graphics APIs (1521)Graphics APIs 1521 Rendering (500) Rendering (500)Rendering 500 Data formats (171) Data formats (171)Formats Rendering engine (109) Rendering engine (109)Engine GUI (1836) GUI (1836)GUI 1836 Programming languages (1642) Programming languages (1642)Lang 1642 Authentication (1443) Authentication (1443)Auth 1443 Configuration (1253) Configuration (1253)Config 1253 Compression (971) Compression (971)Compression 971 Memory management (1004) Memory management (1004)Memory management 1004 Date and time (728) Date and time (728)Date and time Visualization (638) Visualization (638)Visualize 638 Emulators (527) Emulators (527)Emulators 527 Simulation (530) Simulation (530)Sim Internationalization (i18n) (513) Internationalization (i18n) (513)i18n Email (502) Email (502)Email 502 Caching (485) Caching (485)Cache 485 Finance (392) Finance (392)Finance 392 Accessibility (83) Accessibility (83)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
193641329191160
tokioasync-stdpollstersmol
Web frameworks
17669248174063651253321
toweraxumactix-webwarprocketpoemrouillegotham
TLS clients
336816021196
rustlsnative-tlsopenssl
git clients
107198
git2gix
Loggers
3842217543469
logtracingslog
Error handling
308071929329191286942647
thiserroranyhowquick-erroreyresnafumiette
Argument parsers
18568904271247101
clapgetoptspico-argsarghargparse
Markdown parsers
763118115
pulldown-cmarkcomrakmarkdown
TOML parsers
10422489725
tomltoml_editbasic-toml
Binary encoders
5281237612651060287103
bincodeprostprotobufrmp-serdeciboriumcapnp
JSON parsers
32836187602112
serde_jsonjson5simd-jsonminiserdetinyjson
Parser generators
6681329514032837823
nompestcombinepegpomlalrpop
XML parsers
16931377642202892524
xml-rsquick-xmlxmlparserxml5everlibxmlrxmlelementtree
Temp files
5104431
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 85% compatible 14% no data 0% not compatible because of dependencies 0% not compatible
1.76 85% compatible 14% no data 0% not compatible because of dependencies 0% not compatible
1.75 84% compatible 14% no data 0% not compatible because of dependencies 0% not compatible
1.74 82% compatible 16% no data 1% not compatible because of dependencies 0% not compatible
1.73 81% compatible 16% no data 1% not compatible because of dependencies 0% not compatible
1.72 80% compatible 17% no data 2% not compatible because of dependencies 1% not compatible
1.71 79% compatible 17% no data 2% not compatible because of dependencies 1% not compatible
1.70 78% compatible 18% no data 3% not compatible because of dependencies 1% not compatible
1.69 75% compatible 17% no data 6% not compatible because of dependencies 3% not compatible
1.68 74% compatible 18% no data 6% not compatible because of dependencies 3% not compatible
1.67 72% compatible 19% no data 8% not compatible because of dependencies 4% not compatible
1.66 69% compatible 21% no data 8% not compatible because of dependencies 4% not compatible
1.65 68% compatible 21% no data 10% not compatible because of dependencies 5% not compatible
1.64 64% compatible 23% no data 11% not compatible because of dependencies 6% not compatible
1.63 63% compatible 21% no data 14% not compatible because of dependencies 6% not compatible
1.62 59% compatible 24% no data 16% not compatible because of dependencies 7% not compatible
1.61 58% compatible 24% no data 17% not compatible because of dependencies 8% not compatible
1.60 56% compatible 24% no data 18% not compatible because of dependencies 8% not compatible
1.56 45% compatible 26% no data 27% not compatible because of dependencies 14% not compatible
1.55 37% compatible 4% no data 57% not compatible because of dependencies 54% not compatible
1.50 34% compatible 5% no data 60% not compatible because of dependencies 56% not compatible
1.45 30% compatible 6% no data 63% not compatible because of dependencies 56% not compatible
1.40 25% compatible 7% no data 67% not compatible because of dependencies 57% not compatible
1.35 19% compatible 8% no data 72% not compatible because of dependencies 59% not compatible
1.31 14% compatible 8% no data 76% not compatible because of dependencies 61% not compatible
1.30 6% compatible 2% no data 90% not compatible because of dependencies 89% not compatible
1.25 5% compatible 2% no data 91% not compatible because of dependencies 90% not compatible

4000 most recently updated crates

RustcOK / No data / Broken deps / Incompatible
1.77 67% compatible 32% no data 0% not compatible because of dependencies 0% not compatible
1.76 65% compatible 32% no data 2% not compatible because of dependencies 1% not compatible
1.75 60% compatible 34% no data 4% not compatible because of dependencies 3% not compatible
1.74 54% compatible 36% no data 8% not compatible because of dependencies 5% not compatible
1.73 49% compatible 38% no data 12% not compatible because of dependencies 7% not compatible
1.72 45% compatible 40% no data 14% not compatible because of dependencies 9% not compatible
1.71 41% compatible 41% no data 16% not compatible because of dependencies 10% not compatible
1.70 39% compatible 40% no data 19% not compatible because of dependencies 10% not compatible
1.69 33% compatible 37% no data 28% not compatible because of dependencies 16% not compatible
1.68 30% compatible 38% no data 30% not compatible because of dependencies 16% not compatible
1.67 25% compatible 33% no data 40% not compatible because of dependencies 16% not compatible
1.66 22% compatible 33% no data 44% not compatible because of dependencies 18% not compatible
1.65 19% compatible 33% no data 46% not compatible because of dependencies 20% not compatible
1.64 16% compatible 33% no data 50% not compatible because of dependencies 21% not compatible
1.63 15% compatible 31% no data 53% not compatible because of dependencies 22% not compatible
1.62 11% compatible 31% no data 56% not compatible because of dependencies 24% not compatible
1.61 10% compatible 30% no data 59% not compatible because of dependencies 25% not compatible
1.60 9% compatible 29% no data 61% not compatible because of dependencies 26% not compatible
1.56 4% compatible 24% no data 71% not compatible because of dependencies 37% not compatible
1.55 1% compatible 2% no data 96% not compatible because of dependencies 93% not compatible
1.50 1% compatible 1% no data 96% not compatible because of dependencies 94% not compatible
1.45 1% compatible 1% no data 97% not compatible because of dependencies 94% not compatible
1.40 0% compatible 1% no data 97% not compatible because of dependencies 95% not compatible
1.35 0% compatible 1% no data 97% not compatible because of dependencies 95% 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… 2% 3% 8% 37% 47% 68% 76% 78% 88% 91.8% 92.3% 93.0% 93.6% 94.8% 95.3% 98.5% 99.0% 99.0%
…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+ 1.50+
This many crates.io requests… 0% 1% 1% 2% 3% 3% 3% 4% 4% 4% 5% 5% 5% 5% 5% 6% 6% 6%
…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+ 1.50+