CATEGORY
Rust patterns 3,906 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
philiprehberger-guard-clauseEarly-return guard clause macros for cleaner control flow151MIT
registry-ioHigh-performance event/callback registry for Rust. Sync-first with optional async. Lock-free reads, zero-allocation hot path,…148Apache-2.0 OR MIT
rust-i18n-derive-implAn implementation for Rust internationalization (i18n) support via derive macro.147MIT
nekopas2rust...146MIT OR Apache-2.0
just-stringContainer for various kinds of strings146Apache-2.0
redacted-errorStable public error messages with debug-only diagnostic detail145MIT OR Apache-2.0
atomr-hostingBuilder API for wiring a atomr system together — config, DI, setup hooks.142Apache-2.0
rustuseComposable facade for RustUse utility crates142MIT OR Apache-2.0
pudGenerate typed, composable, no-std-friendly modifications (“puds”) for Rust structs.142WTFPL
reliakit-bulkheadClock-agnostic concurrency limiter (counting-semaphore bulkhead) that caps in-flight operations. no_std and zero-dependency.140MIT
ci-cargoContinuous integration using cargo for Clippy and tests for all possible features.140MIT OR Apache-2.0
gloc-coreA universal business logic architecture for Rust, inspired by the Bloc/Cubit pattern from Flutter.139MIT
bailLightweight syntactic sugar for cleaner early-exits using the ? operator.139MIT OR Apache-2.0
rng_utilA small wrapper for some Rng implementation details so they can be abstracted away from threes_simulator and threes_solver138MIT
backerrorJava style backtrace for Rust138Apache-2.0
firstparty-errorSmall owned error and context primitives for first-party Rust applications138Apache-2.0
i18n_core-rizzen-yazstonThe `i18n_core` crate of the Internationalisation project.137BSD-3-Clause
ddd-toolkit-coreTraits and reference implementations for Domain-Driven Design building blocks: entities, value objects, aggregates, repositories,…133MIT OR Apache-2.0
all-the-errorsCollect all the errors from iterators over results132MIT
karpal-diagramMonoidal categories and string diagrams for the Industrial Algebra ecosystem131Apache-2.0
gotobykkrwhofragsA procedural macro that adds C-style goto to Rust via label!() and goto!() macros.130MIT
anomalies-deriveDerive macros for the anomalies crate130MIT OR Apache-2.0
raw-transmuteA more permissive alternative to mem::transmute, because you know better.130Unlicense
utilities_rsA small library of Rust utilities129MIT
prismqueer-projectionsProjection layer of prismqueer's algebra — proc-macros for #[derive(Prism)] and the declaration! family.129Apache-2.0
reify-reflect-coreCore Reflect/Reify traits and RuntimeValue types128MIT OR Apache-2.0
kael_refineableA macro for creating refinement types for Kael128Apache-2.0
prismqueerThe spectral-triple substrate — five operations (focus, project, split, shift, settle), the Prism trait, zero deps. The…128Apache-2.0
faux-refine-coreCore traits and types for pseudo-Refinement Types.126MIT
genja-core-deriveProcedural macros for Genja task types, including derives for task metadata, subtasks, and wrapper dereferencing126MPL-2.0
skerrySuper Kool ERRors Yoh - A type-safe, zero-boilerplate error management framework.125MIT
cagelockA thread-safe static mutable wrapper123MIT
auto_invalidate_deriveProc-macro implementation for auto_invalidate122MIT OR Apache-2.0
pearceAn extension layer for Axum that enables rapid development of network services and agent-based infrastructure. Automates common…122MIT
wae-effectWAE Effect - 代数效应依赖注入,声明式依赖获取121MIT
faux-refine-deriveDerive macros for faux-refine. Automatically implements Pred.121MIT
corophageAlgebraic effects for stable Rust121MIT OR Apache-2.0
qubit-mixinTrait mixins for domain objects, providing common properties and behaviors120Apache-2.0
lease-rsZero-cost ownership leasing for rust. Temporarily transfer full ownership across .await, threads, scopes, and closures with…118MIT OR Apache-2.0
decycleSolve circular trait obligation118MIT
pilatus-axumAxum web integration for the Pilatus framework118MPL-2.0
rumbokLombok-like derive macros (Getter, Setter, Data) for Rust118MIT
crush-errorsUnified error types for the CRUSH runtime117MIT OR Apache-2.0
lintsWrites [lints.rust] to stdout such that all lints are denied or allowed.116MIT OR Apache-2.0
use-identifierComposable string-backed identifier primitives for RustUse115MIT OR Apache-2.0
use-id-slugComposable human-readable slug primitives for RustUse115MIT OR Apache-2.0
typeslot_macrosProc-macro derive for typeslot.115MIT OR Apache-2.0
eventide-domainDomain layer for the eventide DDD/CQRS toolkit: aggregates, entities, value objects, domain events, repositories, and an…115MIT OR Apache-2.0
use-predicateSmall predicate composition helpers for RustUse114MIT OR Apache-2.0
use-id-prefixPrefixed identifier primitives for RustUse114MIT OR Apache-2.0
intrusive-listenersA compact reentrant type-erased event-listener registry114MIT
lang-libA lightweight, high-performance localization library for Rust. Loads TOML language files, supports runtime locale switching,…114Apache-2.0 OR MIT
unslice-dstFancy slice-like DST support114MIT OR Apache-2.0
smoxBox that stores small objects inline and bigger objects on the heap using Box, Rc or Arc, with CoW semantic113MIT OR Apache-2.0
noosReliability layer for Rust LLM agents: scope drift, cost circuit breaks, and procedural correction memory as event-driven…113MIT
rig-catLLM agent framework built on comp-cat-rs: typed effects, no async, categorical foundations113MIT
clockwork-tuplesType-level tuple utilities for compile-time structural reasoning.112MIT OR Apache-2.0
result-aatThe Infomation and Result Trace crate112Apache-2.0
karpal-higher2-categories, enriched categories, and bicategories for the Industrial Algebra ecosystem112Apache-2.0
str_arrayFixed-size `str` and `CStr` types backed by an array111Apache-2.0 OR MIT
hurryConvenient macros for creating pointer types (Box, Rc, Arc, etc.)111MIT OR Apache-2.0
recallable-macroMacro suite for the recallable crate: enables model with #[recallable_model] and automatic trait derives for `Recallable` and…111MIT OR Apache-2.0
use-argPrimitive owned argument tokens for RustUse CLI-adjacent code109MIT OR Apache-2.0
use-command-nameCommand and executable name primitives for RustUse CLI-adjacent code109MIT OR Apache-2.0
struxTabular declaration of similar structs109Apache-2.0 OR MIT
origin-macrosProc-macros for Origin: #[derive(BoundaryKind)] and #[boundary_check]109MIT
tarpc-catRPC framework built on comp-cat-rs: typed effects, no async, categorical foundations109MIT OR Apache-2.0
flensePurpose-oriented lensing108MIT OR Apache-2.0
non-null-constA *const equivalent of NonNull<T>.108MIT
fluxo-typestateZero-cost type-state pattern via procedural macros108MIT
ddd-toolkit-macroDerive macros for ddd-toolkit-core's ValueObject, EntityId, SecretVo, and EnumVo traits.108MIT OR Apache-2.0
better_unwrapA trait providing clearer alternatives to unwrap() methods: or_panic(), panic_or(), panic_or_else(), panic_or_default(), and…107MIT
use-optionPrimitive CLI option key-value types for RustUse107MIT OR Apache-2.0
poprako-orchestraA unified transaction abstraction framework for Rust — decoupled Oper, Step, Nucl, and Run traits107MIT
marked-pathType-safe path wrappers with compile-time absolute/relative guarantees107LGPL-3.0-or-later
service-daemonA declarative Rust framework for automatic service management, event-driven triggers, and compile-time dependency injection.107MIT OR Apache-2.0
club-nostosBracket / lifecycle / Outcome primitives for Rust. Climb the ladder of abstraction, then come back down with new eyes.107MIT
use-constraintLightweight named constraint primitives for RustUse106MIT OR Apache-2.0
use-ruleNamed reusable rule primitives for RustUse106MIT OR Apache-2.0
filterstructA simple macro for creating struct instances with ergonomic syntax, useful for filters.106MIT
use-promptPrompt text and confirmation primitives for RustUse CLI-adjacent code106MIT OR Apache-2.0
hexga_guardUnified trait interface for Mutex, RwLock, RefCell, and other guard-based / interior mutability types105MIT OR Apache-2.0
pub_sourceMake everything public105MIT
use-exit-codePortable exit status primitives for RustUse CLI-adjacent code105MIT OR Apache-2.0
floatsf16 and f128 floating point types for compatibility with future Rust versions105MIT
cmdregA lightweight string-keyed command dispatcher with axum-style extractors for Rust104MIT
use-env-varEnvironment variable primitives for RustUse CLI-adjacent code104MIT OR Apache-2.0
component-mapGeneric component manager with sync/async and fallible/infallible initialisation104MIT
bronzite🔮 Compile-time type reflection for Rust - inspect traits, fields, and methods from proc-macros with an ergonomic navigation API104MIT OR Apache-2.0
type_switchA simple utility for compile-time unions that let you switch between different types.104MIT OR Apache-2.0
use-flagPrimitive short and long flag types for RustUse CLI-adjacent code103MIT OR Apache-2.0
use-stdinSynchronous stdin primitives for RustUse CLI-adjacent code103MIT OR Apache-2.0
use-stdoutSynchronous stdout primitives for RustUse CLI-adjacent code103MIT OR Apache-2.0
bronzite-daemon🔮 Background daemon for Bronzite compile-time reflection - caches rustc compilation for fast type queries103MIT OR Apache-2.0
use-stderrSynchronous stderr primitives for RustUse CLI-adjacent code103MIT OR Apache-2.0
use-terminalTerminal capability primitives for RustUse CLI-adjacent code103MIT OR Apache-2.0
spark-signalsA standalone reactive signals library for Rust - fine-grained reactivity for any application103MIT
bronzite-query🔮 Rustc plugin for Bronzite compile-time reflection - extracts type information from Rust code102MIT OR Apache-2.0
convention-lintFile-naming convention linter configurable via Cargo.toml metadata — use as `cargo convention-lint` or embed as a library102MIT OR Apache-2.0
pipexecZero-allocation, deterministic pipeline runtime for staged computation in Rust.101MIT
matrix-sliceSafe abstractions for two-dimensional slices.100MIT OR Apache-2.0
glocA universal business logic architecture for Rust, inspired by the Bloc/Cubit pattern from Flutter. Includes core traits and the…100MIT
into-owned-trait`IntoOwned` trait for converting borrowed types into their owned counterparts100MIT OR Apache-2.0
simple-dst-deriveDerive macros for allocating and using custom DSTs.99MIT OR Apache-2.0
defaultedTrait and derive macro for testing whether a value equals its default state, with per-field customization and optional serde…99MIT
xrangeHigh-performance range overlap search algorithms / 高性能区间重叠搜索算法98MulanPSL-2.0
use-rustComposable Rust ecosystem primitives for RustUse.98MIT OR Apache-2.0
reflect-natType-level naturals, booleans, and HLists with Reflect implementations97MIT OR Apache-2.0
thin-statusLow-overhead, production-grade error status type for Rust, heavily inspired by Abseil's absl::Status97Apache-2.0
ironsagaCommand pipeline orchestration with automatic LIFO rollback and recursive compensation, for sync and async Rust workflows.96MIT
const-reifySafe runtime-to-const-generic dispatch via match tables95MIT OR Apache-2.0
signaledA lightweight reactive programming library for Rust, providing a signal-slot mechanism.95MIT
handle-thisErgonomic error handling with try/catch/throw/inspect/finally syntax and automatic stack traces94MIT OR Apache-2.0
struct-threadsA simple library providing a Thread extension trait for Runnable tasks.94MIT
bitxMore ergonomic way to deal with bitfield-like struct.94MIT OR Apache-2.0
placidSeparated ownership and in-place construction in Rust93MIT OR Apache-2.0
slot-cellSlotCell - an interior mutability container. It acts as a "Runtime-Checked Move Cell", providing owned access to data rather than…92Apache-2.0
path-extraExtra methods on `Path` for ergonomic and chainable `fs` operations.92MIT OR Apache-2.0
uziA simple macro to help with closure binding ergonomics91MIT OR Apache-2.0
pilatus-rtRuntime support for the Pilatus deterministic simulation framework89MPL-2.0
irysCompile-time trait reflection for Rust89MIT
api-guidelinesRust API guidelines enums and utilities for code quality and best practices88MIT
flowd_deriveDerive macro for flowd — generates struct ↔ redis::Value mapping. Not intended for direct use; re-exported by `flowd`.88MIT OR Apache-2.0
ratio-cloneA library for cheap-to-clone types and wrappers for expensive to clone and compare datatypes.88MPL-2.0
anomaliesStructured, categorized error handling inspired by Cognitect's anomalies88MIT OR Apache-2.0
use-idComposable facade crate for RustUse identifier primitives87MIT OR Apache-2.0
sifredb-deriveDerive macros for sifredb86Apache-2.0 OR MIT
use-patternFeature-gated facade crate for RustUse pattern helpers86MIT OR Apache-2.0
enum-typerType-indexed enums and GADTs for Rust via procedural macros85MIT OR Apache-2.0
use-cliFacade crate for RustUse CLI-adjacent primitives85MIT OR Apache-2.0
postmortemA validation library that accumulates all errors for comprehensive feedback85MIT
dynzstA thin pointer for dyn Trait + IsZeroSized.84MIT OR Apache-2.0
uninit-readA marker trait and utilities for safe, high-performance reads into uninitialized buffers.84MIT OR Apache-2.0
aspect-runtimeRuntime utilities for aspect-oriented programming in Rust84MIT OR Apache-2.0
genja-plugin-managerDynamic plugin loading and build support for Genja-compatible Rust applications and shared-library plugins84MPL-2.0
declerrorDeclarative macros to "derive" Error.83MIT
dumpit-macrosProc-macro implementation for the dumpit crate. Do not use directly.82MIT OR Apache-2.0
tee_outputProvides 'tee' functionality for the current process81MIT
qubit-caseNaming style detection and conversion helpers for Rust applications81Apache-2.0
use-validateComposable facade crate for RustUse validation primitives80MIT OR Apache-2.0
hamon_deriveA zero-cost, type-level static decorator and pipeline builder.80MIT
ddd-toolkitDomain-Driven Design building blocks for Rust: a single-dependency facade over ddd-toolkit-core and its derive macros.80MIT OR Apache-2.0
eventide-applicationApplication layer for the eventide DDD/CQRS toolkit: command bus, query bus, handlers, application context, and an in-memory bus…80MIT OR Apache-2.0
anyhow2(Fork of anyhow that adds the location where the error first occurred)Flexible concrete Error type built on std::error::Error79MIT OR Apache-2.0
any-traitUp/Down cast between concrete and subtraits79EUPL-1.2
value-extraA tri-state Patch<T> type for partial update semantics — distinguishing between 'has value', 'absent', and 'explicitly null'78MIT
ferroly-deriveDerive macros for the Ferroly toolkit (Encode, Decode, FerrolyError).78Apache-2.0 OR MIT
abplA collection of Rust boilerplate: a reloadable-systemd-service lifecycle helper, a hot-reloading axum wrapper, a…78AGPL-3.0-or-later
type-lib-deriveDerive macro for type-lib: generate validated newtypes that enforce a Validator at construction.77Apache-2.0 OR MIT
mceMarkdown Code Extractor: Collect code blocks from your README.md (or another Markdown file). Optional filtering. Add optional…76BSD-2-Clause OR Apache-2.0 OR MIT
crdt-deriveDerive macros (Crdt, DeltaSync) for the crdt-trait crate.76MIT OR Apache-2.0
devnagari_macrosProc-macro backend for the devnagari crate — Devanagari keyword translation76MIT
nx-error-macrosProcedural macros for the nx-error framework, enabling zero-boilerplate error handling for Wasm/WASI75MIT OR Apache-2.0
global-mockableUtility for creating global mockable objects.74MIT OR Apache-2.0
stave-macrosA compile-time typestate validation macro for type-safe builders.74MIT
symdiffCompile-time symbolic differentiation for Rust via a proc-macro attribute. Generates closed-form gradients at compile time.74MIT
ptxrunifies *const/*mut pointers using the trait system73MIT
overengineered_hktsExpiremental crate of higher-kinded types integrated with lifetimes and matching function types and optional cloning and…72MIT OR Apache-2.0
statum-graphStatic graph export for Statum machine introspection72MIT
condition-matcherA flexible and type-safe condition matching library with automatic struct field access71MIT
better_resultA better error handling framework with error construction macro, monadic handling chain, and much more71MIT
pilatus-engineeringEngineering utilities (images, angles, matrices) for the Pilatus framework70MPL-2.0
velomorphHigh-performance zero-copy struct transformation for Rust with asynchronous background deallocation.70MIT OR Apache-2.0
fnrouteA small function router with axum-style handler extraction.70MIT
box_sliceHelpers to create boxed slices without allocating a Vec first70MIT
rs-corA compile-time Chain of Responsibility pattern library for Rust69GPL-3.0-only
causlane-corePure semantic dispatch kernel for causlane.69MIT OR Apache-2.0
into-dedupedUtility methods and functions that take an owned Vec and return a deduplicated owned Vec67MIT
rust-memory-safety-examplesComprehensive educational examples demonstrating memory-safe programming patterns with CVE case studies and benchmarks67MIT
std2"minimal std is a feature" - a coping rust shill.67GPL-3.0-only
typeslotStatically assigned slot indices for types, grouped by a marker type.67MIT OR Apache-2.0
intertrait-nostdThe intertrait crate, with no_std support.67MIT OR Apache-2.0
ndx-macrosProc-macro attributes for writing libndx modules and hooks in Rust67BSD-2-Clause
readonly_wrapHelpers to create readonly structs with a zero-cost wrapper67MIT
reify-graphSafe Rc/Arc graph reification and reconstruction66MIT OR Apache-2.0
reflect-deriveDerive macro for #[derive(Reflect)]66MIT OR Apache-2.0
auto_docA procedural attribute macro to seamlessly pull external Markdown files into your Rust item documentation.66MIT
alloc-once-macrosProcedural macro implementation detail of the `alloc-once` crate.65MIT OR Apache-2.0
context-traitRuntime-synthesized trait instances scoped to callbacks65MIT OR Apache-2.0
async-reifyAsync computation inspector: extract continuation structure as step graphs65MIT OR Apache-2.0
xopsyStructural pattern matching DSL for JSON. Perform declarative diagnostics and surgical in-place updates on dynamic data.65MIT OR Apache-2.0
abstract_socketTypes to abstract over TCP and Unix socket.64MITNFA
piyingFault-tolerant Async Actors Built on Tokio64MIT OR Apache-2.0
sql-helpsql-help: parse SQL text then print any SQL help that we know of, such as optimizations, clarifications. Work in progress.63MIT OR Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR BSD-3-Clause
const-reify-deriveProc macro: #[reifiable] for automatic const-generic dispatch63MIT OR Apache-2.0
my_boxAn educational, zero-dependency Rust implementation of a heap-allocated smart pointer (MyBox<T>), mirroring std::boxed::Box<T>…63Apache-2.0
sigma-enumA macro to simulate sigma types with enums.63MIT/Apache-2.0
suwrapContextual and explicit replacement for unwrap()63MIT OR Apache-2.0
octarine-problemFoundation error type for octarine - Problem enum and Result alias63MIT OR Apache-2.0
simple-dstTraits for allocating and using custom DSTs.62MIT OR Apache-2.0
rakka-diDependency-injection container for rakka.62Apache-2.0
thread_local_scopeScoped access to thread local storage61MIT OR Apache-2.0
newtype-idsType safe identifiers in Rust61MIT
newtype-ids-uuidUuidIdentifier trait and derive macro61MIT
coinductionAttribute macros for defining circular type references and recursive trait implementations in Rust61MIT
samara-signalsA high-performance signal library for Rust61MIT
autosurgeon-catDerive-driven mapping between Rust types and automerge-cat documents61MIT
merge-structs-deriveMake your structs mergeable61MIT OR Apache-2.0
harnessrs-coreCore traits and types for the Harness SDK61MIT OR Apache-2.0
specification-coreComposable, strongly typed specifications for Rust60MIT