Micro services in Rust
- Axum - web framework
- utoipa - auto generated openapi documentation
- aide - auto generated openapi documentation
- tonic - grpc framework
TODO
- rustrtc - pure Rust WebRTC
- shadow-rs - build time information
- serde_with - serde helpers
- tokio - async runtime
- tracing - tracing and log
- SeaOrm - db orm
- tabled - pretty print
- shadow-rs - build info
- sysinfo - system cpu/mem info
- sentry - sentry profiling
- flamegraph - flame graph
- num_traits - num traits for generic math
- malachite-bigint - a faster drop-in replacement for num-bigint
- dashmap - concurrent hashmap, !!may dead lock https://dev.to/acter/beware-of-the-dashmap-deadlock-lij
- once_cell - lazy static without macros
- charming - visualization
- auto_impl - Automatically implement traits for common smart pointers
- bytes
- async-trait
- cacache - disc cache
- r2d2 - db generic connection pool
- redis - redis client
- async-compat - Compatibility adapter between tokio and futures
- autometrics - metrics and tracing
- lazy_format - lazy formatting
- convi - safe conversion
- tap - position pipeline
- resiter - iterator helper
- pretty-assertions - pretty assertions
- trybuild - try build in tests
- insta - snapshot testing
- criterion - benchmark testing
- divan - benchmark testing
- arbitrary - construct arbitrary instances of a type
- assert_fs - Filesystem fixtures and assertions for testing
- no-panics - prove no panics in build phase
- educe - procedural macros to help you implement Rust build-int traits quickly.
- validator - struct field validation
- tap - tapping values in method chains
- lazy-static.rs - macro for defining lazy evaluated static variables
- joinery - join iterables with a separator
- chrono - time handling
- time - time handling
- pin-project - pin projection
- pinned-init - Library facilitating safe pinned initialization
- soa-derive - Transform AOS to SOA (Struct of Arrays)
- soapy - another SOA macro
- derive_more - derive traits helper
- rust-derive-builder - generate struct builder, builder pattern
- bon - generate builder for functions and structs
- fakeit - gake data generator
- proptest - Hypothesis-like property testing
- trybuild - Test that certain code variants do not compile.
- embassy - async next-generation framework for embedded applications
- postcard - A serde flavor that's tailored for targets have less ram than our dev machines have cache.
- slotmap - map with typed, unique keys
- mockall - mock object
- strum - enum strings and such
- inherent - make trait methods callable without the trait in scope
- rust-smallvec - Small vector
- smallstr - small str
- compact_str - small str on the stack
- bstr - byte string
- itertools - iterator helpers
- camino - Like Rust's std::path::Path, but UTF-8
- bytemuck - Cast bytes to types safely
- nutype - Rust newtype with guarantees
- job_scheduler - Job scheduler
- tokio-cron-scheduler - tokio cron scheduler
- cronframe - cron
- clokwerk - Job scheduler
- delay-timer - Job scheduler based on time wheel algorithm
- enum_delegate - easily replace dynamic dispatch with an enum.
- auto_enums - allow multiple return types by automatically generated enum
- scopeguard - like defer in golang
- iceoryx2 - IPC
- ratatui - TUI
- downcast-rs - cast trait objects back to the original concrete types
- compact_str - drop in replacement of String.
- uint - Uint crate with generics
- ryu - float to string conversion
- itoa - integer to string conversion
- winnow - write parser by hand.
- parse-display - derive macro, Display and FromStr
- miette - Fancy extension for std::error::Error with pretty, detailed diagnostic printing.
- ariadne - A fancy diagnostics & error reporting crate
- nolife - construct a struct that contain reference without a lifetime.
- abi_stable - rust plugin system
- RustFFT - SIMD FFT
- ferrilab - bitvec related crates
- rug - integers and floating-point numbers with arbitrary precision
- cve-rs - memory vulnerabilities
- thread-manager - thread manager
- happylock - lock free mutex
- listeners - get processes listening on a TCP port
- testresult - anyhow for tests
- fastbloom - bloom filter
- symbolica - computer algebra system
- deku - bit-level serialization/deserialization implementations for structs and enums
- profi - multi-threaded profiler
- try-iterator - TryIterator trait
- notify-rust - desktop notification
- strafe - statistics
- kameo - actor model on tokio
- pptr- actor model on tokio
- xtra - actor model on any runtime
- eyre - error handling, anyhow fork, better than anyhow
- scc - concurrent containers, better than dashmap
- wiring - async serialization
- nutype - proc macro that allows adding extra constraints like sanitization and validation
- unfmt - pattern matching library that reverses the interpolation process of
format!. - enum_dispatch - transforms your trait objects to static dispatch.
- archspec - detect CPU architecture
- serde-sqlite-jsonb - sqlit jsonb serde
- futures-concurrency - Structured concurrency operations for async Rust
- shiva - generate and parse many type of documents
- ffmpeg-sidecar - ffmpeg binary wrapper
- medium-to-markdown - parse medium article to markdown, design: https://medium.com/@harshiljani2002/a-parser-in-rust-to-convert-your-medium-blogs-to-markdown-84173a6c1300
- declarative_enum_dispatch - dynamic dispatch of a trait using an enum
- rauthy - authentication
- balterloadtesting - load testing framework
- faster-hex - faster hex encoding and decoding
- prefixes - simplest proc macros example, attribute-like macros
- unwrap_or_log - unwrap or log
- serde-save - serialization tree for serde, more information than serde-value.
- valuable - object-safe value inspection
- schemars - generate JSON Schema from rust struct
- aide - Code first openapi document with schemars
- nunny - non-empty vec
- subenum - proc macro to make sub enum
- deadline - Requires a condition closure to return
truebefore the specified duration has elapsed - transitive - Transitive converions through derive macros
- polyit-rs - A no-std library for manipulating polynomials
- comrak - markdown parser and renderer
- arc-swap - atomic operations on Arc.
- rpds - Rust Persistent Data Structures
- haiku-search - wasm fuzzy search library
- petgraph - Graph data structure library
- rustwire - decode protobuf message
- iroh - tookit to build p2p app, with QUIC
- statrs - statistical scientific computing
- fjall - LSM-based embeddeable key-value db in safe rust
- redb - ACID, COW, B-tree embeddeable embeddeable key-value db
- faer-rs - Linear algebra
- nalgebra - Linear algebra
- ndarray - N-dimensional array
- glam-rs - 3d math
- glamour - glam wrapper
- varpro - nonlinear models to data
- impl-for - repeating implementations with type substitutions
- aqueducts - ETL pipeline
- cacache-rs - concurrent async disk cache
- portpicker-rs - pick a free unused port
- bool-to-bitflags - compact multiple bools into a single bitflags field
- rerun - visualization of multimodal data
- russh - Rust SSH client & server library
- cliclack - cli prompt, prettier
- inquire - cli prompt, feature rich
- protect-endpoints - auth extension for web frameworks
- may - stackful coroutine
- rust-bridge - generate bindings for python/js/c
- unfmt - reverse process of format!
- automerge - CRDT
- octocrab - github api
- tracing-bunyan-formatter - json log
- json-subscriber - json log
- russh - async tokio ssh
- indexed_priority_queue - indexed priority queue
- openfhe-rs - a OpenFHE wrapper.
- rust2go - rust call go.
- gerevs - socks5 proxy
- tower-surf - tower CSRF middleware
- tower-http-client - tower http client middleware
- serdev - serde with validation
- backon - retry
- plotlars - plotly wrapper
- dasm - x86/x64 assembler
- iced - x86/x64 assembler disassembeler
- ecdysis - A library for graceful restarts in Rust
- wrappers - development framework for Postgres Foreign Data Wrappers(FDW)
- moka - a fast, concurrent cache library
- rkyv - zero-copy deserialization framework
- rust-lexical - fast numeric and string conversion
- chili - rust port of spice, a low-overhead parallelization library.
- rustynum - rust numpy with SIMD
- skiplist-rust - skiplist inspired by leveldb
- ureq - lightweight sync http client
- pumps_rs - future stream api
- blst - BLS12-381 signature library written in C and assembly.
- tokio-graceful - Graceful shutdown for tokio project
- stochastic-rs - high-performance simulation and analysis of stochastic processes and models in quant finance
- flume - mpmc channel
- constantine - cryptographic primitives used in zkp
- Integrate - numerical integration of real-valued functions
- confy - configuration management
- jiff - high-level datetime library
- askama - type-safe, compiled Jinja-like templates
- embive - risc-v interpreter
- ammonia - html sanitizer
- ropey - large text file reader
- tysm - structured output openai client
- dagrs - dag
- tendril - compact string type for zero-copy parsing
- dom_smoothie - readability of html
- rust-genai - LLM client
- matchit - high performance, zero-copy URL router.
- rapid_solve - A metaheuristic framework for solving combinatorial optimization problems
- foyer - Hybrid in-memory and disk cache
- kand - TA for rust and python
- typify - JSON Schema into idiomatic Rust types
- mem-isolate - run unsafe function via
fork() - postgres-language-server - language server for postgres
- htmd - html to markdown
- foyer - Hybrid in-memory and disk cache
- hifitime - high fidelity time management
- rwmem - cheat engine
- tauri-plugin-llm - tauri llm plugin
- indexmap - A hash table with consistent order and fast iteration; access items by key or sequence index
- teleop - local RPC unix socket and Cap'n Proto, ipc
- nono - kernel sandbox for AI agent
- skillsandbox - AI agent skill sandbox
- tokio-fsm - tokio fsm
- termplt - advanced graphing in terminal
- Silverfir-nano - jit wasm interpreter
- boltffi - ffi
- nalgebra - Linear algebra
- ndarray
- ndarray-stats
- ndarray-linalg - Linear algebra
- polars
- rand
- rust-cv - opencv, image
- lin-alg - matrices, vecotrs and quaternions.
- https://github.com/ntex-rs/ntex - framework for networking service
- https://github.com/emanguy/rust-rest - rest template
- https://github.com/plabayo/rama - proxy framework
- https://github.com/cloudflare/pingora - proxy framework
- https://github.com/albbus-stack/t5.rs - full rust cross platform framework
- https://github.com/r3bl-org/r3bl-open-core - tui framework
- https://github.com/holo-routing/holo - micro service framework
- https://github.com/meteroid-oss/meteroid - grpc micro service saas product
- https://github.com/barter-rs/barter-rs - like ccxt, but in rust
- https://github.com/gosub-io/gosub-engine - browser engine in rust
- https://github.com/NishantJoshi00/shelgon - repl framework based on ratatui
- https://github.com/project-blinc/Blinc - A GPU-accelerated, cross-platform UI framework
- lambdaworks - zk crypto and math
- lockbud - dead lock detection
- https://github.com/RalfJung/cargo-careful - extra checks
- devenv - dev env using nix
- ffmpreg - ffmpeg write in rust
- mermaid-rs-renderer - rust mermaid render
- zerobrew - rust homebrew
- rport - remote port forwarding tool based on WebRTC
- taplo - toml toolkit
- shuttle-rs - devops
- squawk - postgres sql linter
- cross - cross build tool
- kani - unsafe rust model checker
- cargo-cleanall - clean all cargo build artifacts
- cargo-clean-all - another tool for clean all cargo build artifacts
- kondo - clean up node_modules, target
- nextest - next-generation test runner
- cargo-release - release tool
- git-cliff - changelog generator
- cargo-deny - cargo deny
- mles-rs - message queue
- cargo-multivers - build multiple versions of the same binary, each with a different CPU features set, merged into a single portable optimized binary.
- cargo-unused-features - check unused features.
- cargo-cache - manage cargo cache
- cargo-valgrind - run valgrind with rust
- cargo-dist - release your binary to github release
- firedbg - Time Travel Visual Debugger for Rust
- rudric - .env secret encryption tool
- rustviz - visualize rust ownership and borrowing
- hyperqueue - job scheduler
- cargo-dylint - dynamic lint, another clippy
- zerocopy - unsafe zero copy
- presser - unsafe copy structure data to raw buffer
- release-plz - release github action
- cargo-autoinherit - auto manage workspace deps
- BugStalker - Rust debugger for linux
- portal-tunneler - hole punching
- rlt - load testing tui
- aquascope - generates interactive visualizations of Rust programs
- watchexec - Executes commands in response to file modifications
- just - make alternative
- systemfd - help with auto reloading for projects supporting systemd socket activation
- creusot - a deductive verifier for Rust code
- tokei - count your code, quickly
- cargo-loc - count lines of code across your entire dependency tree
- cargo-geiger - list unsafe rust code
- mintaka - Run long-running processes in parallel
- genson-rs - generate JSON schema
- creusot - deductive verifier for Rust
- get_blessed_rs - get best crates
- BugStalker - rust debugger
- gxhash - fastest non-cryptographic hashing algorithm
- cijail - prevent supply chain attacks
- rsapar - struct/JSON schema validate
- shpool - tmux lightweight alternative
- envelope - env variables manager
- jlf - json log viewer
- flamelens - terminal flamegraph viewer
- sqruff - sql lint
- trippy - traceroute + ping
- tonbo - Arrow and parquet embedded KV db.
- rsql - db cli
- Hawk - network sniffer with GUI https://iyksh.github.io/blog/sniffer/
- hurl - http request with plain text
- oryx - tui for sniffer using eBPF
- query.rs - a search engine for rust
- garage - S3-compatible object store
- paradedb - Elasticsearch alternative built on Postgres
- BugStalker - rust debugger
- rainfrog - postgres tui
- arroyo - Distributed stream processing engine
- cargo-show-asm - cargo subcommand showing the assembly
- refinery - db migration tool, can be used in Rust code or cli.
- binsider - Analyze ELF binaries
- cargo-vet - supply-chain security for Rust
- diff.rs - diff between crate versions.
- kaffe-rs - mdx to html
- oha - HTTP load generator, inspired by rakyll/hey with tui animation.
- qcp - like scp but with quick protocol
- harper - English grammar checker
- gosub - rust browser engine
- mise - dev tool
- comtrya - ansible alternative, much simpler
- himalaya - email cli
- fake-rs - library and cli for generating fake data
- czkawka - find duplicates, empty folders, similar images, etc.
- gitbutler - git GUI client.
- chamber - audio processing library and GUI.
- ouch - compression and decompression in the terminal
- rustowl - visualize ownership and lifetimes
- Nping - ping
- soar - modern package manager
- mdq - like jq but for markdown
- xan - CSV processor
- ferron - web server
- ferrisup - bootstrapping tool
- diffsitter - A tree-sitter based AST difftool
- code2prompt - code to prompt
- BugStalker - Modern debugger for Linux x86-64
- monty - minimal python interpreter use by AI
- https://neon-rs.dev/ - rust x node.js
- https://trunkrs.dev/ - rust x wasm
- https://github.com/lu-zero/cargo-c - build and install C-compatible libraries
- quickwit - tracing
- concurrency-programming-via-rust
- axum demo tutor
- Lifetime Kata
- Macro kata
- proc macro workshop
- modern rust
- Learn Rust With Entirely Too Many Linked Lists
- Rust ecosystem
- Rust for Malware Development
- Rust in companies
- https://greptime.com/blogs/2024-05-07-error-rust - error handling for big projects
- https://github.com/tailcallhq/rust-benchmarks - benchmark between pattern matching and dynamic dispatch
- https://rust-dex.cc/# - std lib explain and example code
- The Little Book of Rust Books - all rust books
- Rust Book Abridged - condensed version of The Rust Programming Language
- Rust on Nails - Full stack Rust book
- The Rustonomicon - The Dark Arts of Advanced and Unsafe Rust Programming
- Little Book of Rust Macros - The Little Book of Rust Macros
- Google Comprehensive Rust - Google Comprehensive Rust
- Rust Atomics and Locks - Rust Atomics and Locks
- Writing Interpreters in Rust: a Guide - Writing Interpreters in Rust: a Guide
- Easy Rust - Easy Rust and some best practice.
- The Rust Performance Book - The Rust Performance Book
- Learning Rust By Practice - Learning Rust By Practice
- https://github.com/m-ou-se/rust-atomics-and-locks
- https://marabos.nl/atomics/
- https://github.com/rustcc/Rust_Atomics_and_Locks
- https://quinedot.github.io/rust-learning/lifetime-intuition.html
- https://bheisler.github.io/criterion.rs/book/index.html
- https://github.com/skerkour/black-hat-rust
- https://github.com/wiseaidev/dark-web-rust
- https://rustwasm.github.io/book/introduction.html
- https://rust-lang.github.io/wg-async/
- https://rust-unofficial.github.io/patterns/
- https://github.com/LukeMathWalker/zero-to-production
- https://skanehira.github.io/writing-a-wasm-runtime-in-rust/
- https://toetoe55.github.io/async-rt-book/
- https://github.com/tugglecore/rust-tracing-primer
- https://rust-exercises.com/
- https://rust-lang.github.io/async-book/
- https://rust-lang.github.io/generic-associated-types-initiative/ - official GAT book
- https://rust-for-rustaceans.com/
- https://cglab.ca/~abeinges/blah/everyone-poops/
- https://smallcultfollowing.com/babysteps/blog/2018/04/16/rust-pattern-rooting-an-rc-handle/
- https://smallcultfollowing.com/babysteps/blog/2018/04/24/rust-pattern-precise-closure-capture-clauses/ is no longer needed. Closures now automatically capture only the fields from the struct that they use
- https://smallcultfollowing.com/babysteps/blog/2018/09/02/rust-pattern-iterating-an-over-a-rc-vec-t/
- https://users.rust-lang.org/t/blog-post-series-rust-patterns/20080/10
- https://matklad.github.io/2023/11/15/push-ifs-up-and-fors-down.html
- https://matklad.github.io/2022/11/18/if-a-tree-falls-in-a-forest-does-it-overflow-the-stack.html
- https://ismailmaj.github.io/destructing-trees-safely-and-cheaply
- https://matklad.github.io/2022/05/29/builder-lite.html
- https://matklad.github.io/2022/06/11/caches-in-rust.html
- https://matklad.github.io/2021/07/09/inline-in-rust.html
- https://matklad.github.io/2018/06/04/newtype-index-pattern.html
- https://matklad.github.io/2018/05/24/typed-key-pattern.html
- https://matklad.github.io/2018/05/04/encapsulating-lifetime-of-the-field.html
- https://github.com/rust-unofficial/patterns/issues?q=is%3Aissue+is%3Aopen+label%3AA-pattern+label%3AC-addition
- https://symbolica.io/posts/control_flow_patterns/#block-breaks
- https://ryhl.io/blog/temporary-shared-mutation/
- https://symbolica.io/posts/control_flow_patterns/
- https://github.com/fadeevab/design-patterns-rust
- https://github.com/alexpusch/rust-magic-patterns
- https://github.com/freedit-org/freedit - rust forum
- https://github.com/thewh1teagle/vibe - Transcribe audio in every language