Skip to content

Latest commit

 

History

History
124 lines (94 loc) · 5.6 KB

File metadata and controls

124 lines (94 loc) · 5.6 KB

List of core Rust libraries

Rust patterns

  • shared solutions for particular situations specific to programming in Rust.
Rust Crate Description
bitflags Macro to generate structures which behave like bitflags
itertools Extra iterator adaptors, iterator methods, free functions, and macros
once_cell Single assignment cells and lazy values

Data structures

  • Rust implementations of data structures for specific purposes.
Rust Crate Description
hashbrown Port of Google's SwissTable hash map
indexmap A hash table with consistent order and fast iteration

Algorithms

  • Core algorithms such as hashing, sorting and searching.

Random numbers

Rust Crate Description
getrandom A small cross-platform library for retrieving random data from system source
rand Random number generators and other randomness functionality
rand_chacha ChaCha random number generator
rand_core Core random number generator traits and tools for implementation

Encoding data

  • Encoding and/or decoding data from one data format to another.
  • Serialization, deserialization, string conversion
Rust Crate Description
base64 encodes and decodes base64 as bytes or utf8 
itoa Fast integer primitive to string conversion
serde Generic serialization/deserialization framework - Additional docs
serde_derive Macros 1.1 implementation of #[derive(Serialize, Deserialize)] - Additional docs

Text processing

  • Text processing Deal with the complexities of human language when expressed in textual form.
  • String searching, Regular Expressions
Rust Crate Description
memchr Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search
regex-automata Automata construction and matching using regular expressions
unicode-ident Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31

Network programming

  • Network protocols such as FTP, HTTP, or SSH, or lower-level TCP or UDP.
Rust Crate Description
socket2 Utilities for handling networking sockets with a maximal amount of configuration possible intended.

Operating Systems

  • Bindings to operating system-specific APIs.
Rust Crate Description
libc Raw FFI bindings to platform libraries like libc
windows-sys Rust for Windows

Development tools

Debugging

  • Figure out what is going on with your code via logging, tracing, or assertions.

Errors

Rust Crate Description
thiserror derive(Error) - custom error handling
thiserror-impl Implementation detail of the thiserror crate

Logging

Rust Crate Description
log  Logging library

Build Utils

  • Utilities for build scripts and other build time steps.
Rust Crate Description
autocfg Automatic cfg for Rust compiler features

Procedural macros

  • Extend Rust language with procedural macros.
Rust Crate Description
cfg-if 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
proc-macro2 substitute implementation of the compiler's proc_macro API to decouple token-based libraries from the procedural macro use case
quote Quasi-quoting macro quote!(...)
syn Parser for Rust source code

Notes

  • Crates in bold are top 25 all time downloads
  • Crates in italic are in the top 25 of recent download (but not top 25 all time)
  • Updated: Nov 2025
  • Data source: crates.io, lib.rs