This list is obviously very opinionated and not complete . It's a list a
useful crates I discovered while using Rust. Some better-known crates are not
displayed below, because I prefer the ones listed here.
Crate Name Description
anyhow Flexible concrete Error type built on std::error::Error
.
futures Futures and streams featuring zero allocations, composability, and iterator-like interfaces.
itertools Extra iterator adaptors, iterator methods, free functions, and macros.
lazy_static A macro for declaring lazily evaluated statics in Rust.
rayon Simple work-stealing parallelism for Rust.
serde A generic serialization/deserialization framework.
serde_json A JSON serialization file format.
tokio An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications.
Crate Name Description
bio A bioinformatics library for Rust.
geo Geospatial primitives and algorithms.
nalgebra General-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices. Dimforge
num A collection of numeric types and traits (bigint, complex, rational, range iterators, generic integers...)
parry2d 2 dimensional collision detection library in Rust. Dimforge
rand Random number generators and other randomness functionality.
Crate Name Description
chrono Date and time library for Rust.
crypto Resources for building cryptosystems in Rust using the RustCrypto project's ecosystem.
data-encoding Data-encoding functions like base64, base32, and hex.
fluent A localization system designed to unleash the entire expressive power of natural language translations.
regex An implementation of regular expressions for Rust.
unicode-segmentation Grapheme Cluster, Word and Sentence boundaries according to Unicode Standard Annex #29 rules.
uuid A library to generate and parse UUIDs.
Crate Name Description
dotenvy A dotenv
implementation for Rust.
roxmltree Represent an XML as a read-only tree.
ron Rusty Object Notation
toml A native Rust encoder and decoder of TOML-formatted files and streams.
Crate Name Description
clap Command Line Argument Parser for Rust.
console A Rust console and terminal abstraction.
log A Rust library providing a lightweight logging facade.
Crate Name Description
slab Pre-allocated storage for a uniform data type.
sqlx An async SQL crate. Supports PostgreSQL, MySQL, and SQLite.
Crate Name Description
futures-signals Zero cost FRP signals using the futures crate.
image Imaging library written in Rust. Provides basic filters and decoders for the most common image formats.
piet An abstraction for 2D graphics.
piet-svg SVG backend for piet 2D graphics abstraction.
egui An easy-to-use immediate mode GUI that runs on both web and native.
bevy A refreshingly simple data-driven game engine and app framework.
Crate Name Description
async-graphql A GraphQL server library implemented in Rust.
axum Web framework that focuses on ergonomics and modularity.
hyper A fast and correct HTTP library.
jsonwebtoken Create and decode JWTs in a strongly typed way.
lettre Email client
reqwest Higher level HTTP client library.
tower Tower is a library of modular and reusable components for building robust clients and servers.
tower-http Tower middleware and utilities for HTTP clients and servers.
tungstenite Async binding for Tungstenite, the Lightweight stream-based WebSocket implementation.
Crate Name Description
console_error_panic_hook A panic hook for wasm32-unknown-unknown
that logs panics to console.error
.
gloo A toolkit for building fast, reliable Web applications and libraries.
js-sys Bindings for all JS global objects and functions in all JS environments.
piet-web Web canvas backend for piet 2D graphics abstraction.
wasm-bindgen Easy support for interacting between JS and Rust.
wasm-bindgen-futures Bridging the gap between Rust Futures and JavaScript Promises.
wasm-bindgen-rayon Adapter for using Rayon-based concurrency on the Web.
web-sys Bindings for all Web APIs.
wee_alloc The Wasm-Enabled, Elfin Allocator.