-
zerocopy
makes zero-cost memory manipulation effortless. We write "unsafe" so you don't have to.
-
unicode-width
Determine displayed width of
charandstrtypes according to Unicode Standard Annex #11 rules -
itertools
Extra iterator adaptors, iterator methods, free functions, and macros
-
serde_with
Custom de/serialization functions for Rust's serde
-
ryu
Fast floating point to string conversion
-
bon
Next-gen compile-time-checked builder generator, named function's arguments, and more!
-
der
Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with full support for heapless
no_std/no_alloctargets -
pin-project-lite
A lightweight version of pin-project written with declarative macros
-
serde
A generic serialization/deserialization framework
-
portable-atomic
Portable atomic types including support for 128-bit atomics, atomic float, etc
-
raw-cpuid
parse the x86 CPUID instruction, written in rust with no external dependencies. The implementation closely resembles the Intel CPUID manual description. The library does only depend on libcore.
-
pin-project
safe and ergonomic pin-projection
-
itoa
Fast integer primitive to string conversion
-
xxhash-rust
xxhash
-
serde_bytes
Optimized handling of
&[u8]andVec<u8>for Serde -
linkme
Safe cross-platform linker shenanigans
-
inventory
Typed distributed plugin registration
-
dtoa
Fast floating point primitive to string conversion
-
rkyv
Zero-copy deserialization framework for Rust
-
ryu-js
Fast floating point to string conversion, ECMAScript compliant
-
unicode-ident
Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31
-
embassy-futures
no-std, no-alloc utilities for working with futures
-
uart_16550
highly configurable low-level driver for 16550 UART devices, typically known and used as serial ports or COM ports. Easy integration into Rust while providing fine-grained control where needed (e.g., for kernel drivers).
-
volatile
wrapper types for raw pointers
-
colorous
Professional color schemes ported from d3-scale-chromatic
-
semihosting
AArch64, Arm, RISC-V, LoongArch, MIPS32, MIPS64, and Xtensa
-
ref-cast
Safely cast &T to &U where the struct U contains a single field of type T
-
stabby
A Stable ABI for Rust with compact sum-types
-
monostate
Type that deserializes only from one specific value
-
zmij
A double-to-string conversion algorithm based on Schubfach and yy
-
musli
Müsli is a flexible and efficient serialization framework
-
numtoa
Convert numbers into stack-allocated byte arrays
-
dcv-color-primitives
perform image color model conversion
-
unicode-properties
Query character Unicode properties according to UAX #44 and UTR #51
-
mitsein
Strongly typed APIs for non-empty collections, slices, and iterators
-
indoc
Indented document literals
-
diatomic-waker
An async, lock-free synchronization primitive for task wakeup
-
link-cplusplus
Link libstdc++ or libc++ automatically or manually
-
claims
Additional assertion macros for testing
-
croaring
Rust wrapper for CRoaring
-
special
The package provides special functions
-
lambert_w
Fast and accurate evaluation of the Lambert W function by the method of T. Fukushima.
-
rabbitizer
MIPS instruction decoder
-
serde_repr
Derive Serialize and Deserialize that delegates to the underlying repr of a C-like enum
-
typeid
Const TypeId and non-'static TypeId
-
unicode-id-start
Determine whether characters have the ID_Start or ID_Continue properties according to Unicode Standard Annex #31
-
pastey
Macros for all your token pasting needs. Successor of paste.
-
musli-zerocopy
Refreshingly simple zero copy primitives by Müsli
-
printf-compat
printf reimplemented in Rust
-
atomic-maybe-uninit
Atomic operations on potentially uninitialized integers
-
ptr_meta
A radioactive stabilization of the ptr_meta rfc
-
auto_enums
allow multiple return types by automatically generated enum
-
rustversion
Conditional compilation according to rustc compiler version
-
futures-async-stream
Async stream for Rust and the futures crate
-
device-driver
A toolkit to write better device drivers, faster
-
seq-macro
Macro to repeat sequentially indexed copies of a fragment of code
-
mendeleev
List of chemical elements, their isotopes, and their properties
-
serde_core
Serde traits only, with no support for derive – use the
serdecrate instead -
interpn
N-dimensional interpolation/extrapolation methods, no-std and no-alloc compatible
-
const-primes
Work with prime numbers in const contexts. Prime generation, primality testing, prime counting, and more.
-
edge-http
Async +
no_std+ no-alloc implementation of the HTTP protocol -
edge-nal
Hosts a bunch of traits which are not yet available in the embedded-nal-async crate
-
signals_receipts
exfiltration of the receipt of POSIX signals
-
remain
Compile-time checks that an enum, struct, or match is written in sorted order
-
ndarray-slice
Fast and robust slice-based algorithms (e.g., sorting, selection, search) for non-contiguous (sub)views into n-dimensional arrays
-
rp-binary-info
Code and types for creating Picotool compatible Binary Info metadata
-
generic-ec
General elliptic curve cryptography
-
coap-message
Interface to CoAP messages
-
texture2ddecoder
pure Rust no-std texture decoder
-
munge
Macro for custom destructuring
-
arm-pl011-uart
Arm PrimeCell UART (PL011) driver
-
automod
Pull in every source file in a directory as a module
-
primitive_fixed_point_decimal
Primitive fixed-point decimal types
-
any_vec
Type erased vector. Most operations can be done without type knowledge. Mostly zero overhead.
-
udigest
Unambiguously digest structured data
-
coap-handler-implementations
implementations of CoAP handlers
-
mavio
Minimalistic MAVLink client that supports
no-stdandno-alloctargets -
edge-dhcp
Async +
no_std+ no-alloc implementation of the DHCP protocol -
serde-bool
Single value, true or false, boolean deserializers
-
easy-ext
A lightweight attribute macro for easily writing extension trait pattern
-
const_fn
A lightweight attribute for easy generation of const functions with conditional compilations
-
inherent
Make trait methods callable without the trait in scope
-
hostaddr
Extended types (
Domain,Host,HostAddr) for working with net in Rust -
dragonbox_ecma
Fast floating point to string conversion conforming to ECMAScript specification
-
priv_sep
FFI for chroot(2), pledge(2), setgroups(2), setresgid(2), setresuid(2), and unveil(2)
-
generic-arraydeque
A fixed-capacity, stack-allocated double-ended queue (deque) backed by generic-array
-
bare_err_tree
Display errors as a formatted tree
-
easytime
Providing wrapper types for safely performing panic-free checked arithmetic on instants and durations
-
better_collect
composable, declarative way to consume an iterator
-
bit_mask_ring_buf
A ring buffer implementation with cheap indexing
-
gba_test
Testing framework for the Game Boy Advance
-
coap-handler
Interface to CoAP handlers
-
lwbc
Compact implementations of small block ciphers (SPECK, SIMON, SIMECK)
-
digit-layout
unified data type definition across various libraries, efficiently encodes types in a compact layout, thus avoiding the redundancy of enumerating definitions for data types
-
edge-mdns
Async +
no_std+ no-alloc implementation of an mDNS responder -
daft
Structural diffs of Rust data structures
-
itybity
An itty bitty crate providing bit iterators and bit iterator accessories
-
askama_escape
HTML escaping, extracted from Askama
-
stak-vm
Virtual machines for Stak Scheme
-
coap-message-implementations
Implementations of coap-message traits, and tools for building them
-
morse-codec
live decoding and encoding of morse code messages. Supports multiple embedded devices and operating systems by being no_std.
-
minipng
Tiny PNG decoder with no dependencies
-
serdev
Serde with Validation
-
build-context
Make build environment/target information available as constants in normal libraries and binaries
-
executorch
Rust bindings for ExecuTorch - On-device AI across mobile, embedded and edge for PyTorch
-
varing
Protobuf's varint encoding/decoding for LEB128 friendly types with full const context operations supports
-
dragonbox
Fast floating point to string conversion
-
readonly
Struct fields that are made read-only accessible to other modules
-
fast-posit
Software implementation of the Posit floating point format
-
stak-device
Devices for Stak Scheme
-
komadori
composable, declarative way to consume an iterator
-
stak-file
File system for Stak Scheme
-
ipl3checksum
calculate the IPL3 checksum for N64 ROMs
-
stak-process-context
Process context for Stak Scheme
-
stak-r7rs
Stak Scheme primitives for R7RS
-
arm-pl061
Arm PrimeCell GPIO (PL061) driver
-
devela
A development layer of coherence
-
stak-time
Time library for Stak Scheme
-
market_square
A lock-free mpmc "square"
-
iter-enum
#[derive(Iterator, DoubleEndedIterator, ExactSizeIterator, Extend)] for enums
-
sysdir
Rust bindings to sysdir(3) on macOS, iOS, tvOS, and watchOS
-
opt-level
Get value of rustc
-Copt-level=flag -
serde-brief
A brief, self-descriptive, serde-compatible binary format
-
moddef
Macro for convenient module declaration. Each module can be put in a group, and visibility can be applied to the whole group with ease.
-
fixed-bigint
Fixed-size big integer implementation for Rust
-
stak
Stak Scheme interpreter
-
exint
generic signed and unsigned integers
-
stabby-abi
stabby’s core ABI, you shouldn’t add this crate to your dependencies, only
stabby -
stak-sac
Stand-Alone Complex for Stak Scheme
-
lakers
EDHOC (RFC 9528)
-
stak-compiler
Stak Scheme bytecode compiler
-
no-panic
Attribute macro to require that the compiler prove a function can't ever panic
-
slice_ring_buf
A ring buffer implementation optimized for working with slices
-
z3-sys
Low-level bindings for the Z3 SMT solver from Microsoft Research
-
optionable
Derive macro (and associated marker trait) to derive nested structs/enums with all subfields being optional (e.g. for patches or Kubernetes server side apply).
-
stak-engine
Stak Scheme scripting engine for Rust
-
tiny_bail
Small but flexible macros for bailing on failure
-
stak-native
Optimized primitives of native functions for Stak Scheme
-
bit_ops
Common bit-oriented operations on primitive integer types with a focus on
no_stdandconstcompatibility. Unlike other crates that provide tooling to create sophisticated high-level types with bitfields… -
stak-build
Build scripts for Stak Scheme
-
stak-profiler
Profiling for Stak Scheme
-
coap-numbers
Constants for the CoAP protocol
-
coap-message-demos
Demos of the coap-message ecosystem
-
xz4rust
Memory safe pure Rust no-std & no alloc XZ decoder
-
atomic-memcpy
Byte-wise atomic memcpy
-
aes_crypto
A platform-agnostic library for the AES cipher (Rijndael)
-
ryuu
Fast floating point to string conversion
-
arm-generic-timer
Arm Generic Timer driver
-
flaw
Embedded signal filtering, no-std and no-alloc compatible
-
edge-nal-embassy
edge-nal based on
embassy-net -
target-feature-dispatch
Easy dispatching by target features (both static and dynamic)
-
wary
validation and transformation library
-
dtoolkit
parsing and manipulating Flattened Device Tree (FDT) blobs
-
stak-dynamic
Dynamic primitives for Stak Scheme
-
mcslock
Mellor-Crummey and Scott contention-free lock for mutual exclusion, referred to as MCS lock
-
stak-configuration
Stak Scheme configuration
-
cocoro
A more type-safe take on Rust stackless coroutines
-
stak-inexact
Inexact number operations for Stak Scheme
-
strftime-ruby
Ruby
Time#strftimeparser and formatter -
stak-lzss
LZSS compression for Stak Scheme
-
quadprec
Software-emulated quad precision (f128) via double-double arithmetic — Cholesky, dot, gemv for ill-conditioned linear algebra
-
iso10383-types
ISO 10383 Types
-
type-leak
Enable sharing type context beyond crate boundary
-
fn-ptr
introspecting and rewriting function pointer types at compile time
-
heapless_graphs
composable graphs for no_alloc environments
-
stak-module
Modules in Stak Scheme
-
sumtype
Generate zerocost sumtype of iterators or closures
-
micropb
Rust Protobuf library targetting embedded systems and no_std environments
-
jelal
A minimal, no-std modern Jalali (Persian/Iranian/Shamsi) calendar for developers with diverse language support (Rust, JS/TS/WASM, C/C++, Python, and more)
-
virtio-spec
Definitions from the Virtual I/O Device (VIRTIO) specification
-
arm-psci
Arm Power State Coordination Interface (PSCI) library
-
edge-raw
Async +
no_std+ no-alloc implementation of IP and UDP packet creation and parsing -
grift
minimalistic Lisp built on the grift_arena allocator
-
spideroak-crypto
SpiderOak's cryptography library
-
hyperprec
f128, f256, f512 in Rust — software-emulated extended precision via double-double and multi-limb arithmetic for ill-conditioned linear algebra
-
snailx
Zero-allocation, low-overhead access to program arguments (argv) with iterators over
&'static CStr,&'static str, and&'static OsStr. Works in no_std (optional std feature) and targets Unix and macOS. -
aselect
Opinionated replacement for tokio::select!, avoiding certain pitfalls
-
sem_safe
Safe usage of POSIX Semaphores (
sem_post,sem_wait, etc) -
zmij_ecma
A double-to-string conversion algorithm based on Schubfach and yy
-
lazycsv
Vectorized, lazy-decoding, zero-copy CSV parser
-
array_trait
A generic trait for any array, with item as type and length as const parameter
-
stak-wasm
Stak Scheme in WebAssembly
-
microscpi
creating SCPI interfaces
-
iso4217-static
Static ISO 4217 Data
-
prudent
Help you make Rust code safer. For both authors and reviewers.
-
tick-encoding
encoding scheme to encode binary data into ASCII strings
-
generic-container
Abstract over "containers" that hold a T, such as a T itself, Box<T>, or Arc<Mutex<T>>
-
cargo-build
Wrapper around cargo instructions accesible in
build.rswith better type safety and support for modern features. Includes functions by default. Macros are optional, but do provide… -
ender
An encoding library to work with any binary data format
-
serde_more
Procedural macro to add arbitrary data when serializing using serde
-
patterns
no_std, no alloc pattern scan library using simd
-
arm-tzc
Arm TrustZone Address Space Controller
-
crosstrait
Cast from
dyn Anyto other trait objects, with no_std, no alloc support -
minicbor-adapters
Adapters between
minicborand other crates such asheaplessandcboritem -
tuplez
Tuples represented in recursive form
-
squares-rnd
fast counter based non-crypto random generator
-
fluent-ansi
A fluent interface for ANSI terminal colors and styles in Rust
-
threepm
Rust bindings and high-level interface abstraction for ThreePM - a fixed-point MP3 decoding library written in C
-
bufkit
Memory-backed buffer toolkit with Chunk/ChunkMut traits for predictable, explicit, and retry-friendly access; ideal for Sans-I/O style protocol parsers, database engines, and embedded systems
-
fast-tlsh
generate / parse / compare TLSH locality sensitive hashes
-
oneringbuf
A lock-free single-producer, single-consumer (SPSC) ring buffer with in-place mutability, asynchronous support, and virtual memory optimisation
-
axp2101-dd
A driver for the AXP2101 power management IC (uses device-driver crate)
-
mplusfonts
Parametrized bitmap font family for embedded-graphics
-
stak-minifier
Stak Scheme source code minifier
-
lowpass-filter
first-order digital lowpass filters, compatible with
no_std. You can use it, for example, to get the low frequencies from a song. -
itermaps
Implement commonly used combinations of
Iterator::map -
ina3221-dd
A driver for the INA3221 triple-channel current/voltage monitor (uses device-driver crate)
-
derive_hash_fast
A faster replacement for
#[derive(Hash)]for types without padding -
stack_collections
Stack-allocated collections for Rust
-
tuit
A no_std, no_alloc TUI library
-
odem-rs
Object-based Discrete-Event Modelling in Rust using async/await
-
seasick
Tools for implementing and transcribing C APIs
-
compile_time_sort
Sort arrays and slices of primitives in const contexts
-
bdwgc-alloc
impl GlobalAlloc for bdwgc
-
protocraft_framework
A framework for handling minecraft packets
-
display_full_error
Minimal display formatter for error chains
-
odem-rs-sync
Model-time synchronization facilities of the odem-rs simulation framework
-
scroll-ring
An MPSC overwriting ring buffer tuned for character data scrollback
-
tighterror
A minimalistic error representation framework
-
libsw
Comprehensive stopwatch library
-
memapi2
A no_std/no-alloc-friendly memory allocation interface for raw buffers, with improved error reporting
-
embedded-shadow
Zero-alloc shadow register table with dirty tracking for embedded systems
-
ballpark
Approximate comparisons for floating-point numbers
-
defer
excecution of code, inspired by go's defer statement
-
joto_parse
Fast, const-safe parser for SI, US Customary, and typesetting dimensions with exact representation
-
c8str
String types that are both utf-8 and null terminated
-
evil
allows using the ? operator as a shorthand for .unwrap() 😈
-
negative-impl
Negative trait implementations on stable Rust
-
w65c816
An emulator for the WDC W65C816S, a 16-bit derivative of the 6502
-
portable-dlmalloc
Portable Fork of Doug Lea's malloc Implementation
-
bulks
Amazing bulks! They are like iterators, but in bulk, and therefore support collection into arrays
-
intrex
Intrusive doubly-linked lists with items addressed by indices
-
non-empty-slice
Non-empty slices
-
peek-again
A performant iterator providing double peek functionality
-
real_time_fir_iir_filters
Real-time FIR and IIR filters designed for use with vst's
-
argtokens
Command-line argument parser, supporting POSIX+GNU syntax and no-std, no-alloc usage
-
endless-rs
SDK for the Polyend Endless programmable effects pedal
-
arm-sp805
Arm Watchdog Module (SP805) driver
-
fasrt
A blazing fast, zero-copy subtitle parser and writer for SRT and WebVTT in Rust
-
serde_default_utils
A set of simple helper functions to cut corners with serde_default
-
acorn_prng
A no_std, 0 dependency, pseudo-random number generator based on the ACORN algorithm
-
stak-libc
Stak Scheme libc utilities
-
cborld-ex
Compact Binary Linked Data with Semantic Reasoning for Constrained IoT Networks
-
futures-enum
#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead)] for enums
-
iterator_ilp
Iterator extensions for instruction-parallel reductions
-
cboritem
Types for serialized CBOR items
-
grain-id
Compact, human-readable unique IDs — grain-sized, yet enough for a lifetime
Try searching with DuckDuckGo.