Convert Figma logo to code with AI

rust-unofficial logoawesome-rust

A curated list of Rust code and resources.

45,737
2,700
45,737
14

Top Related Projects

96,644

Empowering everyone to build reliable and efficient software.

12,669

The Rust package manager

15,083

The Rust Programming Language

53,463

:crab: Small exercises to get you used to reading and writing Rust code!

The Rust package registry

A guide to how rustc works and how to contribute to it.

Quick Overview

Awesome Rust is a curated list of Rust code and resources. It serves as a comprehensive collection of Rust libraries, tools, frameworks, and learning materials, maintained by the Rust community. This repository aims to help Rust developers discover high-quality resources and libraries for their projects.

Pros

  • Extensive collection of Rust resources in one place
  • Regularly updated and maintained by the community
  • Well-organized into categories for easy navigation
  • Includes both popular and lesser-known projects

Cons

  • Can be overwhelming for beginners due to the sheer volume of resources
  • Quality of listed projects may vary
  • Some links may become outdated over time
  • Lacks detailed descriptions or comparisons of listed resources

Note: As this is not a code library, the code examples and getting started sections have been omitted.

Competitor Comparisons

96,644

Empowering everyone to build reliable and efficient software.

Pros of rust

  • Official source code repository for the Rust programming language
  • Contains the compiler, standard library, and documentation
  • Allows direct contribution to Rust's core development

Cons of rust

  • Large codebase, potentially overwhelming for newcomers
  • Requires significant time and expertise to contribute effectively
  • Focus on core language development, not on showcasing external projects

Code comparison

rust:

fn main() {
    println!("Hello, world!");
}

awesome-rust:

## Applications

* [alacritty](https://github.com/alacritty/alacritty) — A cross-platform, GPU enhanced terminal emulator

Summary

rust is the official repository for the Rust programming language, containing the core components and allowing direct contributions to Rust's development. It's comprehensive but can be overwhelming for newcomers.

awesome-rust is a curated list of Rust libraries, tools, and resources. It's more accessible for those looking to explore the Rust ecosystem and discover useful projects, but doesn't allow direct contribution to Rust itself.

The code comparison shows that rust contains actual Rust source code, while awesome-rust is a markdown file listing various Rust projects and resources.

12,669

The Rust package manager

Pros of Cargo

  • Official package manager and build tool for Rust, providing standardized project management
  • Integrated with the Rust ecosystem, offering seamless dependency handling and compilation
  • Regularly updated and maintained by the Rust core team

Cons of Cargo

  • Focused solely on Rust package management and build processes
  • Less comprehensive in terms of general Rust resources and community-curated content
  • May not include information about third-party tools or libraries not directly related to package management

Code Comparison

Cargo (cargo.toml):

[package]
name = "my_project"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]

[dependencies]
serde = "1.0"

Awesome Rust (README.md):

## Libraries

* [serde-rs/serde](https://github.com/serde-rs/serde) — A serialization/deserialization framework [![build badge](https://api.travis-ci.org/serde-rs/serde.svg?branch=master)](https://travis-ci.org/serde-rs/serde)

Summary

Cargo is the official Rust package manager, providing essential tools for Rust development. It excels in project management and dependency handling but focuses solely on these aspects. Awesome Rust, on the other hand, is a community-curated list of Rust resources, offering a broader overview of the Rust ecosystem, including libraries, tools, and learning materials. While Cargo is crucial for Rust development, Awesome Rust serves as a valuable reference for discovering various Rust-related resources.

15,083

The Rust Programming Language

Pros of book

  • Comprehensive, structured learning resource for Rust
  • Official documentation maintained by the Rust team
  • In-depth explanations and examples for Rust concepts

Cons of book

  • Limited coverage of third-party libraries and tools
  • Less frequently updated compared to community-driven resources
  • Focused on language fundamentals rather than practical applications

Code comparison

book:

fn main() {
    println!("Hello, world!");
}

awesome-rust:

// No direct code examples provided
// Focuses on curating links to various Rust projects and resources

Summary

The book repository serves as the official Rust programming language guide, offering a structured and comprehensive learning path for beginners and intermediate developers. It provides in-depth explanations of Rust concepts with code examples.

On the other hand, awesome-rust is a community-curated list of Rust libraries, tools, and resources. It offers a wide range of links to various Rust projects, making it an excellent reference for discovering new tools and libraries in the Rust ecosystem.

While book excels in teaching Rust fundamentals, awesome-rust shines in showcasing the diverse applications and libraries available in the Rust community. Developers often use both resources complementarily, relying on book for learning the language and awesome-rust for exploring the broader Rust ecosystem.

53,463

:crab: Small exercises to get you used to reading and writing Rust code!

Pros of rustlings

  • Hands-on learning approach with interactive exercises
  • Gradual progression from basic to advanced Rust concepts
  • Immediate feedback through automated tests

Cons of rustlings

  • Limited scope compared to the comprehensive resource list in awesome-rust
  • Focuses primarily on syntax and language features, less on ecosystem and tools

Code comparison

rustlings exercise example:

// exercises/variables/variables2.rs
fn main() {
    let x;
    if x == 10 {
        println!("x is ten!");
    } else {
        println!("x is not ten!");
    }
}

awesome-rust doesn't contain code examples directly, but links to various Rust projects and resources.

Summary

rustlings is an interactive, hands-on learning tool for Rust beginners, offering a structured approach to learning the language basics. It provides immediate feedback and a gradual learning curve.

awesome-rust, on the other hand, is a curated list of Rust resources, libraries, and tools. It serves as a comprehensive reference for both beginners and experienced developers, covering a wide range of topics and projects within the Rust ecosystem.

While rustlings focuses on teaching Rust syntax and core concepts through practical exercises, awesome-rust offers a broader overview of the Rust landscape, including libraries, frameworks, and community resources.

Developers may find it beneficial to use both repositories: starting with rustlings for hands-on practice, then exploring awesome-rust to discover more advanced topics and useful tools in the Rust ecosystem.

The Rust package registry

Pros of crates.io

  • Official Rust package registry, ensuring reliability and authenticity
  • Integrated with Cargo, providing seamless package management
  • Offers detailed package statistics and version history

Cons of crates.io

  • Limited to crates only, not covering other Rust resources
  • Less curated content compared to awesome-rust
  • May include outdated or less maintained packages

Code Comparison

crates.io (Cargo.toml):

[dependencies]
serde = "1.0"
tokio = { version = "1", features = ["full"] }

awesome-rust (README.md):

## Web Programming

* [Rocket](https://github.com/SergioBenitez/Rocket) — A web framework for Rust
* [actix-web](https://github.com/actix/actix-web) — A powerful, pragmatic, and extremely fast web framework for Rust

Summary

crates.io serves as the official package registry for Rust, offering a comprehensive collection of crates with seamless integration into the Rust ecosystem. It provides detailed package information and statistics but lacks curation and broader Rust resources.

awesome-rust, on the other hand, is a curated list of Rust libraries, tools, and resources. It offers a more diverse range of Rust-related content, including frameworks, learning materials, and community projects. However, it doesn't provide the same level of package management integration as crates.io.

While crates.io focuses on package distribution, awesome-rust serves as a valuable resource for discovering and exploring the Rust ecosystem beyond just crates.

A guide to how rustc works and how to contribute to it.

Pros of rustc-dev-guide

  • Provides in-depth, official documentation for Rust compiler development
  • Offers a structured learning path for contributors to the Rust project
  • Includes detailed explanations of Rust's internal architecture and design decisions

Cons of rustc-dev-guide

  • Narrower focus, primarily useful for those working on the Rust compiler
  • Less frequently updated compared to community-driven resources
  • May be overwhelming for beginners or those not directly involved in compiler development

Code Comparison

rustc-dev-guide (example of compiler internals):

fn main() {
    let x = 5;
    let y = x + 1;
    println!("y = {}", y);
}

awesome-rust (example of a popular crate):

use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
struct Point {
    x: i32,
    y: i32,
}

Summary

While rustc-dev-guide offers comprehensive documentation for Rust compiler development, awesome-rust provides a broader collection of community-curated resources for general Rust programming. The former is ideal for those contributing to the Rust project, while the latter serves as a valuable reference for the wider Rust ecosystem.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Awesome Rust build badge Track Awesome List

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. (So far, it's a not-very-complete client. But watch this space!) Crates.io
  • asm-cli-rust - An interactive assembly shell.
  • cloudflare/boringtun - A Userspace WireGuard VPN Implementation build badge
  • defguard - Enterprise Open Source SSO & WireGuard VPN with real 2FA/MFA
  • denoland/deno - A secure JavaScript/TypeScript runtime built with V8 and Tokio Build Status
  • doprz/dipc - Convert your favorite images and wallpapers with your favorite color palettes/themes crates.io
  • EasyTier - A simple, full-featured and decentralized mesh VPN with WireGuard support. crates.io GitHub actionsGitHub actions
  • fcsonline/drill - A HTTP load testing application inspired by Ansible syntax
  • fend - Arbitrary-precision unit-aware calculator build
  • 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 Build Status
  • 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 Build Status
  • kftray - A cross-platform system tray app for managing and sharing multiple kubectl port-forward configurations. Build Status
  • 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 Build Status
  • 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
  • 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
  • Ryot - A self hosted application to track media consumption, fitness, etc.
  • 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 build badge crate
  • 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 Build Status
  • 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

  • dano - A hashdeep/md5tree (but much more) for media files
  • 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.
  • Festival - A local music player/server/client build-badge
  • figsoda/mmtc [mmtc] - Minimal mpd terminal client that aims to be simple yet highly configurable build-badge
  • Glicol - Graph-oriented live coding language, for collaborative musicking in browsers.
  • ncspot - Cross-platform ncurses Spotify client, inspired by ncmpc and the likes. build badge
  • Pinepods - A rust based podcast management system with multi-user support. Pinepods utilizes a central database so aspects like listen time and themes follow from device to device. With clients built using Tauri, it's a full cross-platform listening solution! Docker Container Build
  • Polaris - A music streaming application.
  • Spotify Player - A Spotify player in the terminal with full feature parity.
  • Spotifyd - An open source Spotify client running as a UNIX daemon. Continuous Integration
  • termusic - Music Player TUI written
  • 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. Continuous Integration

Blockchain

  • artemis - A simple, modular, and fast framework for writing MEV bots.
  • beerus - Beerus is a trustless StarkNet Light Client, ⚡blazing fast ⚡ GitHub Workflow Status
  • 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 GitHub Workflow Status
  • cairo-vm - Implementation of the Cairo VM rust
  • 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.
  • electrumrs - An efficient re-implementation of Electrum Server.
  • ethabi - Encode and decode smart contract invocations.
  • ethaddrgen - Custom Ethereum vanity address generator
  • ethers-rs - Complete Ethereum & Celo library and wallet implementation. Build Status
  • etk - etk is a collection of tools for writing, reading, and analyzing EVM bytecode.
  • Forest - Filecoin implementation Build Status
  • Foundry - Foundry is a blazing fast, portable and modular toolkit for Ethereum application development. Build Status
  • 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. detect critical check failures
  • 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
  • Lighthouse - Ethereum Consensus Layer (CL) Client Build Status
  • madara - Kaioshin is a ⚡ blazing fast ⚡ Starknet sequencer, based on substrate. GitHub Workflow Status
  • mev-inspect-rs - Ethereum MEV Inspector.
  • 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
  • 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 Crate - 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.
  • Solana - Incredibly fast, highly scalable blockchain using Proof-of-History.
  • 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

  • Atomic-Server [atomic-server] - NoSQL graph database with realtime updates, dynamic indexing and easy-to-use GUI for CMS purposes. Release
  • CozoDB - A transactional, relational database that uses Datalog and focuses on graph data and algorithms. Time-travel-capable, and fast! GitHub Workflow Status
  • darkbird [darkbird] - HighConcurrency, RealTime, InMemory storage inspired by erlang mnesia
  • Databend - A Modern Real-Time Data Processing & Analytics DBMS with Cloud-Native Architecture Release
  • DB3 Network - DB3 is a community-driven blockchain layer2 decentralized database network GitHub Workflow Status (with event)
  • erikgrinaker/toydb - Distributed SQL database, written as a learning project.
  • FnckSQL - SQL as a Function for Rust
  • Garage [garage] - S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale. status-badge
  • GreptimeDB - An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported.CI
  • indradb - Graph database
  • lancedb [vectordb] - A serverless, low-latency vector database for AI applications
  • Lucid - High performance and distributed KV store accessible through a HTTP API. Build Status
  • Materialize - Streaming SQL database powered by Timely Dataflow :heavy_dollar_sign: Build status
  • 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
  • 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 Tests
  • Qrlew/qrlew [qrlew] - The SQL-to-SQL Differential Privacy layer Qrlew Crates.io Version
  • RisingWaveLabs/RisingWave - the next-generation streaming database in the cloud CI
  • seppo0010/rsedis - A Redis reimplementation.
  • Skytable - A multi-model NoSQL database GitHub Workflow Status
  • sled - A (beta) modern embedded database Build Status
  • SQLSync - Multiplayer offline-first SQLite GitHub Workflow Status
  • SurrealDB - A scalable, distributed, document-graph database Build Status
  • TerminusDB - open source graph database and document store Build Status
  • tikv - A distributed KV database in Rust Build Status
  • Tonbo - Tonbo is an embedded persistent database built on Apache Arrow & Parquet crates.io
  • USearch - Similarity Search Engine for Vectors and Strings crates.io
  • 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.

Emulators

See also crates matching keyword 'emulator'.

  • CHIP-8
  • Commodore 64
  • Flash Player
    • Ruffle - Ruffle is an Adobe Flash Player emulator. Ruffle targets both the desktop and the web using WebAssembly. CICI
  • 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.
  • IBM PC
    • MartyPC - An IBM PC/XT emulator written in Rust.
  • Intel 8080 CPU
  • iOS
    • touchHLE - High-level emulator for iPhone OS apps
  • iPod
    • clicky - A clickwheel iPod emulator (WIP)
  • NES
  • Nintendo 64
    • gopher64 - N64 emulator written in Rust
  • Nintendo DS
    • dust - A Nintendo DS emulator
  • PlayStation 4
    • Obliteration - Experimental PS4 emulator for Windows, macOS and Linux CI
  • ZX Spectrum

File manager

  • 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 Latest Version
  • joshuto - ranger-like terminal file manager
  • xplr - A hackable, minimal, fast TUI file explorer
  • yazi - Blazing fast terminal file manager, based on async I/O.

Games

See also Games Made With Piston.

Graphics

Image processing

Industrial automation

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. GitHub Actions CI
  • Quickwit-oss/quickwit - Cloud-native and highly cost-efficient search engine for log management. CI
  • 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.
  • Andy-Python-Programmer/aero - A modern, unix-like operating system following the monolithic kernel design.
  • 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 - build badge
  • tock/tock - A secure embedded operating system for Cortex-M based microcontrollers

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 crate

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 GitHub last commit

Productivity

Routing protocols

  • Holo - Holo is a suite of routing protocols designed to support high-scale and automation-driven networks
  • RustyBGP - BGP

Security tools

  • AFLplusplus/LibAFL - Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, etc. build and test
  • arp-scan-rs - A minimalistic ARP scan tool for fast local network scans
  • 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.
  • entropic-security/xgadget [xgadget] - Fast, parallel, cross-variant ROP/JOP gadget search GitHub Actions
  • 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
  • observer_ward - Web application and service fingerprint identification tool
  • Raspirus - User- and resources-friendly signatures-based malware scanner status
  • ripasso - A password manager, filesystem compatible with pass
  • rustscan/rustscan - Make Nmap faster with this port scanning tool build badge

Social networks

  • Mastodon
    • Rustodon - A Mastodon-compatible, ActivityPub-speaking server.
  • Telegram
    • tgt - A crossplatform TUI for Telegram ci-linux ci-macos ci-windows

System tools

  • ajeetdsouza/zoxide - A fast alternative to cd that learns your habits release
  • 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. GitHub Workflow Status (branch)
  • brocode/fblog - Small command-line JSON Log viewer
  • bustd - Lightweight process killer daemon to handle out-of-memory scenarios on Linux. GitHub Workflow Status (branch)
  • 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 Build Status
  • cristianoliveira/funzzy - A configurable filesystem watcher inspired by entr
  • dalance/procs - A modern replacement for 'ps' Regression
  • 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. build
  • 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 build
  • 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
  • lotabout/skim - A fuzzy finder
  • lsd - An ls with a lot of pretty colors and awesome icons build
  • 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 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 build
  • nivekuil/rip - A safe and ergonomic alternative to rm
  • nushell/nushell - A new type of shell
  • orhun/kmon - Linux Kernel Manager and Activity Monitor https://github.com/orhun/kmon/actions
  • orhun/systeroid - A more powerful alternative to sysctl(8) with a terminal user interface https://github.com/orhun/systeroid/actions
  • ouch - Painless compression and decompression on the command-line GitHub Workflow Status (branch)
  • 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. GitHub Actions Workflow
  • qarmin/czkawka - Multi-functional app to find duplicates, empty folders, similar images, etc. GitHub Actions Workflow
  • redox-os/ion - Next-generation system shell
  • sharkdp/bat - A cat(1) clone with wings. CICD
  • sharkdp/fd - A simple, fast and user-friendly alternative to find. CICD
  • sitkevij/hex - A colorized hexdump terminal utility.
  • supercilex/fuc - Fast cp and rm commands
  • trippy - A network diagnostic tool build badge
  • uutils/coreutils - A cross-platform rewrite of the GNU coreutils CICD
  • watchexec - Executes commands in response to file modifications
  • XAMPPRocky/tokei - counts the lines of code
  • ynqa/jnv - Interactive JSON filter using jq ci
  • ynqa/sig - Interactive grep (for streaming) ci

Task scheduling

  • delicate - A lightweight and distributed task scheduling platform. Build Status
  • tasklet [tasklet] - A task scheduling library written in Rust Build Status

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. build badge
  • ilai-deutel/kibi - A tiny (≤1024 LOC) text editor with syntax highlighting, incremental search and more. build badge
  • Lapce - A modern editor with a backend. Taking inspiration from the discontinued xi-editor.
  • mathall/rim - Vim-like text editor.
  • 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
  • zed - A high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Text processing

  • ashvardanian/stringzilla - SIMD-accelerated string search, sort, edit distances, alignments, and generators for x86 AVX2 & AVX-512, and Arm NEON crates.io
  • dominikwilkowski/cfonts [cfonts] - Sexy ANSI fonts for the console build badge
  • 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. Linux build status Windows build status macOS build status
  • 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 build badge crates.io
  • 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). crates.io crates.io build badge
  • ripgrep - combines the usability of The Silver Searcher with the raw speed of grep
  • ruplacer - Find and replace text in source files Run tests
  • sd - Intuitive find & replace CLI
  • sstadick/hck - A faster and more featureful drop in replacement for cut build badge
  • 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 Build Status
  • brycx/checkpwn - A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords.
  • dcapal - DcaPal is a free, no registration, online tool to help you keep your portfolio balanced with dollar cost averaging investments.
  • 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. CI build badge
  • 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. Crate Build Status
  • 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 build-badge
  • nix-community/nix-melt - A ranger-like flake.lock viewer build-badge
  • nix-community/nurl [nurl] - Generate Nix fetcher calls from repository URLs build-badge
  • nomino - Batch rename utility for developers
  • raftario/licensor - write licenses to stdout GitHub Actions
  • rust-parallel - Fast command line app using Tokio to execute commands in parallel. Similar interface to GNU Parallel or xargs. Crate Build Status
  • rustdesk/rustdesk - A remote desktop software, great alternative to TeamViewer and AnyDesk.
  • rustic-rs/rustic [rustic-rs] - Fast, encrypted, deduplicated backups powered by Rust. Version
  • sorairolake/qrtool [qrtool] - A utility for encoding and decoding QR code images. CI
  • str4d/rage [rage] - Rust implementation of age.
  • suckit - Recursively visit and download a website's content to your disk. Crate Build Status
  • Tabiew - A lightweight TUI app to view and query CSV files.
  • tversteeg/emplace - Synchronize installed packages on multiple machines
  • vamolessa/verco [verco] - A simple Git/Hg tui client focused on keyboard shortcuts
  • vaultwarden Build - Alternative implementation of the Bitwarden server API written in Rust
  • Vibe - Transcribe audio or video in every language on every platform.
  • warpdotdev/Warp - :heavy_dollar_sign: 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. crates.io

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.
  • importantimport/hatsu - 🩵 Self-hosted and fully-automated ActivityPub bridge for static sites. release
  • LemmyNet/lemmy - A link aggregator / reddit clone for the fediverse Build Status
  • 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 build badge
  • Plume-org/Plume - ActivityPub federating blogging application
  • Revolt/backend - User-first chat platform built with modern web technologies.

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 Rust
  • 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 build badge
  • orhun/rustypaste - A minimal file upload/pastebin service https://github.com/orhun/rustypaste/actions
  • ronanyeah/rust-hasura - A demonstration of how a GraphQL server can be used as a remote schema with Hasura Rust
  • static-web-server - A blazing fast and asynchronous web server for static files-serving. ⚡ CI
  • 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 build badge
  • 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
  • wyhaya/see - Static HTTP file server

Development tools

  • ATAC - A feature-full TUI API client made in Rust. ATAC is free, open-source, offline and account-less.
  • bacon - background rust code checker, similar to cargo-watch
  • clippy - Rust lints
  • clog-tool/clog-cli - generates a changelog from git metadata (conventional changelog)
  • cloudflare/foundations - Foundations is a modular Rust library, designed to help scale programs for distributed, production-grade systems.
  • comtrya - A configuration management tool for localhost / dotfiles build badge
  • create-rust-app - Set up a modern rust+react web app by running one command. crate
  • dan-t/rusty-tags - create ctags/etags for a cargo project and all of its dependencies
  • datanymizer/datanymizer - Powerful database anonymizer with flexible rules build badge
  • delta - A syntax-highlighter for git and diff outputbuild badge
  • dotenv-linter - Linter for .env files build badge
  • envio-cli/envio - A Modern And Secure CLI Tool For Managing Environment Variables build badge
  • Flox - Flox is a virtual environment and package manager all in one.
  • frolic - An API layer to build customer facing dashboards 10x faster
  • fw - workspace productivity booster Rust
  • fzf-make [fzf-make] - A command line tool that executes make target using fuzzy finder with preview window. crates.io
  • geiger - A program that list statistics related to usage of unsafe code in a crate and all its dependencies Build Status
  • git-cliff - A highly customizable Changelog Generator that follows Conventional Commit specifications https://github.com/orhun/git-cliff/actions
  • git-journal - The Git Commit Message and Changelog Generation Framework
  • hot-lib-reloader - Hot reload Rust code build badge
  • intelli-shell - Bookmark commands with placeholders and search or autocomplete at any time crate build badge
  • just - A handy command runner for project-specific tasks
  • mask - A CLI task runner defined by a simple markdown file build badge
  • 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). Build Status
  • Rustup - the Rust toolchain installer build badge
  • scriptisto - A language-agnostic "shebang interpreter" that enables you to write one file scripts in compiled languages. Build Status
  • typos [typos-cli] - Source code spell checker

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 CI
    • 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 Build Status
    • 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 Build and test
    • 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. build badge
    • cargo-make - Task runner and build tool. build badge
    • 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. build badge
    • cargo-release - tool for releasing git-managed cargo project, build, tag, publish, doc and push Rust
    • 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
  • facebook/buck2 - Buck2 is a large-scale build tool built in Rust
  • Fleet [fleet-rs] - The blazing fast build tool for Rust.
  • GitHub actions
  • 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.. OpenSSF Scorecard OpenSSF Best Practices Slack

Debugging

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.

Formatters

  • dprint - A pluggable and configurable code formatting platform build badge
  • 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
  • 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 Crates Package Status
    • cargo-dinghy - A cargo extension to simplify running library tests and benches on smartphones and other small processor devices.
    • cucumber Latest Version - An implementation of the Cucumber testing framework for Rust. Fully native, no external test runners or dependencies. Build Status
    • d-e-s-o/test-log [test-log] - A replacement of the #[test] attribute that initializes logging and/or tracing infrastructure before running tests. GitHub Workflow Status
    • demonstrate - Declarative Testing Framework Build Status
    • GoogleTest Rust - Powerful test assertion framework based on the C++ test library GoogleTest Build Status
    • rlt - A universal load testing framework, with real-time tui support.
    • rstest - Fixture-based test framework Build Status
    • speculate - An RSpec inspired minimal testing framework
  • 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. GitHub Actions Status
  • 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. crates.io

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.Crates.io
  • 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

Astronomy

[astronomy]

Asynchronous

Audio and Music

[audio]

Authentication

  • constantoine/totp-rs [totp-rs] - 2fa library to generate and verify TOTP-based tokens Build Status
  • Keats/jsonwebtoken - JSON Web Token library
  • oauth2 - Extensible, strongly-typed 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 Build Status
  • 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

Bioinformatics

Caching

Cloud

Command-line

Compression

Computation

Concurrency

Configuration

Cryptography

[crypto, cryptography]

Data processing

  • amv-dev/yata - high performance technical analysis library Build Status
  • bluss/ndarray - N-dimensional array with array views, multidimensional slicing, and efficient operations
  • datafusion - DataFusion is a very fast, extensible query engine for building high-quality data-centric systems in Rust, using the Apache Arrow in-memory format.
  • kernelmachine/utah - Dataframe structure and operations
  • pg_analytics - PostgreSQL extension that accelerates analytical query processing inside Postgres to a performance level comparable to dedicated OLAP databases.
  • pg_lakehouse - PostgreSQL extension that transforms Postgres into an analytical query engine over object stores like AWS S3/GCS and table formats like Delta Lake/Iceberg.
  • pola-rs/polars - Fast feature complete DataFrame library Build and test
  • weld-project/weld - High-performance runtime for data analytics applications

Data streaming

  • ArroyoSystems/arroyo - High-performance real-time analytics in Rust and SQL CI
  • iggy-rs/iggy [iggy] - Persistent message streaming platform, supporting QUIC, TCP and HTTP transport protocols CI
  • infinyon/fluvio - Programmable data streaming platform CI
  • swimos/swim-rust [swim-rust] - Self-contained distributed software platform for building stateful, massively real-time streaming applications.

Data structures

Data visualization

Database

[database]

Date and time

[date, time]

Distributed systems

Domain driven design

eBPF

  • aya/aya-rs - Built with a focus on developer experience and operability.
  • libbpf/libbpf-rs - A minimal and opinionated eBPF tooling.

Email

[email, imap, smtp]

Encoding

[encoding]

Filesystem

[filesystem]

Finance

Functional Programming

[functional programming]

Game development

See also Are we game yet?

Geospatial

[geo, gis]

Graph algorithms

Graphics

[graphics]

GUI

[gui]

Image processing

Language specification

  • shnewto/bnf - A library for parsing Backus–Naur form context-free grammars.

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 CircleCI
  • 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 Build Status

Macro

  • cute
  • Linq-in-Rust - Macro and methods for C#-LINQ-like expressions. CI

Markup language

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. Build status
  • iOS
    • TimNN/cargo-lipo - A cargo lipo subcommand which automatically creates a universal library for use with your iOS application.

Network programming

Parsing

Peripherals

Platform specific

Scripting

[scripting]

Simulation

[simulation]

  • nyx-space - High fidelity, fast, reliable and validated astrodynamical toolkit library, used for spacecraft mission design and orbit determination Build Status

Social networks

  • Telegram
    • tdilb-rs [tdilb-rs] - Crossplatform Rust wrapper around the Telegram Database Library (TDLib) CI Linux CI macOS CI Windows

System

Task scheduling

  • delay-timer - Time-manager of delayed tasks. Like crontab, but asynchronous tasks are possible. Build

Template engine

Text processing

Text search

  • andylokandy/simsearch-rs [simsearch] - A simple and lightweight fuzzy search engine that works in memory, searching for similar strings
  • BurntSushi/fst [fst] - a fast implementation of ordered sets and maps using finite state machines
  • CurrySoftware/perlin [perlin] - A lazy, zero-allocation and data-agnostic Information Retrieval library
  • meilisearch/MeiliSearch - Ultra relevant, instant and typo-tolerant full-text search API. Build Status
  • pg_search - PostgreSQL extension that enables full-text search over SQL tables using the BM25 algorithm, the state-of-the-art ranking function for full-text search.
  • tantivy [tantivy] - A horse-speed full-text search engine library written in Rust. Build Status

Unsafe

  • zerocopy - "Zerocopy makes zero-cost memory manipulation effortless. We write unsafe so you don’t have to."

Video

  • ffmpeg-sidecar - Wrap a standalone FFmpeg binary in an intuitive Iterator interface. Build Status

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 web framework leveraging fine-grained reactivity to build declarative user interfaces.crate
    • 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
    • yew - A framework for making client web apps
  • HTTP Client
  • HTTP Server
    • actix/actix-web - A lightweight async web framework with websocket support
    • Anansi - A simple full-stack web framework
    • branca - Implementation of Branca for Authenticated and Encrypted API tokens.
    • c410-f3r/wtx - Low and high level HTTP/2 server
    • carllerche/tower-web [tower-web] - A fast, boilerplate free, web framework
    • danclive/sincere - A micro web framework based on hyper and multithreading.
    • GildedHonour/frank_jwt - JSON Web Token implementation.
    • Gotham - A flexible web framework that does not sacrifice safety, security or speed.
    • Graphul - An Express-inspired web framework. crate
    • handlebars-rust - an Iron web framework middleware.
    • hyperium/hyper - an HTTP implementation CI
    • Iron - A middleware-based server framework
    • Juniper - GraphQL server library
    • miketang84/sapper - A lightweight web framework built on async hyper.
    • Nickel - inspired by Express
    • poem-web/poem - A full-featured and easy-to-use web framework. CI
    • Rocket - Rocket is a web framework 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. build build
    • Saphir - A progressive web framework with low-level control, without the pain.
    • seanmonstar/warp - A super-easy, composable, web server framework for warp speeds. crate
    • spring-rs - spring-rs is a application framework written in rust inspired by java's spring-boot.
    • tiny-http - Low level HTTP server library
    • tokio/axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper Build badge
    • tomaka/rouille - Web framework
    • Zino - Next-generation framework for composable applications
  • 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. Build Status
    • pwoolcoc/soup [soup] - A library similar to Python's BeautifulSoup, designed to enable quick and easy manipulation and querying of HTML documents. Build Status
    • pyrossh/rust-embed - A macro to embed static assets into the rust binary
    • rookie - Load cookies from any browser on any platform. crates.io
    • rust-scraper/scraper [scraper] - HTML parsing and querying with CSS selectors. Build Status
    • 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 pipeline status
    • teloxide/teloxide - An elegant Telegram bots framework Build Status
    • 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 crates.io Utoipa build
    • Utoipauto - Rust Macros to automate the addition of Paths/Schemas to Utoipa crates.io
  • Reverse Proxy
  • Static Site Generators
  • WebSocket
    • c410-f3r/wtx - Client and server with encryption support.
    • housleyjk/ws-rs - lightweight, event-driven WebSockets
    • iddm/urlshortener-rs - A very simple urlshortener library. CI Crates badge
    • rust-websocket - A framework for dealing with WebSocket connections (both clients and servers)
    • snapview/tungstenite-rs - Lightweight stream-based WebSocket implementation.
    • swimos/ratchet [ratchet_rs] - Ratchet is a fast, lightweight and fully asynchronous implementation of the WebSocket protocol with support for extensions and Deflate.
    • vi/websocat - CLI for interacting with WebSockets, with functionality of Netcat, Curl and Socat.

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 CI

Resources

License

CC0