68 Repositories
Rust no-std-alloc Libraries
A drop-in replacement for std::time::Instant that is faster and more accurate.
Fastant A drop-in replacement for std::time::Instant that measures time with high performance and high accuracy powered by Time Stamp Counter (TSC). U
This library provides a convenient derive macro for the standard library's std::error::Error trait.
derive(Error) This library provides a convenient derive macro for the standard library's std::error::Error trait. [dependencies] therror = "1.0" Compi
Simplify temporary email management and interaction, including message retrieval and attachment downloads, using Rust.
Tempmail The Tempmail simplifies temporary email management and interaction, including message retrieval and attachment downloads, using the Rust prog
A rust-based mechanical keyboard firmware
rumcake A rust-based mechanical keyboard firmware that aims to be decentralized, featureful, and easy to configure. โ rumcake is still a work in progr
Fast array expressions on the stack, no-std compatible
Strobe Fast, low-memory, elementwise array expressions on the stack. Compatible with no-std (and no-alloc) environments. This crate provides array exp
An alternative `std`-like implementation built on origin
origin-studio An alternative `std`-like implementation built on origin origin-stdio is an alternative std-like implementation built on origin. At this
no-std no-alloc Rust protobufs.
noproto No-std, no-alloc protocol buffers (protobuf) implementation in Rust, for embedded systems. Optimized for binary size and memory usage, not for
Zero-copy, no-std proquint encoding and decoding
proqnt A pronounceable quintuplet, or proquint, is a pronounceable 5-letter string encoding a unique 16-bit integer. Proquints may be used to encode b
A no_std GIF library for embedded applications(embedded-graphics)
tinygif A tiny gif decoder written in no_std Rust. This crate requires about 20kB of memory to decode a gif. basic decoding frame iterator interlace s
Ideas = Creations, a multi-language CMS(Content Management System) based on Rust Web stacks, with long-term upgrade and maintenance.
Ideas = Creations ไธญๆ RustHub: Rust ideas yesterday, shining creations today! This repository holds source code used to run https://rusthub.org, it's
A no-std esp32 Wifi Lamp
Nostd-wifi-lamp A Wi-Fi controllable lamp written in Rust for the ESP32 using esp-hal. This was created for a blog post you can read here. Usage Sadly
A minimal, allocation-free Prometheus/OpenMetrics metrics implementation for `no-std` and embedded Rust.
tinymetrics a minimal, allocation-free Prometheus/OpenMetrics metrics implementation for no-std and embedded projects. why should you use it? you may
A Platform-less, Runtime-less Actor Computing Model
CrossBus A Platform-Less, Runtime-Less Actor Computing Model Overview CrossBus is an implementation of Actor Computing Model, with the concept that Ru
An ownership model that is used to replace the Ring in Linux.
std-ownership An ownership model that is used to replace the Ring in Linux. It's 10x faster than Ring in Syscall. Overview The ownership system allows
Prototype of the `std::io::ensure!` family of macros
io-ensure Prototype of the `std::io::ensure` family of macros API Docs | Releases | Contributing Installation $ cargo add io-ensure Safety This crate
๐ฌ shell-candy is a library that wraps Rust's `std::process::Command`
๐ฌ shell-candy is a library that wraps Rust's `std::process::Command`, providing a functional mechanism for handling stdout/stderr streams of spawned tasks..
An embedded-hal driver for the TT21100 multi-touch touchscreen controller
tt21100 An embedded-hal driver for the TT21100 multi-touch touchscreen controller. If there is a feature which has not yet been implemented and which
A micro crate that simplifies a bit the use of the std macro thread_local!.
with-thread-local A micro crate that simplifies a bit the use of the std macro thread_local!. extern crate regex; use with_thread_local::with_thread_
A library to provide abstractions to access common utilities when developing Dioxus applications.
๐งฐ Dioxus Standard Library ๐ A platform agnostic library for supercharging your productivity with Dioxus. dioxus-std is a Dioxus standard library tha
A minimal and fast zero-copy parser for the PE32+ file format.
peview A minimal and fast zero-copy parser for the PE32+ file format. Goal This project aims to offer a more light weight and easier to use alternativ
implementations of standard library components for bare-metal aarch64
aarch64-std aarch64-std implements components from the Rust standard library in a way suitable for no_std or bare metal ARM applications. Design Goals
Allocation-free UnionFind library for bare metal environments
Allocation-free UnionFind library for bare metal environments The library provides the following algorithms that is used with UnionFind. QuickFind Qui
A tiny Rust std-lib for Linux x86_64 and aarch64
Tiny std Like a bad, probably buggy, tiny standard library for Linux. When it's appropriate If you are actually trying to do something solid, checkout
Low-level CPU and register abstractions for the N64 console
Description This crate is a low-level abstraction (aka a Peripheral Access Crate) over the CPU and memory-mapped registers available on the Nintendo 6
Custom formatting for Rust.
custom-format This crate extends the standard formatting syntax with custom format specifiers, by providing custom formatting macros. It uses : (a spa
A no-std / no-alloc TLS 1.3 client
puny-tls - no-std/no-alloc TLS 1.3 client This is an improvement over tiny-tls-rs to make it more useable. However the only reason this exists is to r
๐ A very lightweight wrapper around the Vulkan Memory Allocator ๐ฆ
๐ vk-mem-alloc-rs A very lightweight wrapper around the Vulkan Memory Allocator ๐ฆ [dependencies] vk-mem-alloc = "0.1.1" Simple Vulkan Memory Allocat
Ector is an open source async, no-alloc actor framework for embedded devices
Ector is an open source async, no-alloc actor framework for embedded devices. Ector is an open source async, no-alloc actor framework for embedded dev
๐คฉ Flexible interpreted programming language
Jel Flexible, memory-safe, easy-to-use, interpreted programming language. work in progress Example Hello World: print(Hello World!) # this is valid pr
Rust High Performance compile-time ORM(RBSON based)
WebSite | ็ฎไฝไธญๆ | Showcase | ๆกไพ A highly Performant,Safe,Dynamic SQL(Compile time) ORM framework written in Rust, inspired by Mybatis and MybatisPlus.
Simple time handling in Rust
time Documentation: latest release main branch book Minimum Rust version policy The time crate is guaranteed to compile with any release of rustc from
Automatically cross-compiles the sysroot crates core, compiler_builtins, and alloc.
cargo-xbuild Cargo-xbuild is a wrapper for cargo build, which cross compiles the sysroot crates core, compiler_builtins, and alloc for custom targets.
A simple MD5 implementation with a focus on buffered reading
md5-rs A simple MD5 implementation with a focus on buffered reading, and is completely no_std. This shouldn't be used in any security-critical softwar
An unofficial and incomplete no_std Rust library for implementing the ElectricUI Binary Protocol
An unofficial and incomplete no_std Rust library for implementing the ElectricUI Binary Protocol
dark-std an Implementation of asynchronous containers build on tokio
dark-std dark-std is an Implementation of asynchronous containers build on tokio. It uses a read-write separation design borrowed from Golang SyncHash
An attempt to implement equivalent of C++ "P1478R1: Byte-wise atomic memcpy" in Rust
atomic-memcpy Byte-wise atomic memcpy. This is an attempt to implement equivalent of C++ "P1478R1: Byte-wise atomic memcpy" in Rust. This is expected
Portable atomic types.
portable-atomic Portable atomic types. Provide all atomic integer types (Atomic{I,U}{8,16,32,64}) for all targets that can use atomic CAS. (i.e., all
A bit vector with the Rust standard library's portable SIMD API
bitsvec A bit vector with the Rust standard library's portable SIMD API Usage Add bitsvec to Cargo.toml: bitsvec = "x.y.z" Write some code like this:
Allocate memory at compile time!
const-alloc Link to the docs! Allocate memory at compile time! Currently, in stable rust there is no way to dynamically allocate or deallocate memory
A concurrency framework for building real-time systems
Real-Time Interrupt-driven Concurrency A concurrency framework for building real-time systems. Formerly known as Real-Time For the Masses. Features Ta
It's implemented by laying out the elements in memory contiguously like alloc::vec::Vec
A VecT: ?Sized It's implemented by laying out the elements in memory contiguously like alloc::vec::Vec Layout A Vechonk is 4 usize long. It owns a s
How to: Run Rust code on your NVIDIA GPU
Status This documentation about an unstable feature is UNMAINTAINED and was written over a year ago. Things may have drastically changed since then; r
Extent - replacement for std::ops::{Range,RangeInclusive}
extent This is an alternative to std::ops::{Range,RangeInclusive}, avoiding the quirks of those types (non-Copy, inability to produce empty inclusive
Additional Rust collections not found in std::collections
More collections Rust crate with additional collections not found in std::collections. Multimaps Completion Name Behaves like ๐ฉ ๐ฉ ๐จ โฌ๏ธ โฌ๏ธ HashSetMu
Cross-platform async library for system information fetching ๐ฆ
heim Cross-platform library for system information fetching heim is an ongoing attempt to create the best tool for system information fetching (ex., C
๐ An async & dynamic ORM for Rust
SeaORM ๐ An async & dynamic ORM for Rust SeaORM SeaORM is a relational ORM to help you build web services in Rust with the familiarity of dynamic lan
Portable linked-list allocator designed for baremetal systems
Palloc Portable linked-list allocator for embedded / baremetal systems. Using the crate Include this in the [dependencies] section of Cargo.toml pallo
A Rust no-std (de)compressor based on PAQ
MASHI ใพใ A 100% no-std compatible Rust implementation of a PAQ style arithmetic coding, context mixing compressor. Its intended use case is compressin
std::simd implementation of BLAKE3
BLAKE3-STD the first blake3 implementation on std::simd ONLY COMPILES WITH NIGHTLY [dependencies] blake3-std = "0.0.1" OFFICIAL DOC BLAKE3 is a crypto
โจ Safe, global singletons initialized at program start
โจ magic_static Safe, global singletons initialized at program start. Usage Simply add magic_static as a dependency in your Cargo.toml to get started:
Gossip-based cluster membership discovery (SWIM)
Foca: Cluster membership discovery on your terms Foca is a building block for your gossip-based cluster discovery. It's a small no_std + alloc crate t
single file, std only, async Rust executor
whorl - A single file, std only, async Rust executor whorl was created to teach you how async executors work in Rust. It is not the fastest executor n
Rust seL4 toy system built on ferros for the imx6 sabrelite platform
Rust seL4 toy system built on ferros for the imx6 sabrelite platform ferros: A Rust-based userland which also adds compile-time assurances to seL4 dev
argmax is a library that allows Rust applications to avoid Argument list too long errors (E2BIG) by providing a std::process::Command wrapper with a
argmax argmax is a library that allows Rust applications to avoid Argument list too long errors (E2BIG) by providing a std::process::Command wrapper w
Rust on ESP32 STD "Hello, World" app. A "Hello, world!" STD binary crate for the ESP32[XX] and ESP-IDF.
Rust on ESP32 STD "Hello, World" app A "Hello, world!" STD binary crate for the ESP32[XX] and ESP-IDF. This is the crate you get when running cargo ne
async-alloc-counter measures max allocations in a future invocation
async-alloc-counter measures max allocations in a future invocation see examples/ for usage This allocator can be used as follows: use async_alloc_cou
An extension to Rust std for beginner exercises
note: this is for practicing rust only, do not use this in actual production programs! really, don't. [dependencies] simple-std = "0.1.1" simple-std i
Utility library to work with tuples.
Utility library to work with tuples.
Serde is a framework for serializing and deserializing Rust data structures efficiently and generically.
Serde is a framework for serializing and deserializing Rust data structures efficiently and generically.
Debug2 is a pretty printing crate based on std::fmt
debug2 is a pretty printing crate based on std::fmt Why not just use Debug The Debug trait is good, but the problem is it is not very good at n
Totally Speedy Transmute (TST) is a library providing a small, performance oriented, safe version of std::mem::transmute
Totally Speedy Transmute An evil spiritual successor to Totally Safe Transmute What is it? Totally Speedy Transmute (TST) is a library providing a sma
Padding/aligning values without heap allocation
zero-copy-pads Padding/aligning values without heap allocation. Cargo Features std (default feature): Disable #![no_std]. Enable features that require
Cassette A simple, single-future, non-blocking executor intended for building state machines.
Cassette A simple, single-future, non-blocking executor intended for building state machines. Designed to be no-std and embedded friendly. This execut
Rhai - An embedded scripting language for Rust.
Rhai is an embedded scripting language and evaluation engine for Rust that gives a safe and easy way to add scripting to any application.
C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain
C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain
Rhai - An embedded scripting language for Rust.
Rhai - Embedded Scripting for Rust Rhai is an embedded scripting language and evaluation engine for Rust that gives a safe and easy way to add scripti
Expanding opportunities standard library std::fs and std::io
fs_extra A Rust library that provides additional functionality not present in std::fs. Documentation Migrations to 1.x.x version Key features: Copy fi
The sysroot manager that lets you build and customize `std`
PSA: Xargo is in maintenance mode xargo The sysroot manager that lets you build and customize std Cross compiling `std` for i686-unknown-linux-gnu Xar