-
serde
A generic serialization/deserialization framework
-
serde_json
A JSON serialization file format
-
thiserror
derive(Error)
-
rand
Random number generators and other randomness functionality
-
clap
efficient, and full-featured Command Line Argument Parser
-
syn
Parser for Rust source code
-
tokio
An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications
-
log
A lightweight logging facade for Rust
-
anyhow
Flexible concrete Error type built on std::error::Error
-
itertools
Extra iterator adaptors, iterator methods, free functions, and macros
-
quote
Quasi-quoting macro quote!(...)
-
base64
encodes and decodes base64 as bytes or utf8
-
regex
regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
-
proc-macro2
A substitute implementation of the compiler’s
proc_macro
API to decouple token-based libraries from the procedural macro use case -
chrono
Date and time library for Rust
-
reqwest
higher level HTTP client library
-
libc
Raw FFI bindings to platform libraries like libc
-
once_cell
Single assignment cells and lazy values
-
tracing
Application-level tracing for Rust
-
futures
streams featuring zero allocations, composability, and iterator-like interfaces
-
lazy_static
A macro for declaring lazily evaluated statics in Rust
-
tempfile
managing temporary files and directories
-
url
based on the WHATWG URL Standard
-
bitflags
A macro to generate structures which behave like bitflags
-
bytes
Types and traits for working with bytes
-
toml
A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures.
-
indexmap
A hash table with consistent order and fast iteration
-
uuid
generate and parse UUIDs
-
env_logger
A logging implementation for
log
which is configured via an environment variable -
async-trait
Type erasure for async trait methods
-
sha2
Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512
-
num-traits
Numeric traits for generic mathematics
-
tracing-subscriber
implementing and composing
tracing
subscribers -
http
A set of types for representing HTTP requests and responses
-
hex
Encoding and decoding data into/from hexadecimal representation
-
getrandom
A small cross-platform library for retrieving random data from system source
-
hashbrown
port of Google's SwissTable hash map
-
futures-util
Common utilities and extension traits for the futures-rs library
-
parking_lot
More compact and efficient implementations of the standard synchronization primitives
-
criterion
Statistics-driven micro-benchmarking library
-
cfg-if
A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted.
-
rayon
work-stealing parallelism for Rust
-
cc
A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code
-
strum
macros for working with enums and strings
-
tokio-util
Additional utilities for working with Tokio
-
flate2
DEFLATE compression and decompression exposed as Read/BufRead/Write streams. Supports miniz_oxide and multiple zlib implementations. Supports zlib, gzip, and raw deflate streams.
-
semver
Parser and evaluator for Cargo's flavor of Semantic Versioning
-
hyper
A protective and efficient HTTP library for all
-
rand_core
Core random number generator traits and tools for implementation
-
smallvec
'Small vector' optimization: store up to a small number of items on the stack
-
paste
Macros for all your token pasting needs
-
nix
Rust friendly bindings to *nix APIs
-
rand_chacha
ChaCha random number generator
-
prost
A Protocol Buffers implementation for the Rust Language
-
glob
Support for matching file paths against Unix shell style patterns
-
rustls
modern TLS library written in Rust
-
heck
case conversion library
-
axum
Web framework that focuses on ergonomics and modularity
-
tower
modular and reusable components for building robust clients and servers
-
strum_macros
macros for working with enums and strings
-
nom
A byte-oriented, zero-copy, parser combinators library
-
tokio-stream
work with
Stream
andtokio
-
windows-sys
Windows
-
colored
The most simple way to add colors in your terminal
-
wasm-bindgen
Easy support for interacting between JS and Rust
-
either
The enum
Either
with variantsLeft
andRight
is a general purpose sum type with two cases -
byteorder
reading/writing numbers in big-endian and little-endian
-
derive_more
Adds #[derive(x)] macros for more traits
-
percent-encoding
Percent encoding and decoding
-
ahash
A non-cryptographic hash function using AES-NI for high performance
-
bindgen
Automatically generates Rust FFI bindings to C and C++ libraries
-
serde_with
Custom de/serialization functions for Rust's serde
-
walkdir
Recursively walk a directory
-
pin-project-lite
A lightweight version of pin-project written with declarative macros
-
bincode
A binary serialization / deserialization strategy for transforming structs into bytes and vice versa!
-
rustc-hash
A speedy, non-cryptographic hashing algorithm used by rustc
-
dirs
tiny low-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms…
-
image
Imaging library. Provides basic image processing and encoders/decoders for common image formats.
-
tokio-rustls
Asynchronous TLS/SSL streams for Tokio using Rustls
-
unicode-width
Determine displayed width of
char
andstr
types according to Unicode Standard Annex #11 rules -
num-bigint
Big integer implementation for Rust
-
zeroize
Securely clear secrets from memory with a simple trait built on stable Rust primitives which guarantee memory is zeroed using an operation will not be 'optimized away' by the compiler…
-
ring
An experiment
-
digest
Traits for cryptographic hash functions and message authentication codes
-
futures-core
The core traits and types in for the
futures
library -
http-body-util
Combinators and adapters for HTTP request or response bodies
-
rustls-pemfile
Basic .pem file parser for keys and certificates
-
hmac
Generic implementation of Hash-based Message Authentication Code (HMAC)
-
crossbeam-channel
Multi-producer multi-consumer channels for message passing
-
bytemuck
mucking around with piles of bytes
-
fastrand
fast random number generator
-
pin-project
safe and ergonomic pin-projection
-
socket2
handling networking sockets with a maximal amount of configuration possible intended
-
toml_edit
format-preserving TOML parser
-
convert_case
Convert strings into any case
-
js-sys
Bindings for all JS global objects and functions in all JS environments like Node.js and browsers, built on
#[wasm_bindgen]
using thewasm-bindgen
crate -
hyper-util
hyper utilities
-
memchr
extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search
-
sha1
SHA-1 hash function
-
itoa
Fast integer primitive to string conversion
-
static_assertions
Compile-time assertions to ensure that invariants are met
-
darling
A proc-macro library for reading attributes into structs when implementing custom derives
-
mime
Strongly Typed Mimes
-
quick-xml
High performance xml reader and writer
-
tonic
A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility
-
pretty_assertions
Overwrite
assert_eq!
andassert_ne!
with drop-in replacements, adding colorful diffs -
web-sys
Bindings for all Web APIs, a procedurally generated crate from WebIDL
-
pkg-config
run the pkg-config system tool at build time in order to be used in Cargo build scripts
-
indicatif
A progress bar and cli reporting library for Rust
-
arrayvec
A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.
-
dashmap
Blazing fast concurrent HashMap for Rust
-
prost-types
Prost definitions of Protocol Buffers well known types
-
indoc
Indented document literals
-
humantime
A parser and formatter for std::time::{Duration, SystemTime}
-
zip
support the reading and writing of zip files
-
http-body
Trait representing an asynchronous, streaming, HTTP request or response body
-
windows
Rust for Windows
-
petgraph
Graph data structure library. Provides graph types and graph algorithms.
-
async-stream
Asynchronous streams using async & await notation
-
rustc_version
querying the version of a installed rustc compiler
-
crossterm
A crossplatform terminal library for manipulating terminals
-
proptest
Hypothesis-like property-based testing and shrinking
-
serde_urlencoded
x-www-form-urlencoded
meets Serde -
which
equivalent of Unix command "which". Locate installed executable in cross platforms.
-
phf
Runtime support for perfect hash function data structures
-
zstd
Binding for the zstd compression library
-
libloading
Bindings around the platform's dynamic library loading primitives with greatly improved memory safety
-
fnv
Fowler–Noll–Vo hash function
-
tower-http
Tower middleware and utilities for HTTP clients and servers
-
wasm-bindgen-futures
Bridging the gap between Rust Futures and JavaScript Promises
-
rustversion
Conditional compilation according to rustc compiler version
-
encoding_rs
A Gecko-oriented implementation of the Encoding Standard
-
home
Shared definitions of home directories
-
webpki-roots
Mozilla's CA root certificates for use with webpki
-
console
A terminal and console abstraction for Rust
-
serial_test
Allows for the creation of serialised Rust tests
-
unicode-segmentation
Grapheme Cluster, Word and Sentence boundaries according to Unicode Standard Annex #29 rules
-
subtle
Pure-Rust traits and utilities for constant-time cryptographic implementations
-
prettyplease
A minimal
syn
syntax tree pretty-printer -
crc32fast
Fast, SIMD-accelerated CRC32 (IEEE) checksum computation
-
memmap2
Cross-platform Rust API for memory-mapped file IO
-
pyo3
Bindings to Python interpreter
-
pest
The Elegant Parser
-
num
A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!
-
urlencoding
doing URL percentage encoding
-
winapi
Raw FFI bindings for all of Windows API
-
ureq
safe HTTP client
-
backtrace
acquire a stack trace (backtrace) at runtime in a Rust program
-
futures-lite
Futures, streams, and async I/O combinators
-
ordered-float
Wrappers for total ordering on floats
-
async-channel
Async multi-producer multi-consumer channel
-
num-integer
Integer traits and functions
-
pest_derive
pest's derive macro
-
predicates
boolean-valued predicate functions
-
tar
file reader and writer. This library does not currently handle compression, but it is abstract over all I/O readers and writers. Additionally, great lengths are taken to ensure that the entire…
-
serde_bytes
Optimized handling of
&[u8]
andVec<u8>
for Serde -
mime_guess
detection of a file's MIME type by its extension
-
tokio-tungstenite
Tokio binding for Tungstenite, the Lightweight stream-based WebSocket implementation
-
num_enum
Procedural macros to make inter-operation between primitives and enums easier
-
bitvec
Addresses memory by bits, for packed collections and bitfields
-
tonic-build
Codegen module of
tonic
gRPC implementation -
schemars
Generate JSON Schemas from Rust code
-
libm
libm in pure Rust
-
native-tls
A wrapper over a platform's native TLS implementation
-
textwrap
word wrapping, indenting, and dedenting strings. Has optional support for Unicode and emojis as well as machine hyphenation.
-
prost-build
Generate Prost annotated Rust types from Protocol Buffers files
-
rsa
Pure Rust RSA implementation
-
data-encoding
Efficient and customizable data-encoding functions like base64, base32, and hex
-
rstest
Rust fixture based test framework. It use procedural macro to implement fixtures and table based tests.
-
opentelemetry
API for Rust
-
csv
Fast CSV parsing with support for serde
-
ctrlc
Easy Ctrl-C handler for Rust projects
-
config
Layered configuration system for Rust applications
-
cargo_metadata
structured access to the output of
cargo metadata
-
aes
Pure Rust implementation of the Advanced Encryption Standard (a.k.a. Rijndael)
-
lru
cache implementation
-
derive_builder
Rust macro to automatically implement the builder pattern for arbitrary structs
-
rmp-serde
Serde bindings for RMP
-
jsonwebtoken
Create and decode JWTs in a strongly typed way
-
dyn-clone
Clone trait that is dyn-compatible
-
dotenvy
A well-maintained fork of the dotenv crate
-
approx
Approximate floating point equality comparisons and assertions
-
serde_repr
Derive Serialize and Deserialize that delegates to the underlying repr of a C-like enum
-
sqlx
🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
-
arc-swap
Atomically swappable Arc
-
sysinfo
get system information such as processes, CPUs, disks, components and networks
-
dotenv
A
dotenv
implementation for Rust -
arbitrary
The trait for generating structured data from unstructured data
-
sha3
Pure Rust implementation of SHA-3, a family of Keccak-based hash functions including the SHAKE family of eXtendable-Output Functions (XOFs), as well as the accelerated variant TurboSHAKE
-
num-derive
Numeric syntax extensions
-
ndarray
An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.
-
flume
A blazingly fast multi-producer channel
-
assert_cmd
Test CLI Applications
-
ed25519-dalek
Fast and efficient ed25519 EdDSA key generations, signing, and verification in pure Rust
-
async-std
Deprecated in favor of
smol
- Async version of the Rust standard library -
mockall
A powerful mock object library for Rust
-
pathdiff
diffing paths to obtain relative paths
-
clap_complete
Generate shell completion scripts for your clap::Command
-
cmake
A build dependency for running
cmake
to build a native library -
rand_distr
Sampling from random number distributions
-
fs_extra
Expanding std::fs and std::io. Recursively copy folders with information about process and much more.
-
termcolor
cross platform library for writing colored text to a terminal
-
git2
Bindings to libgit2 for interoperating with git repositories. This library is both threadsafe and memory safe and allows both reading and writing git repositories.
-
serde-wasm-bindgen
Native Serde adapter for wasm-bindgen
-
async-recursion
Recursion for async functions
-
rust_decimal
Decimal number implementation written in pure Rust suitable for financial and fixed-precision calculations
-
signal-hook
Unix signal handling
-
maplit
Collection “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet
-
nalgebra
General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices
-
ron
Object Notation
-
insta
A snapshot testing library for Rust
-
notify
Cross-platform filesystem notification library
-
owo-colors
Zero-allocation terminal colors that'll make people go owo
-
eyre
Flexible concrete Error Reporting type built on std::error::Error with customizable Reports
-
ctor
__attribute__((constructor)) for Rust
-
mockito
HTTP mocking for Rust
-
blake3
hash function
-
trybuild
Test harness for ui tests of compiler diagnostics
-
actix-web
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust
-
test-case
#[test_case(...)] procedural macro attribute for generating parametrized test cases easily
-
redis
driver for Rust
-
directories
tiny mid-level library that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows and macOS by leveraging the mechanisms defined…
-
chrono-tz
TimeZone implementations for chrono from the IANA database
-
rusqlite
Ergonomic wrapper for SQLite
-
tokio-test
Testing utilities for Tokio- and futures-based code
-
crossbeam
Tools for concurrent programming
-
dialoguer
A command line prompting library
-
aws-config
AWS SDK config and credential provider implementations
-
aes-gcm
Pure Rust implementation of the AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated Data (AEAD) Cipher with optional architecture-specific hardware acceleration
-
color-eyre
An error report handler for panics and eyre::Reports for colorful, consistent, and well formatted error reports for all kinds of errors
-
ignore
A fast library for efficiently matching ignore files such as
.gitignore
against file paths -
handlebars
templating implemented in Rust
-
winit
Cross-platform window creation library
-
blake2
hash functions
-
heapless
static
friendly data structures that don’t require dynamic memory allocation -
embedded-hal
A Hardware Abstraction Layer (HAL) for embedded systems
-
ratatui
that's all about cooking up terminal user interfaces
-
console_error_panic_hook
A panic hook for
wasm32-unknown-unknown
that logs panics toconsole.error
-
miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
pretty_env_logger
a visually pretty env_logger
-
pulldown-cmark
A pull parser for CommonMark
-
shellexpand
Shell-like expansions in strings
-
quickcheck
Automatic property based testing with shrinking
-
rpassword
Read passwords in console applications
-
rcgen
Rust X.509 certificate generator
-
tabled
An easy to use library for pretty print tables of Rust
struct
s andenum
s -
egui
immediate mode GUI that runs on both web and native
-
tera
Template engine based on Jinja2/Django templates
-
rust-embed
Rust Custom Derive Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev
-
glam
fast 3D math library for games and graphics