A curated list of Rust code and resources.
If you want to contribute, please read this.
Table of contents
- Applications
- Audio and Music
- Blockchain
- Database
- Embedded
- Emulators
- File manager
- Finance
- Games
- Graphics
- Image processing
- Industrial automation
- Message Queue
- MLOps
- Observability
- Operating systems
- Package Managers
- Payments
- Productivity
- Routing protocols
- Security tools
- Social networks
- System tools
- Task scheduling
- Text editors
- Text processing
- Utilities
- Video
- Virtualization
- Web
- Web Servers
- Workflow Automation
- Development tools
- Libraries
- Artificial Intelligence
- Astronomy
- Asynchronous
- Audio and Music
- Authentication
- Automotive
- Bioinformatics
- Caching
- Cloud
- Command-line
- Compression
- Computation
- Concurrency
- Configuration
- Cryptography
- Data processing
- Data streaming
- Data structures
- Data visualization
- Database
- Date and time
- Distributed systems
- Domain driven design
- eBPF
- Encoding
- Filesystem
- Finance
- Functional Programming
- Game development
- Geospatial
- Graph algorithms
- Graphics
- GUI
- Image processing
- Language specification
- Licensing
- Logging
- Macro
- Markup language
- Mobile
- Network programming
- Parsing
- Peripherals
- Platform specific
- Reverse engineering
- Scripting
- Simulation
- Social networks
- System
- Task scheduling
- Template engine
- Text processing
- Text search
- Unsafe
- Video
- Virtualization
- Web programming
- Registries
- Resources
- License
Applications
- alacritty - A cross-platform, GPU enhanced terminal emulator
- Andromeda - JavaScript & TypeScript runtime built from the ground up in Rust 🦀 and powered by The Nova Engine.
- Arti - An implementation of Tor. (So far, it's a not-very-complete client. But watch this space!)
- asm-cli-rust - An interactive assembly shell.
- clash-verge-rev/clash-verge-rev - A cross-platform, modern Clash GUI based on tauri & rust, supporting Windows, macOS, and Linux.
- cloudflare/boringtun - A Userspace WireGuard VPN Implementation
- defguard - Enterprise Open Source SSO & WireGuard VPN with real 2FA/MFA
- denoland/deno - A secure JavaScript/TypeScript runtime built with V8 and Tokio
- doprz/dipc - Convert your favorite images and wallpapers with your favorite color palettes/themes
- EasyTier - A simple, full-featured and decentralized mesh VPN with WireGuard support.
- Edit - A simple editor for simple needs.
- fcsonline/drill - A HTTP load testing application inspired by Ansible syntax
- fend - Arbitrary-precision unit-aware calculator
- Fractalide - Simple 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
- kftray - A cross-platform system tray app for managing and sharing multiple kubectl port-forward configurations.
- 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
- Mega - A monorepo & monolithic codebase management system that supports Git, also is an unofficial open source implementation of Google Piper.
- mirrord - Connect your local process and your cloud environment, and run local code in cloud conditions
- nicohman/eidolon - A steam and drm-free game registry and launcher for linux and macosx
- Pijul - A patch-based distributed version control system
- qiluo-admin - An enterprise-grade rapid development platform (Axum + SeaORM + JWT + VUE3, supports MySQL/Postgres/SQLite)
- 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.
- rkik - CLI tool designed for stateless and passive NTP inspection, just as dig or ping are for DNS and ICMP. It supports async requests and continuous monitoring.
- run [run-kit] - Universal multi-language runner and smart REPL (25+ languages: Python, JS, Go, C, etc.).
- Rust Iot Platform - A high-performance IoT development platform built with Rust, designed for multi-protocol support and real-time data processing. This platform supports MQTT, WebSockets (WS), TCP, and CoAP protocols, making it highly flexible for diverse IoT applications.
- rx - Vi inspired Modern Pixel Art Editor
- Ryot - A self hosted application to track media consumption, fitness, etc.
- Saga Reader - A Blazing-Fast and Extremely-Lightweight Internet Reader driven by AI.Supports fetching of search engine information and RSS.
- Servo - A prototype web browser engine
- shoes - A multi-protocol proxy server
- shuttle - A serverless platform.
- Sniffnet - Cross-platform application to monitor your network traffic with ease
- SWC - super-fast TypeScript / JavaScript compiler
- tiny - A terminal IRC client
- Typst - A markup-based typesetting system
- UpVPN - WireGuard VPN client for macOS, Linux, and Windows built on Tauri.
- vproxy - A high-performance HTTP/HTTPS/SOCKS5 proxy server
- 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 and Axum
- zellij - A terminal multiplexer (workspace) with batteries included
Audio and Music
Blockchain
- Anchor - Anchor is the leading development framework for building secure Solana programs (smart contracts).
- artemis - A simple, modular, and fast framework for writing MEV bots.
- beerus - Beerus is a trustless StarkNet Light Client, ⚡blazing fast ⚡
- Bitcoin Satoshi's Vision [sv] - A 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 - 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, supports sync/async/websocket
- Diem - Diem’s mission is to enable a simple global currency and financial infrastructure that empowers billions of people.
- dusk-network/rusk - Reference implementation of Dusk, a privacy-focused, scalable FMI for real-world assets (RWA) and compliant financial applications.
- electrumrs - An efficient re-implementation of Electrum Server.
- ethabi - Encode and decode smart contract invocations.
- ethaddrgen - Custom Ethereum vanity address generator
- etk - etk is a collection of tools for writing, reading, and analyzing EVM bytecode.
- Forest - Filecoin implementation
- Foundry - Foundry is a blazing fast, portable and modular toolkit for Ethereum application development.
- 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.
- Hyperlane - Framework for permissionless, modular interoperability. The offchain clients are written in Rust, as well as the smart contracts for Solana VM and CosmWasm.
- ibc-rs - Implementation of the Interblockchain Communication protocol
- infincia/bip39-rs [bip39] - Implementation of BIP39.
- interBTC - Trustless and fully decentralized Bitcoin bridge to Polkadot and Kusama.
- Joystream - A user governed video platform
- Kaspa - The fastest, open-source, decentralized & fully scalable Layer-1 in the world.
- Lighthouse - Ethereum Consensus Layer (CL) Client
- 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.
- opensea-rs - 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-sdk - The Parity Polkadot Blockchain SDK
- reth - Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol.
- revm - Revolutionary Machine (revm) is a fast Ethereum virtual machine.
- 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. 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 - ErgoTree interpreter and wallet-related features.
- Subspace - The first layer-one blockchain that can fully resolve the blockchain trilemma by simultaneously achieving scalability, security, and decentralization.
- 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 - Tendermint blockchain data structures and clients
- wagyu [wagyu] - Library for generating cryptocurrency wallets
- zcash - Zcash is an implementation of the "Zerocash" protocol.
Database
- apecloud/ape-dts - Data Transfer Suite. Provides data replication between MySQL, PostgreSQL, Redis, MongoDB, Kafka, ClickHouse, and more.
- Atomic-Server [atomic-server] - NoSQL graph database with realtime updates, dynamic indexing and easy-to-use GUI for CMS purposes.
- ayarotsky/redis-shield - A Redis module that implements the token-bucket algorithm as a native command for high-performance rate limiting
- CozoDB - A transactional, relational database that uses Datalog and focuses on graph data and algorithms. Time-travel-capable, and fast!
- Curvine - Curvine is a high-performance, concurrent distributed cache system written in Rust, designed for low-latency and high-throughput workloads in AI,Bigdata etc.
- darkbird [darkbird] - HighConcurrency, RealTime, InMemory storage inspired by erlang mnesia
- 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
- dsplce-co/supabase-plus [supabase-plus] - A batteries-included command-line utility that extends the official Supabase CLI
- erikgrinaker/toydb - Distributed SQL database, written as a learning project.
- Garage [garage] - S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale.
- GlueSQL - Rust library for SQL databases that includes a parser (sqlparser-rs), an execution layer, and a variety of storage options, both persistent and non-persistent, all in one package.
- GreptimeDB - An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported.
- HelixDB - A powerful, graph-vector database for intelligent data storage for RAG and AI
- Hiqlite - highly-available, embeddable, raft-based SQLite + cache
- indradb - Graph database
- KiteSQL - SQL as a Function for Rust
- lancedb [vectordb] - A serverless, low-latency vector database for AI applications
- Lucid - High performance and distributed KV store accessible through a HTTP API.
- Materialize - Streaming SQL database powered by Timely Dataflow 💲
- native_db [native_db] - Drop-in, embedded database for multi-platform apps (server, desktop, mobile). Sync Rust types effortlessly
- 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
- oxigraph/oxigraph [oxigraph] - graph database implementing the SPARQL standard
- ParadeDB - ParadeDB is an Elasticsearch alternative built on Postgres, designed for real-time search and analytics.
- 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
- Qrlew/qrlew [qrlew] - The SQL-to-SQL Differential Privacy layer
- RisingWaveLabs/RisingWave - the next-generation streaming database in the cloud
- RustFS [RustFS] - 🚀 RustFS is an open-source,S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
- seppo0010/rsedis - A Redis reimplementation.
- Skytable - A multi-model NoSQL database
- sled - A (beta) modern embedded database
- SQLSync - Multiplayer offline-first SQLite
- SurrealDB - A scalable, distributed, document-graph database
- TerminusDB - open source graph database and document store
- tikv - A distributed KV database in Rust
- Tonbo - Tonbo is an embedded persistent database built on Apache Arrow & Parquet
- TrailBase - A fast, lightweight, single-file FireBase alternative with type-safe APIs, built-in V8 JS/ES6/TS engine, auth and admin dashboard
- tsink - Embedded time-series database for Rust
- Turso - Turso Database is an in-process SQL database, compatible with SQLite.
- USearch - Similarity Search Engine for Vectors and Strings
- valentinus - Next generation vector database built with LMDB bindings
- vorot93/libmdbx-rs [mdbx-sys] - 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.
Embedded
- rmk - A feature-rich keyboard firmware.
- uefi-rs - Rusty wrapper for the Unified Extensible Firmware Interface. This crate makes it easy to develop Rust software that leverages safe, convenient, and performant abstractions for UEFI functionality.
Emulators
See also crates matching keyword 'emulator'.
File manager
Finance
See also Payments applications.
- klirr [klirr] - Zero-maintenance and smart FOSS generating beautiful invoices for services and expenses.
- tackler [tackler] - Fast, reliable bookkeeping engine with native GIT SCM support for plain text accounting
- tarkah/tickrs - Realtime ticker data in your terminal
Games
See also Games Made With Piston.
Graphics
- dps/rust-raytracer - An implementation of a very simple raytracer based on Ray Tracing in One Weekend by Peter Shirley.
- flxzt/rnote - Sketch and take handwritten notes.
- ivanceras/svgbob - converts ASCII diagrams into SVG graphics
- KaminariOS/rustracer - A PBR glTF 2.0 renderer based on Vulkan ray-tracing.
- Limeth/euclider - A real-time 4D CPU ray tracer
- linebender/resvg - An SVG rendering library.
- rodrigorc/papercraft - A tool to unwrap 3D models and create them in paper with scissors and glue.
- rustq/vue-skia - Skia based 2d graphics vue rendering library. It is based on Rust to implement software rasterization to perform rendering.
- turnage/valora - A library for generative fine art
- Twinklebear/tray_rust - A ray tracer
- wahn/rs_pbrt - Implements a counterpart to the PBRT book's (3rd edition) C++ code.
Image processing
Industrial automation
- locka99/opcua - A OPC UA library.
- slowtec/tokio-modbus - A tokio-based modbus library.
Message Queue
- Rmqtt - MQTT Server/MQTT Broker — Scalable distributed MQTT message broker for IoT in the 5G era.
- RobustMQ - Next generation cloud-native converged message queue.
- Rocketmq-Rust - 🚀Apache RocketMQ build in Rust🦀. Faster, safer, and with lower memory usage.
MLOps
- TensorZero - data & learning flywheel for LLMs that unifies inference, observability, optimization, and experimentation
Observability
- avito-tech/bioyino - A high-performance scalable StatsD compatible server.
- MegaAntiCheat/client-backend - The client app for MAC.
- openobserve - 10x easier, 140x lower storage cost, high performance, petabyte scale - Elasticsearch/Splunk/Datadog alternative.
- 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.
- 0x59616e/SteinsOS - An OS for armv8-a architecture.
- adamperkowski/highlightos - x86_64 OS kernel written in Rust & Assembly.
- Andy-Python-Programmer/aero - A modern, unix-like operating system following the monolithic kernel design.
- asterinas/asterinas - A secure, fast, and general-purpose OS kernel that provides Linux-compatible ABI.
- DragonOS-Community/DragonOS - An operating system with a self-developed kernel from scratch and Linux compatibility.
- redox-os/redox - A Unix-like general-purpose microkernel-based operating system with a focus on security, stability, performance, correctness, simplicity and pragmatism that aims to be a complete alternative for Linux and BSD.
- thepowersgang/rust_os - An OS kernel written in rust. Non POSIX
- theseus-os/Theseus - A safe-language, single address space and single privilege level OS written from scratch -
- tock/tock - A secure embedded operating system for Cortex-M based microcontrollers
- vinc/moros - A text-based hobby operating system targeting computers with a x86-64 architecture and a BIOS.
Package Managers
- helsing-ai/buffrs [buffrs] - A modern package manager for protocol buffers and gRPC architectures.
- rebos - A declarative way to automate package management on any linux distro
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
- 0xdea/jiggy [jiggy] - Minimalistic cross-platform mouse jiggler written in Rust
- aichat - All-in-one LLM CLI tool featuring Shell Assistant, Chat-REPL, RAG, AI Tools & Agents, with access to OpenAI, Claude, Gemini, Ollama, Groq, and more.
- ast-grep - A CLI tool for code structural search, lint and rewriting.
- Bartib [Bartib] - A simple timetracker for the command line
- CookCLI - Command-line recipe manager with web server, shopping lists, and meal planning capabilities.
- espanso - A cross-platform Text Expander.
- eureka - A CLI tool to input and store your ideas without leaving the terminal
- flusterIO/fluster - An all-in-one note taking application built for STEM students and professionals.
- Furtherance - Time tracking app built with GTK4
- graves/awful_aj [awful_aj] - A CLI for working with OpenAI-compatible APIs, YAML templates for prompt engineering and a built in Vector Database for persistent memories.
- illacloud/illa - Low-code internal tool builder.
- kruseio/hygg [hygg] - 📚 Simplifying the way you read. Minimalistic Vim-like TUI document reader.
- 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
- ShadoySV/work-break [work-break] - Work and rest time balancer taking into account your current and today strain
- yashs662/rust_kanban [rust-kanban]
- A Kanban App for the terminal
Routing protocols
- Holo - Holo is a suite of routing protocols designed to support high-scale and automation-driven networks
- RustyBGP - BGP
Security tools
- 0xdea/augur [augur] - Reverse engineering assistant that extracts strings and related pseudo-code from a binary file
- 0xdea/haruspex [haruspex] - Vulnerability research assistant that extracts pseudo-code from the IDA Hex-Rays decompiler
- 0xdea/oneiromancer [oneiromancer] - Reverse engineering assistant that uses a locally running LLM to aid with source code analysis
- 0xdea/rhabdomancer [rhabdomancer] - Vulnerability research assistant that locates all calls to potentially insecure API functions in a binary file
- AdGuardian-Term [adguardian] - Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance
- AFLplusplus/LibAFL - Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, etc.
- arp-scan-rs - A minimalistic ARP scan tool for fast local network scans
- biandratti/huginn-net - Multi-protocol passive network fingerprinting combining p0f TCP and JA4 TLS analysis for OS and application detection
- 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 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.
- domcyrus/rustnet - Cross-platform network monitoring TUI with process identification via eBPF/PKTAP and deep packet inspection
- entropic-security/xgadget [xgadget] - Fast, parallel, cross-variant ROP/JOP gadget search
- epi052/feroxbuster - A simple, fast, recursive content discovery tool.
- 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; rewrite of shijack
- kpcyrd/sn0int - A semi-automatic OSINT framework and package manager
- kpcyrd/sniffglue - A secure multithreaded packet sniffer
- mongodb/kingfisher - A blazingly fast tool for secret detection and live validation across files, Git repos, S3, Jira, and Confluence
- observer_ward - Web application and service fingerprint identification tool
- Raspirus - User- and resources-friendly rules-based malware scanner
- reaction - Scan logs and take action: an alternative to fail2ban
- ripasso - A password manager, filesystem compatible with pass
- rustscan - Make Nmap faster with this port scanning tool
Social networks
- Mastodon
- Rustodon - A Mastodon-compatible, ActivityPub-speaking server.
- Telegram
System tools
- ajeetdsouza/zoxide - A fast alternative to
cdthat learns your habits - anylinuxfs - CLI tool for mounting any linux-supported filesystem on a Mac - using NFS with a microVM
- 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
- brush-shell - bash/POSIX-compatible shell
- 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!
- ChurchTao/clipboard-rs [clipboard-rs] - Cross-platform library written in Rust for getting and setting and monitoring changes the system-level clipboard content.
- crabz - Multi-threaded compression and decompression CLI tool
- cristianoliveira/funzzy - A configurable filesystem watcher inspired by entr
- dalance/procs - A modern replacement for 'ps'
- ddh - Fast duplicate file finder
- deshaw/procfd [procfd] - Linux lsof replacement to list open file descriptors for processes
- diskonaut - Terminal visual disk space navigator
- dust - A more intuitive version of du
- eza-community/eza - A replacement for 'ls'
- fish-shell/fish-shell - The user-friendly command line shell
- fselect - Find files with SQL-like queries
- gitui - Blazing fast terminal client for git.
- GQL - A SQL like query language to run on .git files.
- httm - Interactive, file-level Time Machine-like tool for ZFS/btrfs/nilfs2 (and even actual Time Machine backups!)
- j0ru/kickoff - Fast and snappy wayland program launcher
- jacek-kurlit/pik [pik] - A TUI command line tool that helps to find and kill processes
- Kondo - CLI & GUI tool for deleting software project artifacts and reclaiming disk space
- LACT - Linux AMDGPU Controller
- lodosgroup/lpm - An experimental system package manager
- lotabout/rargs [rargs] - xargs + awk with pattern matching support
- 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.
- matheus-git/systemd-manager-tui [systemd-manager-tui] - A program for managing systemd services through a TUI (Terminal User Interfaces).
- mdgaziur/findex - Findex is a highly customizable application finder using 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
- netscanner - TUI Network Scanner
- 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
- nwiizo/tfmcp - Terraform MCP Tool - CLI for AI assistants to manage Terraform environments via Model Context Protocol.
- nwiizo/tfocus - Interactive tool for selecting and executing Terraform plan/apply operations
- 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/czkawka - 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.
- skim - A fuzzy finder
- supercilex/fuc - Fast
cpandrmcommands - topheman/webassembly-component-model-experiments - WebAssembly Component Model based REPL with sandboxed multi-language plugin system
- trippy - A network diagnostic tool
- uutils/coreutils - A cross-platform rewrite of the GNU coreutils
- watchexec - Executes commands in response to file modifications
- XAMPPRocky/tokei - counts the lines of code
- ynqa/jnv - Interactive JSON filter using jq
- ynqa/logu - Extract patterns from (streaming) unstructured log messages
- ynqa/sig - Interactive grep (for streaming)
Task scheduling
Text editors
Text processing
- ashvardanian/stringzilla - SIMD-accelerated string search, sort, edit distances, alignments, and generators for x86 AVX2 & AVX-512, and Arm NEON
- cchexcode/complate - An in-terminal text templating tool designed for standardizing messages (like for GIT commits).
- dathere/qsv [qsv] - A high performance CSV data-wrangling toolkit. Forked from xsv, with 34+ additional commands & more.
- 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
- Lisprez/so_stupid_search - A simple and fast string search tool for human beings
- loki_text [loki_text] - String manipulation library with pattern searching, text transformation, and multiple string search algorithms (KMP, Boyer-Moore, Aho-Corasick, etc.)
- 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.
- ripgrep - combines the usability of The Silver Searcher with the raw speed of grep
- ruplacer - Find and replace text in source files
- scooter - Interactive find and replace in the terminal.
- 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
- bloznelis/kbt [kbt] - A simple TUI tool for keyboard testing.
- brycx/checkpwn - A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords.
- cartesiancs/vessel - C2 (Command & Control) software for orchestrating physical devices.
- dcapal - DcaPal is a free, no registration, online tool to help you keep your portfolio balanced with dollar cost averaging investments.
- Eoin-McMahon/Blindfold [Blindfold] - A simple CLI tool for generating
.gitignorefiles quickly and easily. - 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, copy/pasting tmux like vimium/vimperator.
- guoxbin/dtool - A useful command-line tool collection to assist development including conversion, codec, hashing, encryption, etc.
- Linus-Mussmaecher/rucola - Terminal-based markdown note manager.
- Mobslide - Desktop application that turns your smartphone into presentation remote controller.
- 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
- restsend/rustpbx - Software-Defined SIP Proxy including register, presence, b2bua. alternative to Freeswitch/FreePBX.
- 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.
- sorairolake/qrtool [qrtool] - A utility for encoding and decoding QR code images.
- str4d/rage [rage] - Rust implementation of age.
- suckit - Recursively visit and download a website's content to your disk.
- Tabiew - A lightweight TUI app to view and query CSV files.
- Tail Tales - A TUI log viewer with logfmt support.
- television - A blazing fast general purpose fuzzy finder TUI
- 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
- Vibe - Transcribe audio or video in every language on every platform.
- warpdotdev/Warp - 💲 Warp is a blazingly-fast modern GPU-accelerated terminal built to make you and your team more productive.
- wrestic - A wrapper around restic.
- wthrr - Weather companion for the terminal.
Video
- dertuxmalwieder/yaydl [yaydl] - A simple video downloader
- gyroflow/gyroflow - Video stabilization application using gyroscope data
- harlanc/xiu - A powerful and secure live server (rtmp/httpflv/hls/relay).
- vidmerger - Merge video & audio files via CLI
- xiph/rav1e - The fastest and safest AV1 encoder.
Virtualization
- firecracker-microvm/firecracker - A lightweight virtual machine for container workload Firecracker Microvm
- kata-containers/kata-containers - A implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs.
- tailhook/vagga - A containerization tool without daemons
- youki-dev/youki - A container runtime
Web
Web Servers
- cloudflare/pingora - A library for building fast, reliable and evolvable network services.
- emanuele-em/proxelar - A MITM Proxy 🦀! Toolkit for HTTP/1, HTTP/2, and WebSockets with SSL/TLS Capabilities
- g3proxy - Forward proxy server, support Proxy Chaining, Protocol Inspection, MITM Interception, ICAP Adaptation, Transparent Proxy
- Mini RPS - Mini reverse proxy server, HTTPS, CORS, static file hosting and template engine (minijinja) crates.io
- mu-arch/skyfolder - 🪂 Beautiful HTTP/Bittorrent server without the hassle. Secure - GUI - Pretty - Fast
- mufeedvh/binserve - A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code
- orhun/rustypaste - A minimal file upload/pastebin service
- plabayo/rama - A modular service framework to move and transform your network packets, used to build web clients, servers and — above all — proxies
- ronanyeah/rust-hasura - A demonstration of how a GraphQL server can be used as a remote schema with Hasura
- static-web-server - A blazing fast and asynchronous web server for static files-serving. ⚡
- svenstaro/miniserve - A small, self-contained cross-platform CLI tool that allows you to just grab the binary and serve some file(s) via HTTP
- thecoshman/http - Host These Things Please - A basic http server for hosting a folder fast and simply
- TheWaWaR/simple-http-server - simple static http server
- vproxy/0x676e67 - An fast asynchronous Rust HTTP/Socks5 Proxy
Workflow Automation
- dali-benothmen/cronflow - Cronflow is a high-performance, developer-focused workflow automation library that lets you build and orchestrate complex, scalable automation workflows fully in code.
Development tools
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 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-transwhich can be helpful for running a faster compile if you only need correctness checks - cargo-commander - A subcommand for
cargoto run CLI commands similar to how the scripts section inpackage.jsonworks - cargo-count - lists source code counts and details about cargo projects, including unsafe statistics
- cargo-deb - Generates binary Debian packages
- cargo-depgraph - Creates dependency graphs for cargo projects using cargo metadata and graphviz
- 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-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 - 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
- cargo-all-features - A configurable subcommand to simplify testing, building and much more for all combinations of features
- CMake
- Devolutions/CMakeRust - useful for integrating a Rust library into a CMake project
- SiegeLord/RustCMake - an example project showing usage of CMake with Rust
- facebook/buck2 - Buck2 is a large-scale build tool built in Rust
- Fleet [fleet-rs] - The blazing fast build tool for Rust.
- GitHub actions
- icepuma/rust-action - rust github action
- peaceiris/actions-mdbook - GitHub Actions for mdBook
- Nix
- nix-community/fenix - Rust toolchains and rust analyzer nightly for nix
- nix-community/fenix - Rust toolchains and rust analyzer nightly for nix
- pantsbuild/pants - Pants is a fast, scalable, user-friendly build system for codebases of all sizes built in Rust.
- tracemachina/nativelink - NativeLink is a Backend Remote Execution platform written in rust for client build systems such as Buck2, Bazel, Pants, etc..
Debugging
- GDB
- gdbgui - Browser based frontend for gdb to debug C, C++, Rust, and go.
- godzie44/BugStalker - Modern debugger for Linux x86-64. Written in Rust for Rust programs.
- kxxt/tracexec [tracexec] - Tracer for execve{,at} and pre-exec behavior, launcher for debuggers.
- LLDB
- CodeLLDB - A LLDB extension for Visual Studio Code.
Deployment
- Docker
- Heroku
- emk/heroku-buildpack-rust - A buildpack for Rust applications on Heroku
- release-plz [release-plz] - Release crates from CI, with changelog generation and semver check.
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
- avr-rust/ruduino - Reusable components for the Arduino Uno.
- 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
- Development Tools
- Vaishnav-Sabari-Girish/ComChan - A minimal serial monitor with plotter TUI.
- 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
- nrf-rs/nrf-hal - A Rust HAL for the nRF family of devices
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.
Formatters
- 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
- Bencher - A suite of continuous benchmarking tools designed to catch performance regressions in CI
- bheisler/criterion.rs - Statistics-driven benchmarking library
- Bytehound - A memory profiler for Linux
- Divan - Simple yet powerful benchmarking library with allocation profiling
- ellisonch/rust-stopwatch - A stopwatch library
- FlameGraphs
- llogiq/flame - An intrusive flamegraph profiling tool for rust
- mrhooray/torch - generates FlameGraphs based on DWARF Debug Info
- g3bench - A benchmark tool that supports HTTP 1.x, HTTP 2, HTTP 3, TLS Handshake, DNS and Cloudflare Keyless
- pawurb/hotpath - A simple profiler that shows exactly where your code spends time and allocates
- sharkdp/hyperfine - A command-line benchmarking tool
Services
- deepwiki-rs - Transform your codebase into professional architecture documentation.
- deps.rs - Detect outdated or insecure dependencies
- docs.rs - Automatic documentation generation of crates
Static analysis
- MIRAI - an abstract interpreter operating on Rust's mid-level intermediate representation (MIR)
- RAPx - A platform that helps Rust programmers develop and use advanced static analysis tools beyond those provided by the rustc compiler.
- static_assertions - Compile-time assertions to ensure that invariants are met
- verus-lang/verus - Verified Rust for low-level systems code
Testing
- Assertions and Matchers
- Code Coverage
- tarpaulin - A code coverage tool
- 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
- Mocking and Test Data
- Mutation Testing
- cargo-mutants [cargo-mutants] - Finds inadequately tested code by injecting mutations, no source changes required.
- mutagen [mutagen] - A source-level mutation testing framework (nightly only)
- cargo-mutants [cargo-mutants] - Finds inadequately tested code by injecting mutations, no source changes required.
- Property Testing and Fuzzing
- Ackee-Blockchain/trident - Fuzzing framework for Solana smart contracts with manually-guided testing, flow-based sequences, and property-based validation
- proptest - property testing framework inspired by the Hypothesis framework for Python
- quickcheck - A Rust implementation of QuickCheck
- rust-fuzz/afl.rs - A Rust fuzzer, using AFL
Transpiling
- aleph-lang/aleph_ollama [aleph_ollama] - AI-powered source code translation tool using local Ollama API.
- 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 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
Machine learning
See [Machine learning]
See also About Rust’s Machine Learning Community and Are we learning yet?.
OpenAI
- 64bit/async-openai [async-openai] - Ergonomic Rust bindings for OpenAI API based on OpenAPI spec.
- openai/harmony [openai-harmony] - Renderer for the harmony response format to be used with gpt-oss.
- zurawiki/tiktoken-rs [tiktoken-rs] - Library for tokenizing text with OpenAI models using tiktoken.
Tooling
- BAML - A simple prompting language for building reliable AI workflows and agents. BAML's compiler is written in Rust!
Astronomy
- cds-astro/aladin-lite - Web application for visualizing spatial and planetary image surveys in different projections
- fitsio - fits interface library wrapping cfitsio
- flosse/rust-sun [sun] - A rust port of the JS library suncalc
- saurvs/astro-rust - astronomy
Asynchronous
- async-std [async-std] - Async version of the Rust standard library
- dagrs - A high-performance asynchronous task programming framework, which follows the concept of Flow based Programming.
- dpc/mioco - Scalable, coroutine-based, asynchronous IO handling library
- igumnoff/gabriel2 [gabriel2] - Gabriel2: An actor-model library based on Tokio
- mio - MIO is a lightweight IO library, with a focus on adding as little overhead as possible over the OS abstractions
- rust-lang/futures-rs - Zero-cost futures
- t3hmrman/async-dropper [async-dropper] - Implementation of
AsyncDrop - TeaEntityLab/fpRust - Monad/MonadIO, Handler, Coroutine/doNotation, Functional Programming features for Rust
- tokio-rs/tokio - A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language.
- tqwewe/kameo - Fault-tolerant Async Actors Built on Tokio
- Xudong-Huang/may - Stackful coroutine library
- zonyitoo/coio-rs - A coroutine I/O library with a working-stealing scheduler
Audio and Music
[audio]
Authentication
Automotive
- idletea/tokio-socketcan [tokio-socketcan] - Linux SocketCAN support for tokio based on the socketcan crate
- marcelbuesing/tokio-socketcan-bcm [tokio-socketcan-bcm] - Linux SocketCAN BCM support for tokio
- mbr/socketcan [socketcan] - Linux SocketCAN library
- oxibus/can-dbc [can-dbc] - A parser for the DBC format
- Sensirion/lin-bus [lin-bus] - LIN bus driver traits and protocol implementation
Bioinformatics
- polars-bio - Blazing-Fast Bioinformatic Operations on Python DataFrames
- Rust-Bio - bioinformatics libraries.
Caching
Cloud
- AWS [aws]
- aws/aws-lambda-rust-runtime [lambda_runtime] - Runtime for AWS Lambda
- awslabs/aws-sdk-rust - The new AWS SDK
- rusoto/rusoto - An AWS SDK for Rust
- aws/aws-lambda-rust-runtime [lambda_runtime] - Runtime for AWS Lambda
- Azure
- Azure/azure-sdk-for-rust - Official Azure SDK for Rust
- 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
Compression
- 7z
- [sevenz-rust] - A 7z decompressor/compressor written in pure rust.
- Brotli
- dropbox/rust-brotli - Brotli decompressor that optionally avoids the stdlib
- ende76/brotli-rs - implementation of Brotli compression
- bzip2
- trifectatechfoundation/bzip2-rs - libbz2 bindings
- gzip
- gzp
- sstadick/gzp - multi-threaded encoding and decoding of deflate formats and snappy
- miniz
- rust-lang/flate2-rs - miniz bindings
- rust-lang/flate2-rs - miniz bindings
- paxit [paxit] - Flexible library for compressing and decompressing files using various algorithms (zip, tar, gzip, xz, zst, etc.) with modular design for easy extension
- tar
- alexcrichton/tar-rs - tar archive reading/writing
- zip
- zip-rs/zip2 [zip] - read and write ZIP archives
- zstd
- gyscos/zstd-rs - rust binding for the zstd compression library
Computation
- argmin-rs/argmin [argmin] - Optimization library
- BLAS [blas]
- mikkyang/rust-blas - BLAS bindings
- calebwin/emu - A language for GPGPU numerical computing
- dimforge/nalgebra - low-dimensional linear algebra library
- faer-rs [faer] - Linear algebra foundation for Rust
- fastnum fastnum - Fast exact precision decimal numbers implemented in pure Rust. Suitable for financial, crypto and any other fixed-precision calculations.
- GSL
- GuillaumeGomez/rust-GSL - GSL bindings
- LAPACK
- stainless-steel/lapack - LAPACK bindings
- Parallel
- arrayfire/arrayfire-rust - Arrayfire bindings
- autumnai/collenchyma - An extensible, pluggable, backend-agnostic framework for parallel, high-performance computations on CUDA, OpenCL and common host CPU.
- luqmana/rust-opencl - OpenCL bindings
- Science
- Axect/Peroxide - Rust numeric library containing linear algebra, numerical analysis, statistics and machine learning tools in pure rust
- cpmech/russell - Rust Scientific Library for numerical mathematics, ordinary differential equations, special math functions, high-performance (sparse) linear algebra
- Nonanti/mathcore - Symbolic mathematics library with CAS capabilities. Supports differentiation, integration, equation solving, and arbitrary precision arithmetic
- Ryan-D-Gast/differential-equations - A high-performance library for numerically solving differential equations
- Statrs
- statrs-dev/statrs - Robust statistical computation library
Concurrency
- crossbeam-rs/crossbeam - Support for parallelism and low-level concurrency
- NikitaSmithTheOne/rate-limiters-rs [rate-limiters] - Rust library for rate limiting (Leaky Bucket, Token Bucket, Fixed/Sliding Window)
- orium/archery [archery] - Library to abstract from
Rc/Arcpointer types. - orx-parallel - High performance, configurable and expressive parallel computation library.
- Rayon - A data parallelism library
- rustcc/coroutine-rs - Coroutine Library
- zonyitoo/coio-rs - Coroutine I/O
Configuration
Cryptography
- arkworks-rs/circom-compat - Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation.
- briansmith/ring - Safe, fast, small crypto using Rust and BoringSSL's cryptography primitives.
- briansmith/webpki - Web PKI TLS X.509 certificate validation.
- conradkleinespel/rooster [rooster] - Simple password manager to use in your terminal
- cossacklabs/themis [themis] - a high-level cryptographic library for solving typical data security tasks, best fit for multi-platform apps.
- DaGenix/rust-crypto - cryptographic algorithms
- dalek-cryptography/curve25519-dalek - Curve25519 operations
- dalek-cryptography/ed25519-dalek - Ed25519 digital signatures
- dalek-cryptography/x25519-dalek - X25519 key exchange
- debris/tiny-keccak - Keccak family (SHA3)
- dusk-network/bls12-381 - A Rust-native BLS12-381 with enhancements for zk performance: optimized multi-scalar multiplication, custom hashing, and serde support—ideal for privacy-focused protocols and zero-knowledge applications.
[dusk-bls12_381]
- dusk-network/plonk - A high-performance, Rust-native implementation of the PLONK zk-SNARK over BLS12-381, optimized with custom gates and KZG10 polynomial commitment for efficient zero-knowledge proofs.
[PLONK]
- dusk-network/poseidon252 - A Rust-native Poseidon hash over BLS12-381, Poseidon252 is built for zk-SNARK efficiency, ideal for privacy-focused protocols and zero-knowledge applications.
[Poseidon]
- exonum/exonum [exonum] - extensible framework for blockchain projects
- facebook/opaque-ke - Implementation of the recent OPAQUE password-authenticated key exchange.
- iddm/randomorg - A random.org client library.
- klutzy/suruga - Implementation of TLS 1.2
- kn0sys/ecc-rs - Intuitive library for elliptic curve cryptography tutorials
- kornelski/rust-security-framework - Bindings for Security Framework (OSX native)
- libOctavo/octavo - Modular hash and crypto library
- orion-rs/orion - This library aims to provide easy and usable crypto. 'Usable' meaning exposing high-level API's that are easy to use and hard to misuse.
- racum/rust-djangohashers [djangohashers] - Port of the password primitives used in the Django Project. It doesn't require Django, only hashes and validates passwords according to its style.
- rust-openssl - OpenSSL bindings
- RustCrypto/hashes - Collection of cryptographic hash functions
- rustls/rustls - Implementation of TLS
- sfackler/rust-native-tls - Bindings for native TLS libraries
- sorairolake/abcrypt [abcrypt] - A simple, modern and secure file encryption library.
- sorairolake/scryptenc-rs [scryptenc] - An implementation of the scrypt encrypted data format.
- w3f/schnorrkel - Schnorr VRFs and signatures on the Ristretto group
Data processing
Data streaming
Data structures
Data visualization
Database
[database]
-
NoSQL [nosql]
-
OGM [ogm]
-
ORM [orm]
-
sfackler/r2d2 - generic connection pool
-
SQL [sql]
-
VennDB [venndb] - An append-only in-memory database in Rust for rows queried using bit (flag) columns.
Date and time
Distributed systems
- Antimony
- antimonyproject/antimony [antimony] - stream processing / distributed computation platform
- Apache Kafka
- fede1024/rust-rdkafka [rdkafka] - librdkafka bindings
- gklijs/schema_registry_converter [schema_registry_converter] - to integrate with confluent schema registry
- kafka-rust/kafka-rust - Rust client for Apache Kafka
- HDFS
- hyunsik/hdfs-rs [hdfs] - libhdfs bindings
- Other
- build-trust/ockam [ockam] - End-to-End Encryption, Mutual Authentication, and ABAC for distributed applications
- build-trust/ockam [ockam] - End-to-End Encryption, Mutual Authentication, and ABAC for distributed applications
Domain driven design
- serverlesstechnology/cqrs [cqrs-es] - A framework for CQRS and event sourcing with user guide
eBPF
- aya/aya-rs - Built with a focus on developer experience and operability.
- libbpf/libbpf-rs - A minimal and opinionated eBPF tooling.
Encoding
[encoding]
Filesystem
- Operations
- Temporary Files
- Stebalien/tempfile - temporary file library
- Stebalien/xattr [xattr] - list and manipulate unix extended file attributes
- zboxfs/zbox [zbox] - Zero-details, privacy-focused embeddable file system.
Finance
Functional Programming
- Prelude
- JasonShin/fp-core.rs - A library for functional programming
- myrrlyn/tap - Suffix-Position Pipeline Behavior
Game development
See also Are we game yet?
Geospatial
Graph algorithms
Graphics
[graphics]
GUI
[gui]
- autopilot-rs/autopilot-rs - A simple, cross-platform GUI automation library.
- Cocoa
- servo/core-foundation-rs - Rust bindings to Core Foundation and other low level libraries on Mac OS X and iOS
- 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. 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
- fltk-rs - FLTK bindings
- fltk-rs - FLTK bindings
- Flutter
- cunarist/rinf - Rust as your Flutter backend, Flutter as your Rust frontend
- flutter-rs - Build flutter desktop app in dart & rust.
- fzyzcjy/flutter_rust_bridge - High-level memory-safe binding generator for Flutter/Dart <-> Rust
- cunarist/rinf - Rust as your Flutter backend, Flutter as your Rust frontend
- 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
- relm - Asynchronous, GTK+-based, GUI library, inspired by Elm
- gtk-rs/gtk4-rs - GTK4 binding
- iced-rs/iced [iced] - A cross-platform GUI library, focused on simplicity and type-safety. Inspired by Elm.
- ImGui
- imgui-rs - Bindings for ImGui
- imgui-rs - Bindings for 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
- rust-native-ui/libui-rs - libui bindings.
- makepad/makepad [makepad-widgets] - Makepad is a creative software development platform that compiles to wasm/webGL, osx/metal, windows/dx11 linux/opengl.
- Nuklear
- nuklear-rust - Bindings for 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
- Qt
- cyndis/qmlrs - QtQuick bindings
- rust-qt - Qt bindings for Rust
- woboq/qmetaobject-rs - Integrate Qml and Rust by building the QMetaObject at compile time.
- Ribir - Ribir is a Rust GUI framework that helps you build beautiful and native multi-platform applications from a single codebase.
- rise-ui - Simple component-based cross-Platform GUI Toolkit for developing beautiful and user-friendly interfaces.
- saurvs/nfd-rs - nativefiledialog bindings
- Sciter
- sciter-sdk/rust-sciter - Sciter bindings
- sciter-sdk/rust-sciter - Sciter bindings
- 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 UI design toolkit druid.
Image processing
Language specification
- shnewto/bnf - A library for parsing Backus–Naur form context-free grammars.
Licensing
- WyvernIXTL/license-fetcher [license-fetcher] - Fetch licenses of dependencies at build time and embed them into your program.
Logging
[log]
- donnie4w/tklog - lightweight and efficient rust structured log library with support for log levels, file segmentation, compressed archiving.
- estk/log4rs - highly configurable logging framework modeled after Java's Logback and log4j libraries
- fast/logforth - A versatile, extensible, and easy-to-use logging framework for Rust applications. It allows you to configure multiple dispatches, filters, and appenders to customize your logging setup according to your needs.
- rbatis/fast_log - Async log High-performance asynchronous logging
- rust-lang/log - Logging implementation
- seanmonstar/pretty-env-logger - A pretty, easy-to-use logger.
- slog-rs/slog - Structured, composable logging
- tokio-rs/tracing - An application level tracing framework for async-aware structured logging, error handling, metrics, and more
Macro
Markup language
- CommonMark
- pulldown-cmark/pulldown-cmark - CommonMark parser
- insomnimus/tidier [tidier] - A library to format HTML, XHTML and XML documents.
Mobile
- Android / iOS
- ivnsch/rust_android_ios - An example of using a shared lib for Android and iOS using rust-swig and cbindgen respectively.
- Generic
- Geal/rust_on_mobile - iOS CocoaPods / Android JNI
- redbadger/crux [crux_core] - Cross-platform app development. Crux helps you share your app's business logic and behavior across mobile (iOS/Android) and web - as a single reusable core.
- iOS
- TimNN/cargo-lipo - A cargo lipo subcommand which automatically creates a universal library for use with your iOS application.
Network programming
- Bluetooth
- bluez/bluer [bluer] - Official BlueZ bindings.
- bluez/bluer [bluer] - Official BlueZ bindings.
- CoAP
- Covertness/coap-rs - A Constrained Application Protocol(CoAP) library.
- Docker
- fussybeaver/bollard - Docker daemon API
- FTP
- mattnenterprise/rust-ftp - an FTP client
- gRPC
- hyperium/tonic - A native gRPC client & server implementation with async/await support
- tikv/grpc-rs - The gRPC library built on C Core library and futures
- hyperium/tonic - A native gRPC client & server implementation with async/await support
- HTTP
- IPNetwork
- achanda/ipnetwork - A library to work with IP networks
- candrew/netsim - A library for network simulation and testing
- Low level
- actix/actix - Actor library
- 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
- message-io
- lemunozm/message-io - Event-driven message library to build network applications easy and fast. Supports TCP, UDP and WebSockets.
- 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.
- rmqtt/rmqtt - MQTT Server/MQTT Broker - Scalable Distributed MQTT Message Broker for IoT in the 5G Era
- bytebeamio/rumqtt - A library for developers to build applications that communicate with the MQTT protocol over TCP and WebSockets, with or without TLS.
- NanoMsg
- thehydroimpulse/nanomsg.rs - nanomsg bindings
- NATS
- nats-io/nats.rs - Client for NATS, the cloud native messaging system.
- nats-io/nats.rs - Client for NATS, the cloud native messaging system.
- Nng
- neachdainn/nng-rs [Nng] - Nng (nanomsg v2) bindings
- neachdainn/nng-rs [Nng] - Nng (nanomsg v2) bindings
- NNTP
- mattnenterprise/rust-nntp [nntp] - an NNTP client
- P2P
- POP3
- mattnenterprise/rust-pop3 [pop3] - A POP3 client
- QUIC
- Raknet
- b23r0/rust-raknet - RakNet Protocol implementation
- b23r0/rust-raknet - RakNet Protocol implementation
- 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 developing microservices in easy and simple way.
- ENQT-GmbH/remoc [remoc] - Remoc provides channels (broadcast, mpsc, oneshot, watch) similar to Tokio's and trait calling over any remote transport.
- SIP
- restsend/rsipstack - A RFC 3261 compliant SIP stack
- Socket.io
- 1c3t3a/rust-socketio [rust_socketio] - an implementation of a socket.io client written in Rust.
- 1c3t3a/rust-socketio [rust_socketio] - an implementation of a socket.io client written in Rust.
- SSH
- alexcrichton/ssh2-rs - libssh2 bindings
- Thrussh [thrussh] - an SSH library, backed by libsodium
- Stomp
- zslayton/stomp-rs - A STOMP 1.2 client implementation
- VPN
- defguard/wireguard-rs - A multi-platform library providing a unified high-level API for managing WireGuard interfaces using native OS kernel and userspace WireGuard protocol implementations
- Zenoh
- eclipse-zenoh-flow/zenoh-flow - A declarative framework for computations that span from the Cloud to the Thing
- eclipse-zenoh/zenoh - Zero Overhead Network Protocol
- ZeroMQ
- erickt/rust-zmq - ZeroMQ bindings
Parsing
Peripherals
- Fingerprint reader
- alvaroparker/libfprint-rs [libfprint-rs] - Libfprint-rs provides a wrapper around the Linux libfprint library.
- Serial Port
- serialport/serialport-rs [serialport] - A cross-platform library that provides access to a serial port
Platform specific
- Cross-platform
- FreeBSD
- fubarnetes/libjail-rs [jail] - FreeBSD jail library
- Linux
- hannobraun/inotify-rs - inotify bindings
- pop-os/distinst - Linux distribution installer
- yaa110/rust-iptables [iptables] - iptables bindings
- hannobraun/inotify-rs - inotify bindings
- Unix-like
- Windows
Reverse engineering
- binarly-io/idalib [idalib] - Rust bindings for the IDA SDK, enabling the development of standalone analysis tools using IDA v9.0’s idalib
- objdiff - A local diffing tool for decompilation projects
Scripting
- 3body-lang - The Three Body Language
- cel-rust [cel-interpreter] - Common expression language parser and interpreter
- duckscript - Simple, extendable and embeddable scripting language.
- facebook/starlark-rust - A small, deterministic, thread-safe language with Python syntax
- fleabitdev/gamelisp - A Lisp-like scripting language for game development
- giraffekey/xylo [xylo-lang] - A functional programming language for procedural art.
- 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
- trynova/nova - JavaScript engine written entirely in Rust
Simulation
- nyx-space - High fidelity, fast, reliable and validated astrodynamical toolkit library, used for spacecraft mission design and orbit determination
Social networks
- Telegram
System
Task scheduling
- delay-timer - Time-manager of delayed tasks. Like crontab, but asynchronous tasks are possible.
- persistent-scheduler [persistent-scheduler] - A high-performance task scheduling system built with Tokio, offering task persistence, repeatable tasks, and Cron-based scheduling for reliable time-based operations.
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
- askama - template rendering engine based on Jinja
- kaj/ructe - HTML template system
- Keats/tera - template engine based on Jinja2 and the Django template language.
- lambda-fairy/maud - compile-time HTML templates
- Stebalien/horrorshow-rs - compile-time HTML templates
- Mustache
- rustache/rustache - a Rust implementation of the Mustache spec
Text processing
Text search
Unsafe
- zerocopy - "Zerocopy makes zero-cost memory manipulation effortless. We write
unsafeso you don’t have to."
Video
- ffmpeg-sidecar - Wrap a standalone FFmpeg binary in an intuitive Iterator interface.
Virtualization
- beneills/quantum - Advanced quantum computer simulator
- bytecodealliance/wasmtime - A standalone runtime for WebAssembly
- chromium/chromiumos/platform/crosvm - CrOSVM Enables Chrome OS to run Linux apps inside a fast, secure virtualized environment
- oxidecomputer/propolis - Userspace program for illumos bhyve kernel modules
- saurvs/hypervisor-rs - Hardware-accelerated virtualization on OS X
Web programming
See also Are we web yet? and Rust web framework comparison.
- Backend
- actix/actix-web - A lightweight async web framework with websocket support
- Anansi - A simple full-stack web framework
- Rocket - Rocket is a web framework with a focus on ease-of-use, expressability, and speed
- spring-rs - spring-rs is a application framework written in rust inspired by java's spring-boot.
- tako - Tako is an asynchronous web framework for Rust on Hyper & Tokio. GitHub Workflow Status
- tokio/axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
- Client-side / WASM
- cargo-web - A Cargo subcommand for the client-side Web
- leptos - Leptos is a full-stack, isomorphic 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 framework for creating web apps
- stdweb - A standard library for the client-side Web
- tinyweb - A minimal Rust web framework for wasm in 800 lines of code
- yew - A framework for making client web apps
- HTTP Client
- HTTP Server
- Miscellaneous
- cargonauts - A web framework intended for building maintainable, well-factored web apps.
- edezhic/prest [prest] - Progressive RESTful framework aimed to simplify fullstack development
- 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.
- 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 [rust-embed] - A macro to embed static assets into the rust binary
- rookie - Load cookies from any browser on any platform.
- rust-scraper/scraper [scraper] - HTML parsing and querying with CSS selectors.
- serenity-rs/serenity [serenity] - A 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 easily
- teloxide/teloxide - An elegant Telegram bots framework
- tu6ge/valitron [valitron] - An ergonomic, functional and configurable validator
- utkarshkukreti/select.rs [select] - A library to extract useful data from HTML documents, suitable for web scraping.
- Utoipa - Simple, Fast, Code first and Compile time generated OpenAPI documentation
- Utoipauto - Rust Macros to automate the addition of Paths/Schemas to Utoipa
- Reverse Proxy
- sozu-proxy/sozu [sozu] - A HTTP reverse proxy.
- sozu-proxy/sozu [sozu] - A HTTP 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.
Resources
- A Brief History of Rust. Part 1 - From a developer's pursuit of software stability to a project that nearly destabilized its creator. Part 2. Part 3.
- Arts
- 🦀 Free Ferris Pack 🦀 - Pack of 50+ Free Ferris illustrations with different emotions, poses and situations in PNG and SVG licensed under CC0
- Benchmarks
- c410-f3r/wtx-bench - Web benchmarks
- TeXitoi/benchmarksgame-rs - Implementations for the The Computer Language Benchmarks Game
- Decks & Presentations
- Learning systems programming with Rust - Presented by Julia Evans @ Rustconf 2016.
- Rust: Hack Without Fear! - Presented by Nicholas Matsakis @ C++Now 2018
- Shipping a Solid Rust Crate - Presented by Michael Gattozzi @ RustConf 2017
- Learning
- 100 Exercises To Learn Rust - Learn Rust through 100 hands-on exercises, covering syntax, types, and more
- Aquascope - Interactive visualizations of Rust at compile-time and run-time
- Awesome Rust Streaming - A community curated list of livestreams.
- awesome-rust-mentors - A list of helpful mentors willing to take mentees and educate them about Rust and programming.
- CIS 198: Rust Programming - University of Pennsylvania's Comp Sci Rust Programming Course
- CodeCrafters.io - Build your own Redis, Git, Docker, or SQLite
- 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.
- LabEx Rust Skill Tree - A structured Rust learning path with hands-on labs, designed for beginners to master Rust step by step.
- Learn Rust 101 - A guide to aid you in your journey of becoming a Rustacean (Rust developer)
- 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 - a collection of runnable examples that illustrate various Rust concepts and standard libraries.
- Rust Cookbook - A collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem.
- Rust Flashcards - Over 550 flashcards to learn Rust from first principles.
- 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 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
- Rustfinity - Interactive platform for practicing Rust through hands-on exercises and challenges
- 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
- Tour of Rust - This is meant to be an interactive step by step guide through the features of the Rust programming language.
- Podcasts
- New Rustacean - A podcast about learning Rust
- Rustacean Station - A community project for creating podcast content for Rust
- Rust Design Patterns - A catalogue of Rust design patterns, anti-patterns and idioms
- Rust Guidelines - Aaron Turon's blog posts on rust
- Rust Security Handbook - A 10-chapter handbook for writing actually secure Rust: type-safety, panic-proofing & more.
- 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 - Recorded talks from RustCamp 2015
- 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 - Implementing (part of) a BitTorrent client in Rust
