Curated list of awesome lists
Awesome Rust
A curated list of Rust code and resources.
If you want to contribute, please read this.
Table of contents
Applications
See also Rust — Production organizations running Rust in production.
-
alacritty — A cross-platform, GPU enhanced terminal emulator
-
Arti — An implementation of Tor, in Rust. (So far, it's a not-very-complete client. But watch this space!)
-
asm-cli-rust — An interactive assembly shell written in rust.
-
broot A new way to see and navigate directory trees (get an overview of a directory, even a big one; find a directory then
cd
to it; never lose track of file hierarchy while you search; manipulate your files, ...), further reading dystroy.org/broot
-
cloudflare/boringtun — A Userspace WireGuard VPN Implementation
-
datafusion — Apache Arrow DataFusion and Ballista query engines
-
denoland/deno — A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio
-
doprz/dipc — Convert your favorite images and wallpapers with your favorite color palettes/themes
-
Factotum — A system to programmatically run data pipelines
-
fcsonline/drill — A HTTP load testing application inspired by Ansible syntax
-
fend - Arbitrary-precision unit-aware calculator
-
Fractalide — Simple Rust Microservices
-
habitat — A tool created by Chef to build, deploy, and manage applications.
-
Herd — an experimental HTTP load testing application
-
hickory-dns — A DNS-server
-
innernet - An overlay or private mesh network that uses Wireguard under the hood
-
jedisct1/flowgger — A fast, simple and lightweight data collector
-
kalker - A scientific calculator that supports math-like syntax with user-defined variables, functions, derivation, integration, and complex numbers. Cross-platform + WASM support
-
kytan — High Performance Peer-to-Peer VPN
-
linkerd/linkerd2-proxy — Ultralight service mesh for Kubernetes.
-
MaidSafe — A decentralized platform.
-
mdBook — A command line utility to create books from markdown files
-
nicohman/eidolon — A steam and drm-free game registry and launcher for linux and macosx
-
notty — A new kind of terminal
-
Pijul — A patch-based distributed version control system
-
Rauthy — OpenID Connect Single Sign-On Identity & Access Management
-
Rio - A hardware-accelerated GPU terminal emulator powered by WebGPU, focusing to run in desktops and browsers.
-
rx — Vi inspired Modern Pixel Art Editor
-
Servo — A prototype web browser engine
-
shoes - A multi-protocol proxy server
-
shuttle — A serverless platform built for Rust
-
Sniffnet — Cross-platform application to monitor your network traffic with ease
-
SWC — super-fast TypeScript / JavaScript compiler
-
tiny — A terminal IRC client
-
UpVPN — WireGuard VPN client for macOS, Linux, and Windows built on Tauri.
-
wasmer — A safe and fast WebAssembly runtime supporting WASI and Emscripten
-
Weld — Full fake REST API generator
-
wezterm — A GPU-accelerated cross-platform terminal emulator and multiplexer
-
WinterJS — A secure JavaScript runtime built with SpiderMonkey, Rust and Axum
-
zellij — A terminal multiplexer (workspace) with batteries included
Audio and Music
-
enginesound — A GUI and command line application used to procedurally generate semi-realistic engine sounds. Featuring in-depth configuration, variable sample rate and a frequency analysis window.
-
figsoda/mmtc [mmtc] — Minimal mpd terminal client that aims to be simple yet highly configurable
-
Glicol — Graph-oriented live coding language written in Rust for collaborative musicking in browsers.
-
ncspot - Cross-platform ncurses Spotify client, inspired by ncmpc and the likes.
-
Polaris — A music streaming application.
-
Spotify TUI — A Spotify client for the terminal written in Rust.
-
Spotifyd — An open source Spotify client running as a UNIX daemon.
-
WhatBPM — A daily statically generated information resource for electronic dance music producers. Provides daily analytics on the most frequently used values for each EDM genre: tempos, keys, root notes, and so on, using publicly available data such as Beatport and Spotify.
Cryptocurrencies
-
artemis - A simple, modular, and fast framework for writing MEV bots in Rust.
-
beerus - Beerus is a trustless StarkNet Light Client, ⚡blazing fast ⚡ and powered by Rust 🦀
-
Bitcoin Satoshi's Vision [sv] — A Rust library for working with Bitcoin SV .
-
cairo - Cairo is the first Turing-complete language for creating provable programs for general computation. This is also the native language of StarkNet, a ZK-Rollup using STARK proofs
-
cairo-vm — Rust implementation of the Cairo VM
-
ChainX — Fully Decentralized Interchain Crypto Asset Management on Polkadot.
-
CITA — A high performance blockchain kernel for enterprise users.
-
coinbase-pro-rs — Coinbase pro client in Rust, supports sync/async/websocket
-
Diem — Diem’s mission is to enable a simple global currency and financial infrastructure that empowers billions of people.
-
electrumrs — An efficient re-implementation of Electrum Server in Rust.
-
ethabi - Encode and decode smart contract invocations.
-
ethaddrgen — Custom Ethereum vanity address generator made in Rust
-
ethers-rs - Complete Ethereum & Celo library and wallet implementation in Rust.
-
etk - etk is a collection of tools for writing, reading, and analyzing EVM bytecode.
-
Forest - Rust Filecoin implementation
-
Foundry - Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
-
Grin — Evolution of the MimbleWimble protocol
-
hdwallet [hdwallet] — BIP-32 HD wallet related key derivation utilities.
-
Holochain — Scalable P2P alternative to blockchain for all those distributed apps you always wanted to build.
-
ibc-rs - Rust implementation of the Interblockchain Communication protocol
-
infincia/bip39-rs [bip39] — Rust implementation of BIP39.
-
interBTC — Trustless and fully decentralized Bitcoin bridge to Polkadot and Kusama.
-
Joystream — A user governed video platform
-
Lighthouse — Rust Ethereum Consensus Layer (CL) Client
-
madara - Kaioshin is a ⚡ blazing fast ⚡ Starknet sequencer, based on substrate and written in Rust 🦀.
-
mev-inspect-rs - Ethereum MEV Inspector in Rust
-
near/nearcore — decentralized smart-contract platform for low-end mobile devices.
-
Nervos CKB — Nervos CKB is a public permissionless blockchain, the common knowledge layer of Nervos network.
-
Nimiq — Rust implementation of Nimiq node
-
opensea-rs - Rust bindings & CLI to the Opensea API and Contracts.
-
Parity-Bitcoin — The Parity Bitcoin client
-
Phala-Network/phala-blockchain — Confidential smart contract blockchain based on Intel SGX and Substrate
-
Polkadot — Heterogeneous multi‑chain technology with pooled security
-
revm - Revolutionary Machine (revm) is a fast Ethereum virtual machine written in rust.
-
rust-bitcoin — Library with support for de/serialization, parsing and executing on data structures and network messages related to Bitcoin.
-
rust-lightning — Bitcoin Lightning library written in Rust. The main crate,
lightning
, does not handle networking, persistence, or any other I/O. Thus,it is runtime-agnostic, but users must implement basic networking logic, chain interactions, and disk storage.po on linking crate.
-
sigma-rust — Rust implementation of ErgoTree interpreter and wallet-related features.
-
Solana — Incredibly fast, highly scalable blockchain using Proof-of-History.
-
Substrate — Generic modular blockchain template written in Rust
-
Sui — A next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language.
-
svm-rs - Solidity-Compiler Version Manager.
-
tendermint-rs - Rust implementation of Tendermint blockchain data structures and clients
-
wagyu [wagyu] — Rust library for generating cryptocurrency wallets
-
zcash — Zcash is an implementation of the "Zerocash" protocol.
Database
-
Atomic-Server [atomic-server] - NoSQL graph database with realtime updates, dynamic indexing and easy-to-use GUI for CMS purposes.
-
CozoDB - A transactional, relational database that uses Datalog and focuses on graph data and algorithms. Time-travel-capable, and fast!
-
Databend - A Modern Real-Time Data Processing & Analytics DBMS with Cloud-Native Architecture
-
DB3 Network — DB3 is a community-driven blockchain layer2 decentralized database network
-
erikgrinaker/toydb — Distributed SQL database in Rust, written as a learning project.
-
GreptimeDB - An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported.
-
indradb — Rust based graph database
-
Lucid — High performance and distributed KV store accessible through a HTTP API.
-
Materialize - Streaming SQL database powered by Timely Dataflow :heavy_dollar_sign:
-
Neon Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
-
noria [noria] — Dynamically changing, partially-stateful data-flow for web application backends
-
ParityDB — Fast and reliable database, optimised for read operation
-
PumpkinDB — an event sourcing database engine
-
Qdrant - An open source vector similarity search engine with extended filtering support
-
RisingWaveLabs/RisingWave - the next-generation streaming database in the cloud
-
seppo0010/rsedis — A Redis reimplementation in Rust
-
Skytable — A multi-model NoSQL database
-
sled — A (beta) modern embedded database
-
SurrealDB — A scalable, distributed, document-graph database
-
TerminusDB - open source graph database and document store
-
tikv — A distributed KV database in Rust
-
vorot93/libmdbx-rs [mdbx-sys] — Rust bindings for MDBX, a "fast, compact, powerful, embedded, transactional key-value database, with permissive license". This is a fork of mozilla/lmdb-rs with patches to make it work with libmdbx.
-
WooriDB - General purpose time serial database inspired by Crux and Datomic.
Emulators
See also crates matching keyword 'emulator'.
- CHIP-8
- Commodore 64
- Flash Player
-
Ruffle — Ruffle is an Adobe Flash Player emulator written in the Rust programming language. Ruffle targets both the desktop and the web using WebAssembly.
- Gameboy
- Gameboy Advance
- GameMaker
-
OpenGMK — OpenGMK is a modern rewrite of the proprietary GameMaker Classic engines, providing a full sourceport of the runner, a decompiler, a TASing framework, and libraries for working with gamedata yourself.
- Intel 8080 CPU
- iOS
-
touchHLE — High-level emulator for iPhone OS apps
- iPod
-
clicky — A clickwheel iPod emulator (WIP)
- NES
- Nintendo DS
-
dust — A Nintendo DS emulator written in Rust
- PlayStation 4
-
Obliteration — Experimental PS4 emulator written in Rust for Windows, macOS and Linux
- ZX Spectrum
Games
See also Games Made With Piston.
Graphics
Image processing
Industrial automation
Observability
-
avito-tech/bioyino — A high-performance scalable StatsD compatible server.
-
OpenTelemetry — OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. You can analyze them using Prometheus, Jaeger, and other observability tools.
-
Quickwit-oss/quickwit - Cloud-native and highly cost-efficient search engine for log management.
-
Scaphandre - A power consumption monitoring agent, to track host and each service power consumption and enable designing systems and applications for more sustainability. Designed to fit any monitoring toolchain (already supports prometheus, warp10, riemann...).
-
vectordotdev/vector — A High-Performance, Logs, Metrics, & Events Router.
Operating systems
See also A comparison of operating systems written in Rust.
Package Managers
Payments
-
hyperswitch — An open source payments orchestrator that lets you connect with multiple payment processors and route payment traffic effortlessly, all with a single API integration
Productivity
-
Bartib [Bartib] - A simple timetracker for the command line
-
espanso — A cross-platform Text Expander written in Rust
-
eureka — A CLI tool to input and store your ideas without leaving the terminal
-
Furtherance - Time tracking app built with Rust and GTK4
-
illacloud/illa [ILLA Cloud] - Low-code internal tool builder written with Rust.
-
LLDAP - Simplified LDAP interface for authentication.
-
pier-cli/pier — A central repository to manage (add, search metadata, etc.) all your one-liners, scripts, tools, and CLIs
Routing protocols
-
Holo - Holo is a suite of routing protocols designed to support high-scale and automation-driven networks
-
RustyBGP - BGP implemented in the Rust Programming Language
-
AFLplusplus/LibAFL - Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, etc.
-
cargo-audit - Audit Cargo.lock for crates with security vulnerabilities
-
cargo-auditable - Make production Rust binaries auditable
-
cargo-crev - A cryptographically verifiable code review system for the cargo (Rust) package manager.
-
cargo-deny - Cargo plugin to help you manage large dependency graphs
-
Cherrybomb - Stop half-done API specifications with a CLI tool that helps you avoid undefined user behaviour by validating your API specifications.
-
cotp - Trustworthy, encrypted, command-line TOTP/HOTP authenticator app with import functionality.
-
epi052/feroxbuster - A simple, fast, recursive content discovery tool written in Rust (
-
Inspektor - A database protocol-aware proxy that is used to enforce access policies 👮
-
kpcyrd/authoscope — A scriptable network authentication cracker
-
kpcyrd/rshijack — A TCP connection hijacker, rust rewrite of shijack
-
kpcyrd/sn0int — A semi-automatic OSINT framework and package manager
-
kpcyrd/sniffglue — A secure multithreaded packet sniffer
-
ObserverWard — Community based web technologies analysis tool.
-
ripasso — A password manager, filesystem compatible with pass
-
rustscan/rustscan — Make Nmap faster with this port scanning tool
Social networks
- Mastodon
-
Rustodon - A Mastodon-compatible, ActivityPub-speaking server in Rust
-
ajeetdsouza/zoxide — A fast alternative to
cd
that learns your habits
-
Alonely0/Voila — Voila is a domain-specific language launched through CLI tool for operating with files and directories in massive amounts in a fast & reliable way.
-
atuin [atuin] — Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.
-
bandwhich — Terminal bandwidth utilization tool
-
bottom - Yet another cross-platform graphical process/system monitor.
-
brocode/fblog — Small command-line JSON Log viewer
-
bustd - Lightweight process killer daemon to handle out-of-memory scenarios on Linux.
-
buster/rrun — A command launcher for Linux, similar to gmrun
-
cantino/mcfly - Fly through your shell history. Great Scott!
-
crabz - Multi-threaded compression and decompression CLI tool
-
cristianoliveira/funzzy — A configurable filesystem watcher inspired by entr
-
dalance/procs — A modern replacement for 'ps' written by Rust
-
ddh — Fast duplicate file finder
-
diskonaut — Terminal visual disk space navigator
-
dust — A more intuitive version of du
-
eza-community/eza — A replacement for 'ls'
-
fselect — Find files with SQL-like queries
-
gitui - Blazing fast terminal client for git written in Rust.
-
GQL — A SQL like query language to run on .git files.
-
j0ru/kickoff - Fast and snappy wayland program launcher
-
Kondo - CLI & GUI tool for deleting software project artifacts and reclaiming disk space
-
lodosgroup/lpm — An experimental system package manager
-
lotabout/rargs [rargs] — xargs + awk with pattern matching support
-
lotabout/skim — A fuzzy finder in pure rust
-
lsd — An ls with a lot of pretty colors and awesome icons
-
Luminarys/synapse — Flexible and fast BitTorrent daemon.
-
m4b/bingrep — Greps through binaries from various OSs and architectures, and colors them.
-
mdgaziur/findex - Findex is a highly customizable application finder written in Rust and uses GTK3
-
mitnk/cicada — A bash-like Unix shell
-
mmstick/concurr — Alternative to GNU Parallel w/ a client-server architecture
-
mmstick/fontfinder — GTK3 application for previewing and installing Google's fonts
-
mmstick/tv-renamer — A tv series renaming application with an optional GTK3 frontend.
-
mxseev/logram — Push log files' updates to Telegram
-
nickgerace/gfold [gfold] - CLI tool to help keep track of multiple Git repositories
-
nivekuil/rip - A safe and ergonomic alternative to
rm
-
nushell/nushell - A new type of shell
-
orhun/kmon — Linux Kernel Manager and Activity Monitor
-
orhun/systeroid — A more powerful alternative to sysctl(8) with a terminal user interface
-
ouch - Painless compression and decompression on the command-line
-
pkolaczk/fclones — Efficient duplicate file finder and remover
-
pop-os/popsicle — GTK3 & CLI utility for flashing multiple USB devices in parallel
-
pop-os/system76-power — Linux power management daemon (DBus-interface) with CLI tool.
-
pueue — Manage your long running shell commands.
-
qarmin/cakawka - Multi-functional app to find duplicates, empty folders, similar images, etc.
-
redox-os/ion — Next-generation system shell
-
sharkdp/bat — A cat(1) clone with wings.
-
sharkdp/fd — A simple, fast and user-friendly alternative to find.
-
sitkevij/hex — A colorized hexdump terminal utility.
-
supercilex/fuc - Fast
cp
and rm
commands
-
trippy - A network diagnostic tool
-
uutils/coreutils — A cross-platform Rust rewrite of the GNU coreutils [
-
watchexec — Executes commands in response to file modifications
-
XAMPPRocky/tokei — counts the lines of code
Task scheduling
-
delicate — A lightweight and distributed task scheduling platform written in rust.
Text editors
-
amp — Inspired by Vi/Vim.
-
emacs-ng — Complementing the C codebase with rust code to introduce new features.
-
gchp/iota — A simple text editor
-
helix — A post-modern modal text editor inspired by Neovim/Kakoune.
-
ilai-deutel/kibi — A tiny (≤1024 LOC) text editor with syntax highlighting, incremental search and more.
-
Lapce — A modern editor with a backend written in Rust. Taking inspiration from the discontinued xi-editor.
-
mathall/rim — Vim-like text editor written in Rust
-
ox — An independent Rust text editor that runs in your terminal!
-
vamolessa/pepper [pepper] — An opinionated modal editor to simplify code editing from the terminal
Text processing
-
dominikwilkowski/cfonts [cfonts] — Sexy ANSI fonts for the console
-
grex — A command-line tool and library for generating regular expressions from user-provided test cases
-
jqnatividad/qsv [qsv] — A high performance CSV data-wrangling toolkit. Forked from xsv, with 34+ additional commands & more.
-
Lisprez/so_stupid_search — A simple and fast string search tool for human beings
-
Melody - A language that compiles to regular expressions and aims to be more easily readable and maintainable
-
phiresky/ripgrep-all — ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.
-
replicadse/complate — An in-terminal text templating tool designed for standardizing messages (like for GIT commits).
-
ripgrep — combines the usability of The Silver Searcher with the raw speed of grep
-
ruplacer — Find and replace text in source files
-
sd — Intuitive find & replace CLI
-
sstadick/hck - A faster and more featureful drop in replacement for
cut
-
vishaltelangre/ff — Find files (ff) by name!
-
whitfin/bytelines [bytelines] — Read input lines as byte slices for high efficiency.
-
whitfin/runiq — an efficient way to filter duplicate lines from unsorted input.
-
xsv — A fast CSV command line tool (slicing, indexing, selecting, searching, sampling, etc.)
Utilities
-
1History — Command line interface to backup Firefox/Chrome/Safari history to one SQLite file
-
brycx/checkpwn — A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords.
-
Epic Asset Manager — An unofficial client to install Unreal Engine, download and manage purchased assets, projects, plugins and games from the Epic Games Store.
-
evansmurithi/cloak — A Command Line OTP (One Time Password) Authenticator application.
-
fcsonline/tmux-thumbs — A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator.
-
guoxbin/dtool — A useful command-line tool collection to assist development including conversion, codec, hashing, encryption, etc.
-
mprocs — TUI for running multiple processes
-
mrjackwills/oxker [oxker] - A simple tui to view & control docker containers.
-
nix-community/nix-init — Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more
-
nix-community/nix-melt — A ranger-like flake.lock viewer
-
nix-community/nurl [nurl] — Generate Nix fetcher calls from repository URLs
-
nomino — Batch rename utility for developers
-
raftario/licensor — write licenses to stdout
-
rust-parallel - Fast command line app using Tokio to execute commands in parallel. Similar interface to GNU Parallel or xargs.
-
rustdesk/rustdesk — A remote desktop software, great alternative to TeamViewer and AnyDesk.
-
rustic-rs/rustic [rustic-rs] — Fast, encrypted, deduplicated backups powered by Rust.
-
suckit - Recursively visit and download a website's content to your disk.
-
tversteeg/emplace — Synchronize installed packages on multiple machines
-
vamolessa/verco [verco] — A simple Git/Hg tui client focused on keyboard shortcuts
-
vaultwarden — Alternative implementation of the Bitwarden server API written in Rust
-
warpdotdev/Warp :heavy_dollar_sign: — Warp is a blazingly-fast modern Rust based GPU-accelerated terminal built to make you and your team more productive.
-
wrestic — 👽 A wrapper around restic built in rust
-
yaa110/cb — Command line interface to manage clipboard
Video
Virtualization
Web
-
cfal/tobaru - Port forwarder with allowlists, IP and TLS SNI/ALPN rule-based routing, iptables support, round-robin forwarding (load balancing), and hot reloading.
-
LemmyNet/lemmy — A link aggregator / reddit clone for the fediverse
-
libreddit - An alternative private front-end to Reddit
-
MASQ-Project/Node — MASQ Node software provides a decentralized mesh-network of nodes for global users to access normal internet content - next evolution of tech beyond Tor & VPN
-
Plume-org/Plume — ActivityPub federating blogging application
-
Revolt/backend - User-first chat platform built with modern web technologies.
Web Servers
-
bacon — background rust code checker, similar to cargo-watch
-
clippy — Rust lints
-
clog-tool/clog-cli — generates a changelog from git metadata (conventional changelog)
-
comtrya — A configuration management tool for localhost / dotfiles
-
create-rust-app — Set up a modern rust+react web app by running one command.
-
dan-t/rusty-tags — create ctags/etags for a cargo project and all of its dependencies
-
datanymizer/datanymizer - Powerful database anonymizer with flexible rules
-
delta — A syntax-highlighter for git and diff output
-
dotenv-linter — Linter for
.env
files
-
frolic — An API layer to build customer facing dashboards 10x faster
-
fw — workspace productivity booster
-
geiger — A program that list statistics related to usage of unsafe Rust code in a Rust crate and all its dependencies
-
git-cliff — A highly customizable Changelog Generator that follows Conventional Commit specifications
-
git-journal — The Git Commit Message and Changelog Generation Framework
-
hot-lib-reloader — Hot reload Rust code
-
intelli-shell - Bookmark commands with placeholders and search or autocomplete at any time
-
just — A handy command runner for project-specific tasks
-
mask — A CLI task runner defined by a simple markdown file
-
Module Linker — Extension that adds
<a>
links to references in mod
, use
and extern crate
statements at GitHub.
-
ptags — A parallel universal-ctags wrapper for git repository
-
Racer — code completion for Rust
-
Rust Search Extension — A handy browser extension to search crates and docs in address bar (omnibox).
-
rust-lang/rustfix — automatically applies the suggestions made by rustc
-
Rustup — the Rust toolchain installer
-
scriptisto A language-agnostic "shebang interpreter" that enables you to write one file scripts in compiled languages.
Build system
-
Cargo — the Rust package manager
-
cargo-all-features - A configurable subcommand to simplify testing, building and much more for all combinations of features
-
cargo-benchcmp — A utility to compare Rust micro-benchmarks
-
cargo-bitbake — A cargo extension that can generate BitBake recipes utilizing the classes from meta-rust
-
cargo-cache — inspect/manage/clean your cargo cache (
~/.cargo/
/${CARGO_HOME}
), print sizes etc
-
cargo-check — A wrapper around
cargo rustc -- -Zno-trans
which can be helpful for running a faster compile if you only need correctness checks
-
cargo-commander — A subcommand for
cargo
to run CLI commands similar to how the scripts section in package.json
works
-
cargo-count — lists source code counts and details about cargo projects, including unsafe statistics
-
cargo-deb — Generates binary Debian packages
-
cargo-deps — build dependency graphs of Rust projects
-
cargo-do — run multiple cargo commands in a row
-
cargo-ebuild — cargo extension that can generate ebuilds using the in-tree eclasses
-
cargo-edit — allows you to add and list dependencies by reading/writing to your Cargo.toml file from the command line
-
cargo-generate A generator of a rust project by leveraging a pre-existing git repository as a template.
-
cargo-graph — updated fork of
cargo-dot
with additional features. Unmaintained, see cargo-deps
-
cargo-info — queries crates.io for crates details from command line
-
cargo-license — A cargo subcommand to quickly view the licenses of all dependencies.
-
cargo-limit — Cargo with less noise: warnings are skipped until errors are fixed, Neovim integration, etc.
-
cargo-make — Rust task runner and build tool.
-
cargo-modules — A cargo plugin for showing a tree-like overview of a crate's modules.
-
cargo-multi — runs specified cargo command on multiple crates
-
cargo-outdated — displays when newer versions of Rust dependencies are available, or out of date
-
cargo-rdme [cargo-rdme] — Cargo subcommand to create your README from your crate’s documentation.
-
cargo-release — tool for releasing git-managed cargo project, build, tag, publish, doc and push
-
cargo-script — lets people quickly and easily run Rust "scripts" which can make use of Cargo's package ecosystem
-
cargo-udeps [cargo-udeps] — find unused dependencies
-
cargo-update — cargo subcommand for checking and applying updates to installed executables
-
cargo-watch — utility for cargo to compile projects when sources change
-
dtolnay/cargo-expand — Expand macros in your source code
- CMake
-
Fleet [fleet-rs] - The blazing fast build tool for Rust.
- Github actions
-
Nix
Debugging
- GDB
-
gdbgui — Browser based frontend for gdb to debug C, C++, Rust, and go.
- LLDB
Deployment
Embedded
Rust Embedded focuses on improving the end-to-end experience of using Rust in resource-constrained environments and non-traditional platforms. See awesome-embedded-rust for a curated, and more extended list of embedded Rust resources.
- Arduino
- Cross compiling
-
japaric/rust-cross — everything you need to know about cross compiling Rust programs
-
japaric/xargo — effortless cross compilation of Rust programs to custom bare-metal targets like ARM Cortex-M
- Espressif
-
esp-rs home to a number of community projects enabling the use of the Rust programming language on various SoCs and modules produced by Espressif Systems.
- Firmware
-
oreboot/oreboot — oreboot is a fork of coreboot, with C removed, written in Rust
- nRF
FFI
See also Foreign Function Interface, The Rust FFI Omnibus (a collection of examples of using code written in Rust from other languages) and FFI examples written in Rust.
- C
- C#
-
csbindgen - generates C# bindings for Rust source files
- C++
- Erlang
- Java
- Lua
- mruby
- Node.js
- Objective-C
- PHP
-
phper-framework/phper — The framework that allows us to write PHP extensions using pure and safe Rust whenever possible
- Prolog
- Python
-
dgrunwald/rust-cpython — Python bindings
-
getsentry/milksnake — extension for python setuptools that allows you to distribute dynamic linked libraries in Python wheels in the most portable way imaginable.
-
PyO3/PyO3 — Rust bindings for the Python interpreter
-
RustPython — A Python Interpreter written in Rust
- Ruby
- Web Assembly
-
rhysd/wain - wain: WebAssembly INterpreter from scratch in Safe Rust with zero dependency
-
rustwasm/wasm-bindgen — A project for facilitating high-level interactions between wasm modules and JS.
-
rustwasm/wasm-pack — :package: :sparkles: pack up the wasm and publish it to npm!
-
dprint — A pluggable and configurable code formatting platform
-
Prettier Rust — An opinionated Rust code formatter that autofixes bad syntax (Prettier community plugin)
-
rustfmt — Rust code formatter maintained by the Rust team and included in cargo
IDEs
See also Are we (I)DE yet? and Rust Tools.
Profiling
Services
-
deps.rs — Detect outdated or insecure dependencies
-
docs.rs — Automatic documentation generation of crates
Static analysis
[assert, static]
Testing
[test, testing]
- Code Coverage
-
tarpaulin — A code coverage tool designed for Rust
- Continuous Integration
-
trust — A Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows
- Frameworks and Runners
-
AlKass/polish — Mini Testing/Test-Driven Framework
-
cargo-dinghy - A cargo extension to simplify running library tests and benches on smartphones and other small processor devices.
-
cucumber — An implementation of the Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.
-
d-e-s-o/test-log [test-log] — A replacement of the
#[test]
attribute that initializes logging and/or tracing infrastructure before running tests.
-
demonstrate — Declarative Testing Framework
-
rstest — Fixture-based test framework for Rust
-
speculate — An RSpec inspired minimal testing framework for Rust
- Mocking and Test Data
- Mutation Testing
- Property Testing and Fuzzing
Transpiling
-
BayesWitnesses/m2cgen — A CLI tool to transpile trained classic machine learning models into a native Rust code with zero dependencies.
-
immunant/c2rust — C to Rust translator and cross checker built atop Clang/LLVM.
-
jameysharp/corrode — A C to Rust translator written in Haskell.
Libraries
-
perf-monitor-rs — A toolkit designed to be a foundation for applications to monitor their performance.
Artificial Intelligence
Genetic algorithms
-
innoave/genevo — Execute genetic algorithm (GA) simulations in a customizable and extensible way.
-
m-decoster/RsGenetic — Genetic Algorithm library in Rust. In maintenance mode.
-
Martin1887/oxigen — Fast, parallel, extensible and adaptable genetic algorithm library. A example using this library solves the N Queens problem for N = 255 in only few seconds and using less than 1 MB of RAM.
-
pkalivas/radiate — A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree.
-
willi-kappler/darwin-rs — Evolutionary algorithms with Rust
Machine learning
See [Machine learning]
See also About Rust’s Machine Learning Community and Are we learning yet?.
OpenAI
Astronomy
[astronomy]
Asynchronous
-
async-std [async-std] - Async version of the Rust standard library
-
dpc/mioco — Scalable, coroutine-based, asynchronous IO handling library
-
mio — MIO is a lightweight IO library for Rust with a focus on adding as little overhead as possible over the OS abstractions
-
rust-lang/futures-rs — Zero-cost futures in Rust
-
TeaEntityLab/fpRust — Monad/MonadIO, Handler, Coroutine/doNotation, Functional Programming features for Rust
-
Xudong-Huang/may — rust stackful coroutine library
-
zonyitoo/coio-rs — A coroutine I/O library with a working-stealing scheduler
Audio and Music
[audio]
Authentication
-
constantoine/totp-rs [totp-rs] — 2fa library to generate and verify TOTP-based tokens
-
Keats/jsonwebtoken — JSON Web Token lib in rust
-
oauth2 — Extensible, strongly-typed Rust OAuth2 client library
-
oxide-auth — A OAuth2 server library, for use in combination with actix or other frontends, featuring a set of configurable and pluggable backends
-
sgrust01/jwtvault — Async library to manage and orchestrate JWT workflow
-
yup-oauth2 — An oauth2 client implementation providing the Device, Installed and Service Account flows
Automotive
-
Rust-Bio — bioinformatics libraries in Rust.
Caching
Cloud
- AWS [aws]
- Load Balancer
-
Convey - Layer 4 Load Balancer with dynamic configuration loading.
- Multi Cloud
-
Qovery/engine - Abstraction layer library that turns easy application deployment on Cloud providers in just a few minutes
Command-line
- Argument parsing
- Data visualization
- Human-centered design
- Line editor
- Other
- Pipeline
- Progress
- Prompt
- Style
- TUI
Compression
-
7z
-
Brotli
- bzip2
- gzip
-
zopfli [zopfli] — implementation of the Zopfli compression algorithm for higher quality deflate or zlib compression
- gzp
-
sstadick/gzp - multi-threaded encoding and decoding of deflate formats and snappy
- miniz
- snappy
- tar
- zip
Computation
Concurrency
Configuration
Cryptography
[crypto, cryptography]
Data processing
Data streaming
Data structures
Data visualization
Database
[database]
Date and time
[date, time]
Distributed systems
- Antimony
- Apache Kafka
- Beanstalkd
- HDFS
- Other
-
build-trust/ockam [ockam] - End-to-End Encryption, Mutual Authentication, and ABAC for distributed applications
Domain driven design
eBPF
-
aya/aya-rs — A Rust library for the Rust programming language, built with a focus on developer experience and operability.
-
libbpf/libbpf-rs — A minimal and opinionated eBPF tooling for the Rust ecosystem.
Email
[email, imap, smtp]
Encoding
[encoding]
- ASN.1
- Binary
- BSON
- Byte swapping
- Cap'n Proto
- CBOR
- Character Encoding
- CRC
- CSV
- EDN
-
FlatBuffers
-
frol/flatc-rust — FlatBuffers compiler (flatc) integration for Cargo build scripts
- HAR
-
mandrean/har-rs [har] — A HTTP Archive Format (HAR) serialization & deserialization library
- HTML
- JSON
- MsgPack
- NetCDF
-
georust/netcdf [netcdf] — Medium-level netCDF bindings for Rust, allowing easy reading and writing of array-like structures to a file.
- PEM
- ProtocolBuffers
- rkyv
-
rkyv/rkyv [rkyv] — rkyv (archive) is a zero-copy deserialization framework for Rust
- RON (Rusty Object Notation)
- Serde
- TOML
- XML
- YAML
Filesystem
[filesystem]
- Operations
- Temporary Files
Finance
Functional Programming
[functional programming]
Game development
See also Are we game yet?
- Allegro
-
Awesome Quads — A curated list of links to miniquad/macroquad-related code & resources
-
Awesome wgpu — A curated list of wgpu code and resources
- bracket-lib (previously RLTK)
- Challonge
- Corange
- Entity-Component Systems (ECS)
-
amethyst/specs — Specs Parallel ECS
-
legion — A feature rich high performance ECS library with minimal boilerplate
- Game Engines
-
Bevy is a refreshingly simple data-driven game engine built in Rust. -
-
Fyrox — Rust Game engine 3D
-
ggez — A lightweight game framework for making 2D games with minimum friction -
-
Kiss3d — A Keep It Simple, Stupid 3d graphics engine written with Rust
-
oxidator — A real time strategy game/engine written with Rust and WebGPU
-
Piston —
-
Unrust — unrust — A pure rust based (webgl 2.0 / native) game engine
-
Godot
-
Raylib
-
SDL [sdl]
- SFML
- Skillratings
- Tcod-rs
- Toornament-rs
- Victorem
Geospatial
[geo, gis]
Graph algorithms
Graphics
[graphics]
GUI
[gui]
-
autopilot-rs/autopilot-rs — A simple, cross-platform GUI automation library for Rust.
- Cocoa
-
DioxusLabs/dioxus - a portable, performant, and ergonomic framework for building cross-platform user interfaces in Rust.
-
emilk/egui - Simple, fast, and highly portable immediate mode GUI library for Rust. egui runs on the web, natively, and in your favorite game engine.
-
emoon/rust_minifb — minifb is a cross-platform window setup with optional bitmap rendering. It also comes with easy mouse and keyboard input. Primarily designed for prototyping
-
FLTK
-
Flutter
-
fschutt/azul — A free, functional, IMGUI-oriented GUI framework for rapid development of desktop applications written in Rust, supported by the Mozilla WebRender rendering engine.
-
GTK+ [gtk]
-
gtk-rs/gtk4-rs - GTK4 binding for rust
-
relm — Asynchronous, GTK+-based, GUI library, inspired by Elm
-
iced-rs/iced [iced] — A cross-platform GUI library for Rust focused on simplicity and type-safety. Inspired by Elm.
-
ImGui
-
IUP
-
Kiss-ui — A simple UI framework built on IUP
-
ivanceras/sauron-native - A truly native and cross platform GUI library. One unified code can be run as native GUI, Html Web and TUI.
-
libui
-
Nuklear
-
OrbTk — The Orbital Widget Toolkit is a multi platform (G)UI toolkit using SDL2
-
PistonDevelopers/conrod — An easy-to-use, immediate-mode, 2D GUI library written entirely in Rust
-
Qt
-
rise-ui — Simple component-based cross-Platform GUI Toolkit for developing beautiful and user-friendly interfaces.
-
saurvs/nfd-rs — nativefiledialog bindings
-
Sciter
-
slint-ui/slint slint — Slint is a toolkit to efficiently develop fluid graphical user interfaces for embedded devices and desktop applications.
-
tauri-apps/tauri — Build smaller, faster, and more secure desktop applications with a web frontend, powered by WRY.
-
tauri-apps/wry - Webview Rendering librarY.
-
xilem — Successor of the data-first Rust-native UI design toolkit druid.
Image processing
Language specification
-
shnewto/bnf — A library for parsing Backus–Naur form context-free grammars.
Logging
[log]
-
estk/log4rs — highly configurable logging framework modeled after Java's Logback and log4j libraries
-
jesusprubio/leg — Elegant print for lazy devs. Make your CLIs nicer with minimal effort.
-
rbatis/fast_log — Rust async log High-performance asynchronous logging
-
rust-lang/log — Logging implementation for Rust
-
seanmonstar/pretty-env-logger — A pretty, easy-to-use logger for Rust.
-
slog-rs/slog — Structured, composable logging for Rust
-
tokio-rs/tracing — An application level tracing framework for async-aware structured logging, error handling, metrics, and more
Macro
- cute
-
Linq-in-Rust - Macro and methods for C#-LINQ-like expressions.
Markup language
Mobile
- Android / iOS
- Generic
- iOS
-
TimNN/cargo-lipo — A cargo lipo subcommand which automatically creates a universal library for use with your iOS application.
Network programming
- Bluetooth
- CoAP
- Docker
- FTP
- gRPC
-
hyperium/tonic — A native gRPC client & server implementation with async/await support
-
tikv/grpc-rs — The gRPC library for Rust built on C Core library and futures
- HTTP
-
Hurl — Run and test HTTP requests with plain text and libcurl
- IPNetwork
- Low level
-
actix/actix — Actor library for Rust
-
dylanmckay/protocol — Custom TCP/UDP protocol definitions
-
libpnet/libpnet — A cross-platform, low level networking
-
smoltcp-rs/smoltcp — A standalone, event-driven TCP/IP stack that is designed for bare-metal, real-time systems
-
tokio-rs/tokio — A network application framework for rapid development and highly scalable production deployments of clients and servers.
- message-io
-
lemunozm/message-io — Event-driven message library to build network applications easy and fast. Supports TCP, UDP and WebSockets.
- MQTT
-
bytebeamio/rumqtt - A library for developers to build applications that communicate with the MQTT protocol over TCP and WebSockets, with or without TLS.
- NanoMsg
- NATS
- Nng
- NNTP
- P2P
- POP3
- QUIC
-
aws/s2n-quic - An implementation of the IETF QUIC protocol
-
cloudflare/quiche — cloudflare implementation of the QUIC transport protocol and HTTP/3
-
mozilla/neqo — an Implementation of QUIC written in Rust
-
quinn-rs/quinn — Futures-based QUIC implementation in Rust
-
tencent/tquic - A high-performance, lightweight, and cross-platform QUIC library
- Raknet
- RPC
-
ENQT-GmbH/remoc [remoc] - Remoc provides channels (broadcast, mpsc, oneshot, watch) similar to Tokio's and trait calling over any remote transport.
-
smallnest/rpcx-rs — A RPC library for Rust for developing microservices in easy and simple way.
- Socket.io
- SSH
- Stomp
- ZeroMQ
Parsing
Peripherals
- Cross-platform
- FreeBSD
- Linux
- Unix-like
- Windows
Scripting
[scripting]
-
3body-lang - The Three Body Language written in Rust
-
duckscript — Simple, extendable and embeddable scripting language.
-
fleabitdev/gamelisp — A Lisp-like scripting language for Rust game development
-
gluon-lang/gluon — A small, statically-typed, functional programming language
-
kcl - A constraint-based record & functional language mainly used in configuration and policy scenarios.
-
metacall/core [metacall] — Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, Wasm, Java, Cobol and more.
-
mun — A compiled, statically-typed scripting language with first class hot reloading support
-
murarth/ketos — A Lisp dialect functional programming language serving as a scripting and extension language for rust
-
PistonDevelopers/dyon — A rusty dynamically typed scripting language
-
rhaiscript/rhai — A tiny and fast embedded scripting language resembling a combination of JavaScript and Rust
-
rune-rs/rune — An embeddable dynamic programming language for Rust
Simulation
[simulation]
-
nyx-space - High fidelity, fast, reliable and validated astrodynamical toolkit library, used for spacecraft mission design and orbit determination
System
Task scheduling
-
delay-timer — Time-manager of delayed tasks. Like crontab, but asynchronous tasks are possible.
Template engine
- Handlebars
-
sunng87/handlebars-rust — Handlebars template engine with inheritance, custom helper support.
-
zzau13/yarte — Yarte stands for Yet Another Rust Template Engine, is the fastest template engine.
- HTML
- Mustache
Text processing
Text search
Unsafe
-
zerocopy — Utilities for safely reinterpreting arbitrary byte sequences as native Rust types
Video
-
ffmpeg-sidecar — Wrap a standalone FFmpeg binary in an intuitive Iterator interface.
Virtualization
Web programming
See also Are we web yet? and Rust web framework comparison.
- Client-side / WASM
-
cargo-web — A Cargo subcommand for the client-side Web
-
leptos — Leptos is a full-stack, isomorphic Rust web framework leveraging fine-grained reactivity to build declarative user interfaces.
-
sauron - Client side web framework which closely adheres to The Elm Architecture.
-
seed — A Rust framework for creating web apps
-
stdweb — A standard library for the client-side Web
-
yew — Rust framework for making client web apps
- HTTP Client
- HTTP Server
-
actix/actix-web — A lightweight async web framework for Rust with websocket support
-
Anansi — A simple full-stack web framework for Rust.
-
branca — A Pure Rust implementation of Branca for Authenticated and Encrypted API tokens.
-
carllerche/tower-web [tower-web] — A fast, boilerplate free, web framework for Rust
-
danclive/sincere — A micro web framework for Rust(stable) based on hyper and multithreading.
-
GildedHonour/frank_jwt — JSON Web Token implementation in Rust.
-
Gotham — A flexible web framework that does not sacrifice safety, security or speed.
-
Graphul — An Express-inspired web framework written in Rust.
-
handlebars-rust — an Iron web framework middleware.
-
hyperium/hyper — an HTTP implementation
-
Iron — A middleware-based server framework
-
Juniper — GraphQL server library for Rust
-
miketang84/sapper — A lightweight web framework built on async hyper, implemented in Rust language.
-
Nickel — inspired by Express
-
Ogeon/rustful — A RESTful web framework for Rust
-
poem-web/poem - A full-featured and easy-to-use web framework with the Rust programming language.
-
Rocket — Rocket is web framework for Rust (nightly) with a focus on ease-of-use, expressability, and speed
-
Rustless — A REST-like API micro-framework inspired by Grape and Hyper
-
Salvo — an easy to use webframework base on hyper and tokio.
-
Saphir — A progressive web framework with low-level control, without the pain.
-
seanmonstar/warp — A super-easy, composable, web server framework for warp speeds.
-
tiny-http — Low level HTTP server library
-
tokio/axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
-
tomaka/rouille — Web framework in Rust
- Miscellaneous
-
cargonauts — A web framework intended for building maintainable, well-factored web apps.
-
causal-agent/scraper [scraper] - HTML parsing and querying with CSS selectors.
-
hominee/dyer [dyer] - dyer is designed for reliable, flexible and fast Request-Response based service, including data processing, web-crawling and so on, providing some friendly, flexible, comprehensive features without compromising speed.
-
juhaku/utoipa - Simple, Fast, Code first and Compile time generated OpenAPI documentation for Rust
-
osohq/oso [oso] - A policy engine for authorization that's embedded in your application.
-
pwoolcoc/soup [soup] — A library similar to Python's BeautifulSoup, designed to enable quick and easy manipulation and querying of HTML documents.
-
pyrossh/rust-embed — A macro to embed static assets into the rust binary
-
serenity-rs/serenity [serenity] - A Rust library for the Discord API
-
softprops/openapi — A library for processing openapi spec files
-
svix/svix-webhooks [svix]- A library for sending webhooks and verifying signatures.
-
tbot [tbot] - Make cool Telegram bots with Rust easily
-
teloxide/teloxide - An elegant Telegram bots framework for Rust
-
utkarshkukreti/select.rs [select] — A library to extract useful data from HTML documents, suitable for web scraping.
- Reverse Proxy
- Static Site Generators
-
WebSocket
Registries
A registry allows you to publish your Rust libraries as crate packages, to share them with others publicly and privately.
-
Cloudsmith :heavy_dollar_sign: — A fully managed package management SaaS, with first-class support for public and private Cargo/Rust registries (plus many others). Has a generous free-tier and is also completely free for open-source.
-
Crates — The official public registry for Rust/Cargo.
-
w4/chartered - A private, authenticated, permissioned Cargo registry
Resources
- Benchmarks
- Decks & Presentations
-
Discover Rust Libraries & Code Snippets - A curated list of Rust libraries, authors, kits, tutorials & learning resources on kandi
- Learning
-
Aquascope - Interactive visualizations of Rust at compile-time and run-time
-
Awesome Rust Streaming - A community curated list of livestreams about Rust.
-
awesome-rust-mentors — A list of helpful Rust mentors willing to take mentees and educate them about Rust and programming.
-
Build a language VM
-
CodeCrafters.io — Build your own Redis, Git, Docker, or SQLite in Rust
-
Comprehensive Rust 🦀 — A 3-day course on Rust Fundamentals plus 1-day courses on Android, Bare-metal Rust, and Concurrency. Available in English, Brazilian Portuguese, and Korean.
-
Easy Rust - Learn Rust in easy English.
-
exercism.org — programming exercises that help you learn new concepts in Rust.
-
Hands-on Rust - A hands-on guide to learning Rust by making games - by Herbert Wolverson (paid)
-
Idiomatic Rust — A peer-reviewed collection of articles/talks/repos which teach idiomatic Rust.
-
Learn Rust by 500 lines code — Learn Rust by 500 lines code, build a Todo Cli Application from scratch.
-
Learning Rust With Entirely Too Many Linked Lists — in-depth exploration of Rust's memory management rules, through implementing a few different types of list structures.
-
Little Book of Rust Books - Curated list of rust books and how-tos.
-
Programming Community Curated Resources for Learning Rust — A list of recommended resources voted by the programming community.
-
Refactoring to Rust - A book that introduces to Rust language.
-
Rust by Example
-
Rust Cookbook — A collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem.
-
Rust for professionals — A quick introduction to Rust for experienced software developers.
-
Rust Gym - A big collection of coding interview problems solved in Rust.
-
Rust in Action — A hands-on guide to systems programming with Rust by Tim McNamara (paid)
-
Rust in Motion — A video series by Carol Nichols and Jake Goulding (paid)
-
Rust Language Cheat Sheet
-
Rust Tiếng Việt - Learn Rust in Vietnamese.
-
rust-how-do-i-start - A repo dedicated to answering the question: "So, Rust. How do I start?". A beginner only hand-picked resources and learning track.
-
rust-learning — A collection of useful resources to learn Rust
-
Rustlings — small exercises to get you used to reading and writing Rust code
-
Rusty CS - A Computer Science Curriculum that helps practice the acquired academic knowledge in Rust
-
stdx — Learn these crates first as an extension to std
-
Take your first steps with Rust - Lay the foundation of knowledge you need to build fast and effective programs in Rust.
-
University of Pennsylvania's Comp Sci Rust Programming Course
- Podcasts
-
Rust Design Patterns
-
Rust Guidelines
-
Rust Servers, Services and Apps - MEAP - Build backend servers, services, and front-ends in Rust to get fast, reliable, and maintainable applications.
-
Rust Subreddit — A subreddit(forum) where rust related questions, articles and resources are posted and discussed
-
RustBooks — list of RustBooks
-
RustCamp 2015 Talks
-
RustViz — generates visualizations from simple Rust programs to assist users in better understanding the Rust Lifetime and Borrowing mechanism.
-
Watch Jon Gjengset Implement BitTorrent in Rust
License