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.

rudo-gc-deriveDerive macro for the rudo-gc Trace trait909MIT OR Apache-2.0Memory managementRust patterns icentral-test-updateA Rust crate that provides advanced tools and frameworks for integration testing, utilizing the Rust 2021 edition features.908MIT OR Apache-2.0AsynchronousDevelopment tools dstifysafe construction of custom dynamically-sized types (DSTs)905MIT OR Apache-2.0Data structuresMemory management app-errorError type for applications904MIT OR Apache-2.0Rust patterns type-macro-derive-tricksDerive macros that work with ADTs containing macros in type positions902MITDevelopment tools::Procedural macro helpersRust patterns resextA simple, lightweight error handling crate for Rust902MITNo standard libraryRust patterns static_initializerGlobal non-lazy zero-cost statics without `const fn`898non-standardMemory managementNo standard library sys_allocLow-level system allocator primitives895MIT OR Apache-2.0Memory managementRust patterns alias_macrosA alias macro for Rust - create alias for everything...!893MIT OR Apache-2.0Development toolsRust patterns avA Rust procedural macro for tracking API version history and deprecation warnings.887MITDevelopment toolsRust patterns shared-typeShared type alias and several traits to simplify working with Arc<Mutex<T>>.885MITConcurrencyRust patterns anyhow_serdeFlexible concrete Error type built on std::error::Error with serde support882MIT OR Apache-2.0No standard libraryRust patterns familiareserve879MITRust patterns strut-configA companion to `config` crate. Part of the Strut family.873MITAsynchronousConfiguration delegate-matchProc-macro for delegation of grouped match arms872MIT OR Apache-2.0Rust patterns await_valuesPrimitives for subscribing to / notifying about changes to values871MIT OR Apache-2.0AsynchronousConcurrency klauthed-errorError kernel for klauthed: the DomainError trait with stable, serializable error codes and categories.868MIT OR Apache-2.0Rust patterns easy-macrosToolkit for building Rust procedural macros + generating debug info867Apache-2.0Development tools::Procedural macro helpersRust patterns surqxQuery macro for SurrealDB867non-standardDatabase interfacesRust patterns eatEat variables863Apache-2.0No standard libraryNo standard library::No dynamic allocation strut-tracingA convenience layer around `tracing` crate. Part of the Strut family.862MITAsynchronousConfiguration enumkitConvenient traits for working with enums.859MIT OR Apache-2.0Rust patterns strut-sentryIntegration with Sentry. Part of the Strut family.856MITAsynchronousConfiguration strut-databaseA convenience layer around `sqlx` crate. Part of the Strut family.853MITAsynchronousConfiguration strut-rabbitmqA convenience layer around `lapin` crate. Part of the Strut family.853MITAsynchronousConfiguration supply-demandSupply-Demand - A functional dependency injection library852MITAsynchronousDevelopment tools karpal-proof-deriveDerive macros for algebraic law verification in the Industrial Algebra ecosystem852Apache-2.0No standard libraryRust patterns reliakit-secretSecret-safe wrappers for Rust values that should not leak through formatting or diagnostics.849MITAuthenticationConfiguration make_publicA procedural macro to make struct fields public847MITDevelopment toolsRust patterns dstify_deriveproc macro for dstify839MIT OR Apache-2.0Data structuresMemory management struct_to_array_deriveDerive macro for struct_to_array838MIT OR Apache-2.0Data structuresNo standard library error_statusModel common error context with HTTP 4xx and 5xx code835MIT OR Apache-2.0Development toolsRust patterns qubit-ioByte-stream buffering and std::io utilities for Rust834Apache-2.0Rust patterns nestingNesting structs, enums, and impls, in Rust!833MIT OR Apache-2.0Rust patterns fluent_resultFluent postfix helpers for Rust's Result and Option types831MIT OR Apache-2.0Data structuresDevelopment tools strid-examplesExamples demonstrating usage of the `strid` crate829Apache-2.0 OR MITData structuresRust patterns magic-args-deriveDerive macros for magic-args.824MITNo standard libraryRust patterns wrapitA lightweight Rust crate that wraps any variable using interior mutability (`RefCell`, `Mutex`, or `RwLock`) for ergonomic shared…822MITConcurrencyData structures quiet_panicsMake your panics easy to read821GPL-3.0Rust patterns qubit-commonFoundational utilities and language-level tools for Rust application development820Apache-2.0Development toolsRust patterns coroutine-stateInspect the state of a Future created by an async function.820MIT OR Apache-2.0AsynchronousNo standard library resext-macroproc-macro for resext crate819MITNo standard libraryRust patterns apollo-errorsStructured error handling with automatic format conversion819Elastic-2.0Rust patternsWeb programming lesbarString types that must encode legible text.816MITData structuresNo standard library platform-castPlatform-specific safe cast.814MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation async-reciprocalsA utility library for asynchronous fallible conversion and reciprocals in Rust.805non-standardAsynchronousRust patterns recluseA web crawler framework for Rust805MIT-0ConcurrencyRust patterns infallible-builderDerive macro for infallible implementation of the builder pattern.802MITRust patterns dashscope阿里云灵积800MPL-2.0Rust patterns errorstashA library for collecting multiple related errors, and reporting them together799MIT OR Apache-2.0Rust patterns rusty-hktHigher-kinded types for Rust797Apache-2.0No standard libraryRust patterns autovariants-deriveA macro that exposes a function that returns all enum variants.796non-standardDevelopment toolsRust patterns bestbeforeA procedural macro for marking code with expiration dates795EPL-2.0Development toolsRust patterns auto-defaultMacro that adds a default field value of `Default::default()` to fields that don't have one792MIT OR Apache-2.0Development toolsDevelopment tools::Procedural macro helpers wechat-error微信统一错误处理787MPL-2.0Rust patterns doless_coreA Rust macro to simplify struct mapping and function utilities.784MIT OR Apache-2.0Development toolsRust patterns string-literal-const-replaceProc macro for compile-time find/replace on string literals776MIT OR Apache-2.0Rust patterns spipeSmart pipe macro for chaining function/method calls, with unwrap, map, and and_then support772non-standardData structuresDevelopment tools orkaAn asynchronous, pluggable, and type-safe workflow engine for Rust, designed for orchestrating complex multi-step business…770MPL-2.0AsynchronousConcurrency karpal-verifyExternal prover bridge and trust model for the Industrial Algebra ecosystem770Apache-2.0No standard libraryRust patterns openzl_sddl_deriveGenerate OpenZL SDDL definitions from Rust structs763MITCompressionDevelopment tools proc-diagLeverage compiler-provided functionality to emit custom error messages in procedural macros.760MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns orx-metaMeta structures such as statically typed queues of heterogeneous elements.757MIT OR Apache-2.0Data structuresNo standard library tramliConstrained flow engine — state machines that prevent invalid transitions at build time757MITData structuresRust patterns rudo-gcA garbage-collected smart pointer with automatic cycle detection using BiBOP memory layout and Mark-Sweep collection756MIT OR Apache-2.0Memory managementRust patterns libutils-reportA custom error wrapper for detailed logs752MITCachingDevelopment tools::Debugging field_comparable_deriveProcedural macro to generate struct field comparison methods / Macro procédurale pour générer des méthodes de comparaison de…751MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns pulz-functional-utils-macrosProc-Macros for writing macros with variadic tuples and functions749MIT OR Apache-2.0Rust patterns reliakit-validateComposable validation traits and error types for Rust structs and values.749MITData structuresNo standard library supply-chain-trust-crate-000022Single assignment cells and lazy values.748MIT OR Apache-2.0Memory managementRust patterns kudi-macrosMacros for kudi744MITRust patterns workspacer-upgrade-testA Rust crate for testing, simulating, and automating upgrade processes in Rust workspace environments.738MITAlgorithmsConcurrency struct_to_arrayConvert between homogeneous structs and fixed-size arrays736MIT OR Apache-2.0Data structuresNo standard library supply-chain-trust-crate-000020Extra iterator adaptors, iterator methods, free functions, and macros.734MIT OR Apache-2.0AlgorithmsNo standard library flexcellA flexible cell that allows safe circumvention of double borrow issues.734MIT OR Apache-2.0Data structuresNo standard library transpose-futureTranspose Option<impl Future>733MITRust patterns downgradeDowngrade a mutable reference to an immutable one.727MITNo standard libraryRust patterns includeinclude c code in rust files using macros727BSD-3-ClauseDevelopment toolsDevelopment tools::FFI optfield-liteA macro to generate a new struct with fields wrapped in Option.726MITDevelopment tools::Procedural macro helpersNo standard library int_likeA Rust macro for defining integer-backed opaque types safely723MITData structuresNo standard library unchecked_wrapConvenient UncheckedSync/Send wrapper types722MITConcurrencyNo standard library reliakit-backoffClock-agnostic retry backoff policies (exponential, linear, constant) with jitter helpers. no_std and zero-dependency.715MITAlgorithmsNo standard library icentraliCentral is a command-line interface development utility in Rust, providing argument parsing, subcommand management, dynamic flag…713MIT OR Apache-2.0AsynchronousCommand line utilities workspacer-upgrade-test-suitesA robust framework for testing upgrade paths in Rust workspaces, ensuring compatibility and reliability during version…712MITDevelopment toolsRust patterns hexga_math_deriveMath proc macro710MIT OR Apache-2.0Rust patterns size_hinterIterator adaptors allowing overriding or specifying size_hint.709MIT OR Apache-2.0Rust patterns stratagemA trait library that enables state management and command execution with built-in undo support, inspired by the Command design…708MIT OR Apache-2.0No standard libraryRust patterns supply-chain-trust-crate-000034A macro for declaring lazily evaluated statics in Rust.702MIT OR Apache-2.0Memory managementNo standard library occupiedA type-safe way to interact with removing from and inserting into options.700MPL-2.0No standard library::No dynamic allocationRust patterns rs-schemaTypes modeling rust code structures.698MIT OR Apache-2.0Rust patterns extend-fnUse arbitrary FnMut when something that must implement Extend is needed698MPL-2.0No standard library::No dynamic allocationRust patterns enumkit-deriveDerive macros for enumkit.693MIT OR Apache-2.0Rust patterns variants-data-structA derive macro to convert enums into a struct where the variants are members and types are that that of variants data.692MIT OR Apache-2.0Rust patterns blueprint-display-containerUtilities to implement Display692MIT OR Apache-2.0Rust patterns blueprint-cmp-anyComparison for &dyn types691MIT OR Apache-2.0Rust patterns karpal-verify-deriveDerive and attribute macros for Karpal verification obligation export690Apache-2.0No standard libraryRust patterns character-traits-warrior-capabilityA Rust crate for modeling and simulating a broad spectrum of warrior capabilities, aimed at enhancing intricate game mechanics…679MITAlgorithmsGame development as_repr-deriveRust trait for constant `#[repr(T)]` conversions677Apache-2.0 OR BSL-1.0 OR MITNo standard libraryNo standard library::No dynamic allocation zeta-sharedShared utilities and types for Zeta Reticula components676MIT OR Apache-2.0Data structuresDevelopment tools egui-table-kitAn extension for `egui` that brings batteries-included, filtering, highlighting, tree structures, and an action dispatch to your…675MITAlgorithmsData structures mini-game-service提供小游戏后端服务675MPL-2.0Rust patterns bronzite-types🔮 Shared types for Bronzite compile-time reflection IPC protocol671MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns dynpatch-interfaceShared interface types and traits for dynpatch hot-patching system666MITDevelopment toolsRust patterns dependency-injector-deriveDerive macros for dependency-injector665MIT OR Apache-2.0Development toolsRust patterns hypotaxisUninterrupted method chaining664MITNo standard libraryRust patterns typed_builder_rulesOpinionated and very limited macro_rules reimplementation of the typed_builder macro661MITRust patterns qsingltonHelper macros to generate singleton definitions655MITRust patterns float-bitsFloats stored as raw bits, making them hashable and totally ordered.655MITNo standard library::No dynamic allocationRust patterns pipelining-macroA convenience macro for the pipeline syntax pattern651MITNo standard libraryRust patterns character-traits-relational-expectationsA Rust crate for modeling complex relational expectations and intrinsic dimension ratings of character traits.651MITAlgorithmsRust patterns rusttoolkitRust toolkit with cool useful procedural macros649MIT OR Apache-2.0Development toolsRust patterns magic-args"Magic" declarative-style function arguments.648MITNo standard libraryRust patterns pulz-functional-utilstraits and macros to work with tuples and functions646MIT OR Apache-2.0Rust patterns hash-injectorHasher+BuildHasher to inject particular hash646BSD-2-Clause OR Apache-2.0 OR MITAlgorithmsData structures light_clone_deriveDerive macro for light_clone crate644MIT OR Apache-2.0Rust patterns uncooked_slicesA wrapper around raw slice pointers that enables safe iteration and indexing642MIT OR Apache-2.0Memory managementNo standard library trycatchThrow and catch exceptions in rust.641non-standardRust patterns qubit-codecCore codec traits and buffer conversion primitives for Rust637Apache-2.0EncodingRust patterns active-uuid-registryA library for managing in-process, context-aware UUIDs for liveness tracking.634MITConcurrencyData structures signA sign enum for writing direction-generic algorithms.633MITData structuresRust patterns typewit_gcefor coercing between equal types with generic const arguments631ZlibNo standard libraryRust patterns typed_tupleType-safe access, isolation and mutation of primitive tuple segments and elements.631MIT OR Apache-2.0Data structuresRust patterns lang-extensionRust Lang Extension630Apache-2.0Rust patterns known-types-anthropicWell-known types for Anthropic APIs.630UnlicenseAPI bindingsConfiguration capsec-coreCore capability types for compile-time capability-based security in Rust624Apache-2.0No standard library::No dynamic allocationRust patterns known-types-ietfWell-known types for IETF specifications.622UnlicenseAPI bindingsConfiguration witnessedType-level witness wrapper for carrying validated invariants.622MITNo standard libraryRust patterns praborrow-proverSMT-based formal verification for PraBorrow. Interfaces with Z3 theorem prover to mathematically validate Constitution invariants.621MITDevelopment toolsRust patterns newtype-tools-deriveErgonomic utilities for the Rust newtype idiom.621MIT OR Apache-2.0AlgorithmsData structures right-asChain call assigns tuple elements to outside615MITNo standard libraryNo standard library::No dynamic allocation rudo-gc-tokio-deriveProc-macro for rudo-gc tokio integration615MIT OR Apache-2.0Memory managementRust patterns known-types-xWell-known types for X (formerly Twitter) APIs.614UnlicenseAPI bindingsConfiguration chord_macroHuman readable input chord construction and pattern matching.611MITRust patterns known-types-w3cWell-known types for W3C specifications.610UnlicenseAPI bindingsConfiguration known-types-googleWell-known types for Google APIs.608UnlicenseAPI bindingsConfiguration known-types-nostrWell-known types for the Nostr protocol.608UnlicenseAPI bindingsConfiguration known-types-graphqlWell-known types for GraphQL specifications.603UnlicenseAPI bindingsConfiguration shigunaruA lightweight reactive signals library in Rust602MITGUIRust patterns doless_macrosA Rust macro to simplify struct mapping and function utilities.601MIT OR Apache-2.0Development toolsRust patterns oncelockA fast and simple implementation of OnceLock590MIT OR Apache-2.0ConcurrencyMemory management byorBring your own runtime!583MITAsynchronousConcurrency auto-variantsA macro that exposes a function that returns all enum variants.580non-standardDevelopment toolsRust patterns split-spareA trait to allow referencing the already initialized part of a collection while pushing into it's reserved capacity.579MIT OR Apache-2.0Rust patterns light_cloneCompile-time enforcement for O(1) clone operations574MIT OR Apache-2.0Memory managementRust patterns bigerror-error-stackA context-aware error-handling library that supports arbitrary attached user data571MIT OR Apache-2.0No standard libraryRust patterns enum-structAdd shared fields to each variant of the enum563MITRust patterns paging-streamA utility to consume paginated data sources as a `futures::Stream`560MITAsynchronousRust patterns gistyr-libLibrary of small tools and helpers560MIT OR Apache-2.0Development toolsRust patterns bitteAutomatically desugar and set Send/Sync bounds on async traits559MITDevelopment tools::Procedural macro helpersRust patterns flexfloatA Rust library for arbitrary-precision floating-point arithmetic with growable exponents and fixed-size fractions, extending IEEE…555MITData structuresFinance mcp_rust_examplesComplete educational resource for learning MCP (Model Context Protocol) development with Rust - 20 comprehensive examples from…553MITDevelopment toolsNetwork programming omittyOn-demand TypeScript-like Omit<> for Rust - generate type variants with omitted fields using #[omitty] and Omit! macro552MITDevelopment toolsRust patterns enum_variant_accessorsderive macros to generate is_*, as_* and as_*_mut accessors for enum variants552MITDevelopment toolsRust patterns identity-macroRemove metavariable fragment to make it reusable for macro_rules550MITDevelopment tools::Procedural macro helpersNo standard library safevalueA value based approach to uphold SAFETY requirements for unsafe Rust code.548MIT OR Apache-2.0No standard libraryRust patterns burst-guardFlow Control543MIT OR Apache-2.0Rust patterns rtb-errorError types and the diagnostic report pipeline. Part of the phpboyscout Rust toolkit.543MITCommand-line interfaceDevelopment tools kudiCompile Time Interface-Oriented Dependency Injection541MITRust patterns praborrow-defenseProcedural macros for invariant verification. Generates runtime checks and SMT-based formal verification.537MITDevelopment tools::Procedural macro helpersRust patterns newtype-toolsErgonomic utilities for the Rust newtype idiom.537MIT OR Apache-2.0AlgorithmsData structures error-railErrorRail is a no_std compatible Error Handling library for the Rust language.536Apache-2.0No standard libraryRust patterns bias-mietteFancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers.533Apache-2.0Rust patterns poly_enumHierarchical polymorphism with enums533Apache-2.0Rust patterns fiano_swapA simple generic swap function for two values using Copy trait. This library provides a safe and easy way to swap variables in…526MIT OR Apache-2.0AlgorithmsNo standard library similarity-traitSimilarity trait Rust crate: compare input values, such as two or more items, then return an output value, such as a mesure of…524MIT OR Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR BSD-3-ClauseDevelopment toolsDevelopment tools::Testing event_bus_rsA runtime-agnostic, async, and thread-safe event bus for Rust.522MITAsynchronousData structures structural-typing-macrosProcedural macros for structural-typing crate513MIT OR Apache-2.0Development toolsRust patterns prudentHelp you make Rust code safer. For both authors and reviewers.511BSD-2-Clause OR Apache-2.0 OR MITDevelopment toolsNo standard library no_dropA simple wrapper type that guards against a value being automatically dropped.509MIT OR Apache-2.0Memory managementRust patterns qubit-spiTyped service provider registry infrastructure for Rust509Apache-2.0Rust patterns rs-schema-derive-implImplementation of procedural macros for `rs-schema-derive`.508MIT OR Apache-2.0Rust patterns display_as_debugEnables a rust types display implementation to be used as its debug implementation.507MIT OR Apache-2.0Development tools::DebuggingRust patterns tytro类型上的尾递归优化506MIT OR Apache-2.0Rust patterns dizzy-macrosProc macros for the dizzy crate505MITNo standard libraryRust patterns karpal-profunctorProfunctor hierarchy (Profunctor, Strong, Choice) for the Industrial Algebra ecosystem505Apache-2.0No standard libraryRust patterns disponentAn alternative to dynamic-dispatched method calls, without the need for object safety503MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns goishGoish Rust — write Rust using Go idioms. Ports Go's standard library and syntax so Go programmers can write Rust code that reads…497MIT OR Apache-2.0API bindingsDevelopment tools relentlessComposable retry policies for fallible operations and polling.497MIT OR Apache-2.0AsynchronousNo standard library capsec-stdCapability-gated wrappers around std::fs, std::net, std::env, and std::process495Apache-2.0Rust patterns iter-builderIterator builder with chain calls495MITNo standard libraryNo standard library::No dynamic allocation blewmBlewm: A Bloom Filter that Bloo(m) my Mind494MITAlgorithmsConcurrency better_tokio_selecttokio::select! that can be formatted by rustfmt493MIT OR Apache-2.0AsynchronousDevelopment tools likely_polyfillcold_path, likely, and unlikely for non-nightly Rust484MIT or Apache-2.0No standard libraryRust patterns macroni-n-cheesesome cool macros i made480non-standardRust patterns containingNewtypes for dealing with collections that are guaranteed to be non-empty474MITNFARust patterns tower-resilience-executorExecutor delegation layer for Tower services - parallel request processing469MIT OR Apache-2.0AsynchronousConcurrency better_collectProvides a composable, declarative way to consume an iterator465MIT OR Apache-2.0AlgorithmsNo standard library annotate-deriveProcedural macros for the annotate annotation framework465MITDevelopment toolsRust patterns pleme-errorUnified error handling library for Pleme platform465MITRust patterns newer-type-stdSupport defining newtype wrapper with inheriting trait implementations461MITData structuresNo standard library qualifiersConditionally add qualifiers to item definitions458BlueOak-1.0.0Rust patterns par_itertoolsExtra iterator adaptors, iterator methods, free functions, and macros that work in parallel conexts.458MITAlgorithmsRust patterns systemstdA custom embedded terminal handler454MITAccessibilityCommand-line interface tuple_setErgonomic utilities for working with Rust tuples by unique types, not position449MITData structuresNo standard library eros-macrosMacro for the eros crate448Apache-2.0Rust patterns oopsie-macrosProcedural macros for the oopsie error-handling library: the #[oopsie] attribute and Oopsie derive447MIT OR Apache-2.0Development tools::DebuggingRust patterns issuingAn easy-to-use customizable error type446MITData structuresDevelopment tools::Debugging iter_chunks_extIterator extension for grouping items.445MIT OR Apache-2.0No standard libraryRust patterns assert-impl-traitProvides a macro to assert that a type implements a trait.442MIT OR Apache-2.0Development tools::DebuggingDevelopment tools::Testing qsingletonHelper macros to generate singleton definitions440MITRust patterns