-
uuid
A library to generate and parse UUIDs
-
half
Half-precision floating point f16 and bf16 types for Rust implementing the IEEE 754-2008 standard binary16 and bfloat16 types
-
bitflags
A macro to generate structures which behave like bitflags
-
typenum
Typenum is a Rust library for type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers…
-
paste
Macros for all your token pasting needs
-
target-lexicon
Targeting utilities for compilers and related tools
-
memoffset
offset_of functionality for Rust structs
-
beef
More compact Cow
-
x86_64
Support for x86_64 specific instructions, registers, and structures
-
assert_matches
Asserts that a value matches a pattern
-
cranelift-frontend
Cranelift IR builder helper
-
az
Casts and checked casts
-
bbqueue
A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers
-
pc-keyboard
PS/2 keyboard interface library
-
no-std-compat
A
#![no_std]
compatibility layer that will make porting your crate to no_std easy -
fontdue
A simple no_std font parser and rasterizer
-
libm
libm in pure Rust
-
standback
New standard library, old compiler
-
safemem
Safe wrappers for memory-accessing functions, like
std::ptr::copy()
-
peekmore
Iterator which can peek forward multiple elements
-
focaccia
no_std implementation of Unicode case folding comparisons
-
js_int
JavaScript-interoperable integer types
-
cstr_core
Implementation of CStr and CString for no_std environments
-
core_extensions
This crate provides many extensions to core/std library types
-
license
Provides embedded license information from SPDX
-
ink_prelude
[ink!] Common API for no_std and std to access alloc crate types
-
ieee754
Low-level manipulations of IEEE754 floating-point numbers
-
odds
Odds and ends — collection miscellania. Extra functionality for slices (
.find()
,RevSlice
), strings and other things. Things in odds may move to more appropriate crates if we find them. -
cpuid-bool
A lightweight and efficient no-std compatible alternative to the is_x86_feature_detected macro
-
assign
Simple macro to allow mutating instance with declarative flavor
-
serde_at
serde serializer/deserializer for AT commands
-
cranelift-bforest
A forest of B+-trees
-
webcomponent
A library for creating web components
-
multibase
multibase in rust
-
obfstr
Compiletime string constant obfuscation for Rust
-
as-slice
AsSlice
andAsMutSlice
traits -
fermium
An opinionated crate of SDL2 bindings
-
multiversion
Easy function multiversioning
-
trapframe
Handle Trap Frame across kernel and user space on multiple ISAs
-
cortex-m-log
Logging facilities for Cortex-M processors
-
dangerous
Safely and explicitly parse untrusted / dangerous data
-
arraydeque
A ring buffer with a fixed capacity, which can be stored on the stack
-
pipe-trait
Make it possible to chain regular functions
-
pro_prelude
[pro!] Common API for no_std and std to access alloc crate types
-
lite-json
Simple JSON parser. Wasm / no_std ready.
-
blobby
Iterator over simple binary blob storage
-
etag
Simple ETag calculation implementation
-
easytime
Providing wrapper types for safely performing panic-free checked arithmetic on instants and durations
-
ruspiro-singleton
Simple and easy to use singleton pattern
-
static_init
Code execution during program initialization/termination phases and non const static initialization (and drop)
-
number-as
Extend primitive number types to make them have a
number_as
method -
ruspiro-lock
Providing Spinlock, Semaphore and mutual exclusive data access for cross core usage on Raspberry Pi
-
fixedvec
A heapless version of the Rust vector type
-
coap-message
Interface to CoAP messages
-
ockam_core
Core types of the Ockam library
-
genio
A type safe, low level replacement for
std::io
. Supportsno_std
for embedded development, just disable cargo featurestd
. Because of limitations ofstd::io::Error
type,genio
providesRead
and… -
joinery
A small crate for generically joining iterators with a separator
-
elf_rs
A simple no_std ELF file reader for ELF32 and ELF64
-
bump-into
a no_std bump allocator sourcing space from a user-provided slice
-
bare-io
The bare essentials of std::io for use in no_std. Alloc support is optional.
-
str-buf
Static string buffer
-
crc-catalog
Catalog of CRC algorithms (generated from http://reveng.sourceforge.net/crc-catalogue) expressed as simple Rust structs
-
wyz
myrrlyn’s utility collection
-
dia-semver
For handling Semantic Versions 2.0.0
-
atat_derive
Derive macro for atat
-
ufmt
A (6-40x) smaller, (2-9x) faster and panic-free alternative to
core::fmt
-
biquad
A library for digital second order IIR filtrers, also known as biquads
-
sipmsg
SIP message parser
-
array-tools
A little collection of array-related utils aiming to make life easier
-
vga
Support for vga specific functions, data structures, and registers
-
tinyvec_string
tinyvec based string types
-
dsmr5
A no-std Rust implementation of the DSMR5 standard
-
search_trees
Utilities for binary search tree, red-black tree, and AVL tree
-
utf8-width
To determine the width of a UTF-8 character by providing its first byte
-
variter
Declarative macro-derivable trait for iterating over field-less enum type variants
-
stackvec
A crate to use stack-allocated Vectors (performance and/or no-std)
-
hexlit
A zero-allocation no_std-compatible zero-cost way to convert hex-strings to byte-arrays at compile time
-
miniarg
A minimal argument parser, with support for no-std and no-alloc
-
riot-wrappers
Rust API wrappers for the RIOT operating system
-
encap_enum
A non-verbose way to define a group of constants and bit flags
-
bit_reverse
Computes the bit reversal of primitive integers
-
scanmut
Insert/remove multiple items from Vecs in O(n) time
-
random-integer
Generate a random integer between two integer numbers (including the two integer numbers)
-
core-error
std::error::Error for libcore
-
cranelift-entity
Data structures using entity references as mapping keys
-
rel-ptr
A tool for building movable self-referential types
-
labrador-ldpc
Encoders and decoders for CCSDS LDPC error correcting codes
-
numid
A macro for generating structures which behave like numerical id
-
plain_hasher
Hasher for 32-byte keys
-
type_level_values
Crate for using type-level values and functions
-
serial_int
Safe, easy-to-use auto-increment integers
-
lysogeny-broth
Substrate for cellular automata in Rust
-
trim-in-place
In-place trimming strings
-
intbits
Easy access to individual bits of integers
-
ux
Implement the following non standard integers: u2, u3, u4, u5, u6, u7, u9, u10, u11, u12, u13, u14, u15, u17, u18, u19, u20, u21, u22, u23, u24, u25, u26, u27, u28, u29, u30, u31, u33…
-
sm
💋 SM – a static State Machine library
-
minicov
Code coverage support for no_std and embedded programs
-
xhci
A library to handle xHCI
-
tstr
Type-level strings
-
drop-move
A Rust library to support moving out of drop
-
fixnum
Fixed-point numbers with explicit rounding
-
bitset-core
Straightforward, no-std compatible, simd optimized, BitSet API
-
hash32
32-bit hashing machinery
-
stmpe1600
Platform-agnostic Rust driver for the STMPE1600 I/O expander
-
figlet-rs
Rust implementation of FIGlet to create ascii art
-
impl_twice
Implement items on two types with only one impl block
-
ruspiro-boot
Bare metal boot strapper code for the Raspberry Pi 3 to conviniently start a custom kernel within the Rust environment without the need to deal with all the initial setup like stack pointers…
-
drogue-es-wifi
Inventek eS-WiFi offload board interface via SPI
-
flags-macro
Provides a helper macro for writing bitflags
-
barebones-watchface
Barebones Watch Face for Mynewt on PineTime Smart Watch
-
nucleo-f401re
Board Support crate for the STM32 NUCLEO-f401RE development board
-
ertrace
Experimental Error Return Tracing for Rust
-
as_any_min
A minuscule rust library that allows trait objects to be easily upcast to Any
-
repr_offset
Offsets of fields for types with a stable layout
-
smart-leds
A crate to use smart-leds device drivers
-
panic-halt
Set panicking behavior to halt
-
cichlid
A color math library for programming addressable LEDs
-
flags
A macro to generate structures which behave like bitflags
-
fast-modulo
fast modulo calculation
-
ptr_meta
A radioactive stabilization of the ptr_meta rfc
-
enum-repr-derive
Simple trait for converting enum to and from its primitive repr type
-
rfc2580
An (enhanced) implementation of RFC 2580
-
ink_primitives
[ink!] Fundamental primitive types for ink! smart contracts
-
card10-l0dable
make l0dables for the Card10 (CCCamp 2019) badge
-
mqtt4bytes
MQTT 4 core serialization and deserialization
-
transpose
Utility for transposing multi-dimensional data
-
pro_lang_ir
data structures and algorithms for pro! intermediate representation
-
core2
The bare essentials of std::io for use in no_std. Alloc support is optional.
-
dyn-fmt
Provides dynamic string format
-
crt0stack
Tools for reading and creating Linux crt0 stack data
-
executor
A minimalistic async/await executor
-
display-interface
Traits for interfaces used to drive displays
-
predicator
predicator allows the creation, loading, and unloading of Rust and other language plugins on the fly using LLVM’s ORC JIT
-
cbitset
A bit set, being able to hold a fixed amount of booleans in an array of integers
-
kiam
Better syntax for if/else chains (when!)
-
pui-arena
Generalized Arenas that can be used on
no_std
-
randomize
Simple and minimalist randomization library
-
bitconv
A simple, zero-dependency, no_std compatible Rust equivalent to the C# BitConverter class
-
btree_error
To avoid duplication, all bforest libs use the same error defined in this crate
-
bbqueue-ng
A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers
-
serde-json-core
serde-json for no_std programs
-
windowed-infinity
A data structure representing an infinite sequentially writable u8 vector of which a small view has writes to it preserved. This is primarily useful when implementing CoAP block-wise transfers…
-
is-prime-for-primitive-int
is_prime for primitive ineger type
-
largeint
A library that supports large integer arithmetic
-
yaxpeax-superh
SuperH decoders for yaxpeax
-
cur_macro
Procedural macros for
cur
-
lolid
Minimal UUID implementation
-
sweeper
A foundation for Minesweeper implementations in Rust
-
publish-rust
cargo publish test
-
anpp
A Rust implementation of the Advanced Navigation Packet Protocol
-
str-concat
Concatenate two adjacent string slices
-
tagged-box
An implementation of Box that uses tagged pointers
-
sensirion-hdlc
Sensirion HDLC implementation
-
s32k144evb
Board support crate for s32k144evb
-
iso7816-tlv
tools and utilities for handling TLV data as defined in ISO/IEC 7816-4
-
oom
One or Many types (Haskell NonEmpty)
-
bitarray
A const generics driven bit array
-
wmm
A no_std WMM library used to calculate the magnetic declination
-
int-conv
Explicit integer conversions
-
correlation_flow
Optical flow measurement with image phase correlation
-
bounced
Debouncing and Testing for Signals and Buttons
-
arinc_429
Types and constants for ARINC 429 communication
-
microcrates-bytes
Types and traits for working with bytes (with no_std support by default)
-
smallest-uint
Gets the smallest unsigned integer type that can represent a given value
-
memory_slice
A memory slice over potentialy uninitialized memory that allowes safe and borrow-checked, reads, writes and reinterpretation of data of any kind
-
optarg2chain
Converts optional arguments to chaining style
-
flips-sys
Raw FFI bindings to Flips, the Floating IPS patcher
-
spms_ring
Single publisher, multiple subscriber ring buffer for pubsub
-
efi_ffi
A foreign function interface to UEFI
-
bxcan
STM32 bxCAN peripheral driver
-
splitty
a string splitter taking quotes into account
-
unsafe_unwrap
Unsafely unwrap Result and Option types without checking
-
sliding_window
A fixed size, heapless sliding window
-
malloced
A malloc-ed box pointer type
-
stable_borrow
A marker trait indicating that borrows are address-stable
-
bitpack
Rust bitpack library, support
no_std
environment -
drogue-rak811
Networking stack for RAK811 LoRa breakout board
-
str_split_mut
Little crate implementing some split-like methods on mutable string slices
-
borrow_trait
Exposes traits for
borrow
andborrow_mut
-
usize_cast
Compile time checked cast from and to
usize
/isize
-
lin-bus
LIN bus driver traits and protocol implementation
-
ve
More compact Vec
-
lc3-isa
Types and friends for the LC-3 ISA
-
macro_helper
A bunch of procedural macros usefuls for write macro_rules! ones
-
kib
Formatting bytes to KiB, MiB
-
pci_types
Library with types for handling PCI devices
-
sensirion-i2c
Common functionality for I2C based sensors from Sensirion
-
card10-sys
Unsafe C bindings for card10 l0dables
-
phantasm
Small lib that helps with variance
-
quantified
Specify the universe: None, Some, Excluding, and All
-
cortex-m-quickstart
A template for building applications for ARM Cortex-M microcontrollers
-
alloc-compose
Composable allocator structures for plugging together more powerful allocators
-
bit_op
Bit manipulation
-
mini-slcan
Serial Line CAN (SLCAN) protocol decoder/encoder
-
typenum-prime
compile-time primality testing of type-level integers from the typenum crate
-
nanobv
Lightweight no_std-compatible const_fn oriented BitVector implementation
-
usbtmc
USBTMC driver for controlling instruments over USB
-
hostname-validator
Validate hostnames according to IETF RFC 1123
-
refmove
An experimental implementation of library-level by-move references
-
stepgen
Stepper motor speed ramp generator
-
derico
Generic state debouncer for complete graphs
-
validated_newtype
Simple newtypes with checked predicates (primarily for serde)
-
sonata
Abstract unconstrained sonata in s-expr
-
serial-line-ip
Serial Line Internet Protocol (SLIP) API
-
alg-grid
Algorithms for pathfinding in a 2D or 3D grid
-
ws2812-timer-delay
Timer-based driver for ws2812 leds
-
g2poly
Primitive implementation of polynomials over the field GF(2)
-
exprz-core
ExprZ Core Library
-
esp_idf
High-level wrapper for ESP-IDF
-
langis
A signal is a structure that can yield an infinite amount of data. The API is very similar to
std::iter::Iterator
but with the assumption that it will never end. -
generativity
Generation of unique invariant lifetimes
-
b2histogram
A compact and efficient integer histogram with fixed memory footprint, constant runtime performance, and (WIP) compact binary serialization
-
ps2
A general PS/2 device driver for nightly Rust
-
lit-html
A library for rendering HTML
-
chek
An assertions library
-
type_val
Type-level values
-
rustc_apfloat
rustc_apfloat ripped out of rustc_private modified to support compiling on stable
-
storage_zip
Utility functions library for zipping Options and Results into tuples
-
align-data
Simply increase the alignment of any statics or include_bytes!
-
ps2-mouse
This crate provides basic access to a ps2 mouse in x86 environments
-
trapper
A library for creating newtypes that don’t require ownership of their internal value
-
as_with_bytes
A way to encode and decode certain values as bytes without performing any duplication of memory. This has probably been done before, but whatever.
-
psp2-sys
Unsafe Rust FFI bindings to the psp2 headers
-
unix_path
Unix-compatible paths regardless of platform
-
cranelift-native
Support for targeting the host with Cranelift
-
validators-options
This is a library for validating and modeling user input and this crate provides options used with the
alidators-derive
crate and thevalidators
crate -
xor_list
An xor doubly-linked list
-
qei
A wrapper that allows to extend quadratic encoder interface (QEI)
-
simble
Simple symbols: allocation-less strings up to 8 bytes long
-
boxed-slice
An easy abstraction around boxed slices sized by a const generic
-
sysfunc-byteorder
Basic compile-time byteorder for various environments #![no_std]
-
accessor
A library to access MMIO space
-
ublox-cellular-rs
Driver crate for u-blox cellular devices, implementation follows ‘UBX-13002752 - R65’
-
pad-adapter
A utility crate that provides pad adapter
-
simple-json2
Simple JSON parser. Wasm / no_std ready.
-
safe_transmute_2
A safe-guarded transmute which aims for a good,short and extensible API
-
blinq
An embedded-hal blinking queue
-
sleef-sys
Rust FFI bindings to the SLEEF Vectorized Math Library
-
samd-dma
DMA wrapper library for SAM micro-controllers
-
gl_matrix
A Rust implementation of glMatrix
-
huber-pilot-one
huber Pilot ONE library
-
badgen
Fast and configurable badge generator
-
umbral-pre
Implementation of Umbral proxy reencryption algorithm
-
wasmer-clif-fork-frontend
Cranelift IR builder helper
-
ticklock
Duration, Instant, Frequency abstraction for embedded
-
pwasm-alloc
Parity WebAssembly standard library internal allocator
-
memselect
No-std compatible memoizing selectors
-
ruspiro-arch-aarch64
This crate provides access to Aarch64 system registers as well as specific usefull aarch64 assembly instructions
-
bool
Straightforward re-useable enum based boolean (which you likely won’t need =))
-
vga-figures
Library for drawing various shapes
-
fast_fmt
This crate provides faster, more flexible and more correct alternative to core::fmt
-
nuuid
A new, no_std, UUID Library
-
json-rpc-types
Type definitions for JSON-RPC
-
compile_ops
Compile time operations to not affect your performance and constness with ecuations you can encode
-
atsams70j19b
Peripheral access API for ATSAMS70J19B microcontrollers from Atmel/Microchip (generated using svd2rust)
-
tstr_proc_macros
Implementation detail of tstr
-
struct_deser
Simple (de)serialization of structs from/to bytes
-
num_x
Implement the following non standard integers: u1, u2, u3, u4, u5, u6, u7, u9, u10, u11, u12, u13, u14, u15, u17, u18, u19, u20, u21, u22, u23, u24, u25, u26, u27, u28, u29, u30, u31…
-
drogue-mpu-6050
InvenSense MPU-6050 i2c Driver
-
pinetime-lvgl
LVGL Bindings for Mynewt on PineTime Smart Watch
-
dangerous_option
This crate provides DangerousOption - a type similar to ! in Swift language. It’s basically an Option which panics if dereferenced while containing None. no_std compatible.
-
cranelift-codegen
Low-level code generator library
-
arraytools
A variety of helpful methods for working with fixed-size arrays
-
ruspiro-mailbox
Raspberry Pi mailbox property tag interface API
-
bit_collection
A trait for iterating over the individual bits of a collection
-
pui-core
Process unique identifiers
-
aarch64-arch-helpers
Helper functions to access aarch64 CPU registers
-
unix_str
Unix-compatible strings regardless of platform
-
malloc
A malloc implementation for a web assembly
-
lazy-pipe
Chain closures into a pipeline
-
samd-timer
High-level API for the TC/TCC peripherals found on the Microchip SAM MCUs
-
vecrem
Cursor-like structure for fast iterative removing of elements from a vec
-
ink_lang
[ink!] Rust based eDSL for writing smart contracts for Substrate
-
display-interface-i2c
Generic I2C implementation for display interfaces
-
uncon
Traits for unchecked conversions between types
-
typsy
Heterogenous containers
-
fast_tuple
This is a Rust procedural macro library that provides an easy way to construct and annotate tuples
-
stm32f407g-disc
Board support crate for the STM32F407G DISCOVERY microcontroller board
-
primitive_traits2
This crate implements traits for primitives as Unsigned and RawPointer
-
c_utf8
UTF-8 encoded C string types
-
lite-parser
Simple parser library. Wasm / no_std ready.
-
foco
Topic-based strongly typed pubsub for no_std rust
-
coresimd
SIMD support in Rust’s core library
-
pro_metadata
[pro!] Metadata definitions for pro! smart contracts
-
coap-numbers
Constants for the CoAP protocol
-
riot-sys
Rust FFI wrappers for the RIOT operating system
-
cranelift-interpreter
Interpret Cranelift IR
-
embedrs-bytes
Types and traits for working with bytes
-
linfo
License info
-
pui-cell
An append only vector, with guaranteed elided bounds checks
-
pinetime-watchface
Watch Face Framework for Mynewt on PineTime Smart Watch
-
repr_offset_derive
For deriving the offsets of fields for types with a stable layout
-
tetsy-plain-hasher
Hasher for 32-byte keys
-
ruspiro-interrupt
Providing a simple and convinient way to implement interrupt handler for Raspberry Pi interrupts
-
err_or
Small lib that helps converting
Option<E>
intoResult<_, E>
-
tetsy-hash-db
Trait for tetsy hash-keyed databases
-
sealingslice
A mutable slice that can seal its initial part off from mutability, and hand out the sealed parts as immutable references
-
cranelift-module
Support for linking functions and data with Cranelift
-
display-interface-parallel-gpio
Generic parallel GPIO interface for display interfaces
-
tetsy-trie-root
Tetsy In-memory patricia trie operations