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.

prompt-organizerA simple library to better manage AI prompts in your Rust code.1,489MITRust patternsText processing valkyrie-runtimeHighly customized wasm runtime for valkyrie-language1,488MPL-2.0Rust patterns fi2bConvert floating point and integer numbers into bytes and put them into an array1,486MITRendering::Data formatsRust patterns validoAn extensible Rust validation library that actually encourages the "Parse, don't validate" philosophy.1,480MITRust patterns reboundedBounded types1,478MIT or Apache-2.0Data structuresNo standard library utilz-rsA lightweight extension trait collection for Rust primitives and types.1,471non-standardDevelopment toolsRust patterns litutilproc macros for working with literals in declarative macros1,470MITRust patterns safe-numSafe number arithmetics with ergonomics1,469Apache-2.0MathematicsNo standard library pairSafe API for generic self-referential pairs of owner and dependent.1,466MIT OR Apache-2.0Data structuresMemory management subdefExpressive attribute macro to define nested structures1,462MIT OR Apache-2.0Development toolsDevelopment tools::Procedural macro helpers creteErgonomic, thread-safe & flexible state management.1,461MITRust patterns undoredo_deriveDerive macros for undoredo.1,460MIT OR Apache-2.0Data structuresGUI indexing-strSound unchecked indexing using “generativity”; a fork of bluss/indexing1,456MIT OR Apache-2.0No standard libraryRust patterns tsoracle-consensusConsensusDriver trait: pluggable consensus extension point for tsoracle (openraft, raft-rs, etcd, ...).1,452Apache-2.0ConcurrencyNetwork programming metaprogrammingPort C++ metaprogramming to Rust1,451MPL-2.0No standard libraryRust patterns hust-macroA way to embed Rust into HTML code and use it wherever you'd like.1,451MITParser implementationsRust patterns bongonet-errorError types and error handling APIs for Bongonet.1,442Apache-2.0Rust patterns perforateA macro to generate variants of a struct to allow splitting fields for extended periods of time1,441MIT OR Apache-2.0AlgorithmsData structures quick-builder-derivederive macros for the quick-builder crate1,438MITRust patterns untryKind of the opposite of the ? operator1,435MITNo standard libraryNo standard library::No dynamic allocation cocA useful macro collections for struct1,434MITAsynchronousData structures atomic-stateThis library provides a static asynchronous data that can be accessed safely and concurrently from any part of your program1,433MITDevelopment toolsRust patterns and_then_map_errProvides traits for chaining Result operations with different error types WITHOUT the need for intermediate map_err calls.1,423MITRust patterns derive_screaming_snake_caseA lightweight Rust proc-macro crate that implements the Display trait for enums with unit variants by converting each variant's…1,418MITRust patterns dddDomain-Driven Design Framework1,414MIT OR Apache-2.0Rust patternsWeb programming stringvecA simple macro for creating Vec<String> from various types1,413LGPL-3.0-or-laterData structuresDevelopment tools capability-stripped-string-skeletonProvides a streamlined representation of a skill tree structure, focusing on a lightweight, stripped-down version that retains…1,410GPL-3.0-onlyAlgorithmsData structures smix-errorsmix-error — ExpectationFailure + FailureCode + AI-readable to_prompt + buildSuggestions (stone, cold path).1,406Apache-2.0 OR MITDevelopment tools::TestingRust patterns handle_traitA trait for types that represent handles to shared resources1,400MITRust patterns trustmebroA Rust macro that magically turns unsafe code into ‘totally safe, bro’ with no consequences. Ideal for those who want to assert…1,400non-standardDevelopment toolsRust patterns paradis-demodemo functionality for paradis, not intended for use1,396MIT OR Apache-2.0ConcurrencyRust patterns unit-extFluent helpers for returning common wrapper values from the unit type.1,392MIT OR Apache-2.0Development toolsRust patterns is_defaultA trait for checking whether a value is default, with derive support.1,385MIT OR Apache-2.0Rust patterns rascA simple fast maths Parser1,378MITAlgorithmsDevelopment tools prism3-coreFoundational utilities and language-level tools for Rust application development1,378Apache-2.0Development toolsRust patterns kindest_procprocedural macro for the 'kindest' crate1,377MITRust patterns highrollerA simple, high-level rolling index that is thread-safe and guarantees cheap runtime-unique IDs.1,374MITAsynchronousConcurrency const-destructureDestructuring in const contexts on stable Rust.1,368MIT OR Apache-2.0No standard library::No dynamic allocationRust patterns repeaterProc-macro for repeating tokens1,363Zlib OR MIT OR Apache-2.0Development toolsRust patterns async-iter-extAsync iterator methods and async methods for option and result.1,358MIT OR Apache-2.0Rust patterns child-ofThe library that allows you to make one struct a child of another.1,355MITDevelopment toolsRust patterns mae_macrosProcedural macros for Mae-Technologies micro-services — derive helpers, schema binding, and async test harness.1,354MITDevelopment toolsRust patterns hexga_utilsmiscellaneous stuff, when somethings will be too big it will be on a separate crate1,352MIT OR Apache-2.0Rust patterns surqx-macrosMacros for the surqx crate1,349Apache-2.0Database interfacesRust patterns pixiv-api...1,347MPL-2.0Rust patterns macron-inputlnReads user input line from the console1,346MITDevelopment toolsRust patterns tosubA subsystem lifecycle management library for tokio applications1,345MIT OR Apache-2.0AsynchronousRust patterns macron-inputReads user input lines from the console1,345MITDevelopment toolsRust patterns serenumGenerate string representation for a enum.1,343MIT OR Apache-2.0Development toolsNo standard library split-conserve-wsAn iterator that splits on whitespace but doesn't throw it away1,341MITAlgorithmsRust patterns non0Compile-time checked non-zero integers with type inference and first-class `const` support.1,339MIT OR Apache-2.0Data structuresMathematics tagsetEasily create trait-dispatching sum types1,339MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns iter_enumerationUnifies Iterators over Same Type1,337non-standardAlgorithmsNo standard library loopcellcell for multiple routes of access that are only used one-at-a-time in sequence1,333MPL-2.0ConcurrencyData structures edynNear drop-in replacement for dynamic-dispatched method calls with up to 10x the speed1,333MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns pipeiMulti-argument pipe and tap with partial application.1,329MIT OR Apache-2.0Development tools::DebuggingNo standard library compo-macrosCompo is a general-purpose declarative and reactive component framework designed for single-threaded asynchronous execution,…1,328Apache-2.0AsynchronousGUI unwind-unsafeZero-sized marker types which do not implement UnwindSafe or RefUnwindSafe1,326MIT-0No standard library::No dynamic allocationRust patterns onforward_refonforward_ref_* macros auto generate standard implementation of operator overloading without Copy derive1,325MITRust patterns reflectixPrimitive run-time type reflection for Rust1,324GPL-3.0-or-laterData structuresRust patterns enum_handlerA macro to generate a handler trait for enums variants.1,321MIT OR Apache-2.0Data structuresRust patterns from_reffrom_ref_* macros auto generate standard implementation of trait From without Copy derive1,308MITRust patterns typetokentype tokens for branding via unique singletons1,306MITRust patterns smacroA collection of convenient Rust macros to reduce boilerplate1,305MITDevelopment toolsRust patterns asenum_deriveSmall derive macro to safely convert the numerical value of an enum to the enum1,297Apache-2.0EncodingNo standard library reftRef and Mut wrappers that implement AsRef and AsMut for any given &T1,296MIT OR Apache-2.0Memory managementNo standard library blocA state management library1,292MIT OR Apache-2.0Data structuresRust patterns strategy-pattern-rsA procedural macro library for implementing the Strategy Pattern in Rust.1,287MIT OR Apache-2.0Development toolsRust patterns discriminantBetter `Discriminant` and enum operations1,285MITData structuresNo standard library::No dynamic allocation should_matchPass a test if the output matches a pattern.1,283MITDevelopment tools::TestingNo standard library scoped_threadsLightweight, safe and idiomatic scoped threads1,280MIT OR Apache-2.0ConcurrencyRust patterns tokio-timeoutA proc-macro which adds a timeout to an asynchronous function running under the tokio runtime1,280MITAsynchronousRust patterns pipe-dropGet a reference to an object, do something with the reference, and then drop the object1,277MITNo standard libraryRust patterns should_errorThe test should fail with Err.1,272MITDevelopment tools::TestingRust patterns clone-behaviorBound the semantic behavior and time complexity of cloning a value1,272MIT OR Apache-2.0Memory managementNo standard library descriptive_toml_macroProcedural derive macro for serializing a struct into a TOML template with field descriptions that is easily edited and…1,270MIT OR Apache-2.0Development toolsRust patterns nounwindA attribute macro to prevent panics from unwinding, similar to C++ noexcept1,268Apache-2.0 OR MITDevelopment tools::FFINo standard library hfsmHierarchical Finite State Machine (HFSM)1,265MIT OR Apache-2.0AlgorithmsRust patterns errgonomicMacros for ergonomic error handling with thiserror1,261Apache-2.0 OR MITDevelopment toolsDevelopment tools::Debugging collection_macroGeneral-purpose `seq![]` and `map! {}` collection macros1,260MIT OR Apache-2.0Development toolsDevelopment tools::Procedural macro helpers erraticComposable, minimal-overhead error handling with typed state.1,257MITNo standard libraryRust patterns concrete-type-rulesRules and validation for concrete types1,256MITRust patterns portal-trait-transformerUtilities for working with impl traits in Rust1,255MIT OR Apache-2.0AsynchronousNo standard library kathyConst-evaluated swift-style keypaths1,254MPL-2.0Data structuresNo standard library simple-lazy40 Lines wrapper of std OnceLock1,252MIT OR Apache-2.0Memory managementRust patterns field-visibilityAttribute to specify the visibility of all fields in a Rust struct1,251MITRust patterns assert_layoutAssert struct layouts, including field sizes and offsets.1,249MIT OR Apache-2.0Development tools::DebuggingDevelopment tools::Testing rediffDiff and compare Facet values with detailed structural difference reporting1,249MIT OR Apache-2.0Development tools::TestingRust patterns facet-inspectAllows inspecting types that implement Facet1,248MIT OR Apache-2.0Development toolsRust patterns dylib_hookA framework for hooking functions loaded from dynamic libraries on Linux1,246UnlicenseDevelopment tools::DebuggingDevelopment tools::Profiling lesbar-textString extensions and queries for legible text.1,245MITData structuresNo standard library nonnull-mutNonNull<T>, but T is invariant like *mut T1,245MITNo standard libraryNo standard library::No dynamic allocation ownit-deriveEasily turn borrowed type into owned values1,242MIT OR Apache-2.0Rust patterns rust-analyzer-modulesA library for analyzing a Rust crate's module structure and dependencies (fork with rust-analyzer 0.0.289 support).1,242MPL-2.0Development toolsRust patterns fp-preludeHaskell Functor, Applicative and Monad1,242MIT OR Apache-2.0Rust patterns matchmaker-libA fuzzy finder for the terminal, powered by nucleo1,242MITCommand line utilitiesRust patterns unwrap-overflow-opsarithmetic operations that always panic on overflow1,234Apache-2.0 OR MITMathematicsNo standard library using-paramAdd parameters, generics and return types to all functions in the impl block1,233MITRust patterns gabouchet-mergeMerge multiple values into one1,226Apache-2.0 OR MITRust patterns ranchRanged integer types and math1,226Apache-2.0 OR BSL-1.0 OR MITMathematicsNo standard library retrievalAllows the retrieval of trait implementations.1,222MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation pyo3-loomA crate for effortlessly creating Python bindings, including involving NumPy, to Rust source code with PyO31,220non-standardDevelopment toolsDevelopment tools::FFI fast_assertA faster assert!1,219MIT OR Apache-2.0Rust patterns identifyStrongly-typed UUIDs, statically associated with other types.1,218MIT OR Apache-2.0ConcurrencyRust patterns castingCastFrom and CastInto traits for generic numeric casting1,215MITNo standard libraryRust patterns rs-pkgrust pkg for programming1,213MITRust patterns provideTruly zero cost dependency injection1,212MIT OR Apache-2.0AlgorithmsData structures common_hal_interfaceA common interface between Rust HALs, for use in the Iron Coder IDE1,209MITDevelopment toolsEmbedded development enum-values-deriveExposes enum values via reflection1,203MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns duration-extenderAdds fluent, highly readable methods (like .minutes(), .hours()) directly to integer types (u32, i64, etc.) to easily create…1,198MIT OR Apache-2.0Date and timeRust patterns iter_modA macro for enumerating all the constants in a module1,195MITConfigurationRust patterns io-windowSeekable I/O adapter that limits operations to a byte range1,193MPL-2.0Rust patterns thisisplural_derive#[derive(Plural)] for creating frictionless new types with a Vec, HashMap, etc.1,190MIT OR Apache-2.0Rust patterns strut-utilIn-house utilities. Part of the Strut family.1,190MITAsynchronousConfiguration maplike_deriveDerive macros for maplike.1,184MIT OR Apache-2.0Data structuresGUI strut-syncSynchronization primitives. Part of the Strut family.1,181MITAsynchronousConfiguration thisdiagnostic-derivederive macro for thisdiagnostic1,179Apache-2.0Rust patterns kindestCostless typed identifiers backed by UUID, with kind readable in serialized versions1,176MITRust patterns ensure_implTrait implementation assertion..1,175MIT OR Apache-2.0No standard libraryRust patterns qubit-errorShared error handling helpers for Rust applications1,168Apache-2.0Development toolsRust patterns loop-letAn immutable loop structure that can be used as an expression.1,168non-standardAlgorithmsRust patterns portal-solutions-id-arenaA simple, id-based arena.1,161MIT/Apache-2.0Memory managementNo standard library iter_peek_endIs the current element the last one of a peekable iterator ? (`is_last()` and `is_not_last()`)1,160MIT OR Apache-2.0AlgorithmsRust patterns microstringSmall, niche-able, stack allocated strings1,158Apache-2.0 OR MITData structuresMemory management uni_errorA simple, universal error type for Rust1,152MIT OR Apache-2.0No standard libraryRust patterns monadifyA library for functional programming abstractions in Rust, focusing on Monads, Functors, Applicatives, and related concepts.1,150MITRust patterns lazymutSimilar to LazyCell, but use &mut self to get or initialization1,149MITNo standard libraryNo standard library::No dynamic allocation funcallA lightweight Rust library that turns functions into JSON-callable tools1,146MITDevelopment toolsRust patterns unsaferefAn unsafe reference without explicit lifetime1,144MITNo standard libraryNo standard library::No dynamic allocation compoCompo is a general-purpose declarative and reactive component framework designed for single-threaded asynchronous execution,…1,140Apache-2.0AsynchronousGUI thisdiagnosticAdd nice user-facing diagnostics to your errors without being weird about it.1,139Apache-2.0Rust patterns catalyserA comprehensive collection of extensions to simplify and enhane rust development.1,134non-standardRust patterns have_lenIs the container empty ? (`is_empty()` and `is_not_empty()`)1,128MIT OR Apache-2.0AlgorithmsRust patterns macro_registryReusable proc-macro registry and source analysis infrastructure1,122MITDevelopment tools::Procedural macro helpersRust patterns url-staticSimple macro for compile-time URL validation1,119MIT OR Apache-2.0Development toolsRust patterns injectablesA procedural macro library that enables field injection between Rust structs through #[injectable] and #[inject_fields]…1,114MIT OR Apache-2.0Development toolsRust patterns extend-pinnedExtend but for Pin1,114MIT OR Apache-2.0AsynchronousNo standard library better-builderA library to derive an improved builder pattern for structs, leveraging Rust's type system.1,110MIT OR Apache-2.0Development toolsRust patterns poly-onceA thread-safe cell providing async and sync initialization primitives similar to OnceLock1,109MITAsynchronousConcurrency stable-typeOCaml inspired stable types1,101Apache-2.0ConfigurationRust patterns bastion-coreCore security guards for Bastion 1.0 (Jail, Shield, Guard) - Industrial-grade protection for Rust applications1,100MIT OR Apache-2.0Development toolsRust patterns axum-confA library to simplify the use of Axum, Tokio and Postgres together using configuration. It comes with batteries included and many…1,100MITDevelopment toolsRust patterns quarto-error-reportingStructured, source-aware diagnostics with pluggable rendering (ariadne or annotate-snippets) and a pluggable error-code catalog.1,098MITDevelopment toolsRust patterns async-result-extAsync extensions for Result<T, E> with async closures.1,094MITAsynchronousRust patterns strserA struct serializer for rust empowered with a macro1,082MITData structuresParsing tools portable_intertraitAllow for inter-trait casting1,075MIT OR Apache-2.0Rust patterns consumableConsume the value by replacing it with the default value and returning the previous value1,074MIT OR Apache-2.0Rust patterns diagweaveCore runtime and macros re-export for diagweave error algebra and report diagweaveing.1,071MIT OR Apache-2.0Development tools::DebuggingRust patterns shellder-macrosA lightweight, type-safe dependency injection and application framework for Rust inspired by Spring.1,065Apache-2.0Development toolsRust patterns estimate_sizeReplaces an iterator's `size_hint` with a custom value.1,064MITRust patterns lesbar-macrosProcedural macros for string types that encode legible text.1,061MITData structuresNo standard library derive_fnMacro to implement all three Fn traits1,061MITRust patterns strdeserA struct serializer for rust empowered with a macro1,059MITData structuresParsing tools continue_streamA Swift-style AsyncIterator.Continuation-style channel for Rust1,058MIT OR Apache-2.0AsynchronousConcurrency bijective-enum-mapConvert an enum to and from another type, with From (or TryFrom)1,056MIT OR Apache-2.0EncodingNo standard library dirk_frameworkDependency Injection for Rust1,053Apache-2.0Rust patterns blueprint-dupe-deriveDerive Dupe for blueprint-dupe crate1,053MIT OR Apache-2.0Rust patterns okkYet another approach to replacing the `Ok(())`.1,052MIT OR Apache-2.0No standard libraryRust patterns interrupt-readAn simple implementation of an interruptable reader.1,050MITData structuresRust patterns once_cell_no_stdSync single assignment cells for `no_std`1,041MIT OR Apache-2.0Embedded developmentRust patterns specializerLimited safe specialization on stable Rust with builder-like pattern1,039Apache-2.0 OR BSL-1.0 OR MITAsynchronousNo standard library strutBackend in Rust: convenient and configurable with Strut.1,034MITAsynchronousConfiguration karpal-algebraAbstract algebra structures for the Industrial Algebra ecosystem1,031Apache-2.0No standard libraryRust patterns enum-valuesExposes enum values via reflection1,030MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns prism3-functionCommon functional programming type aliases for Rust, providing Java-style functional interfaces1,028Apache-2.0Development toolsRust patterns flowgentra-ai-macrosProcedural macros for FlowgentraAI handler registration1,026MITDevelopment toolsRust patterns reliakit-primitivesReusable type-safe primitives for constrained and reliability-oriented Rust values.1,025MITData structuresNo standard library ownitEasily turn borrowed type into owned values1,022MIT OR Apache-2.0Rust patterns count-tts-innerA simple macro for counting any position tokens.1,014MITRust patterns suckSuck data up through a channel1,007MITConcurrencyData structures atomanA library for managing shared asynchronous data across threads. Provides safe concurrent access to application state with…1,006MITDevelopment toolsRust patterns asenumSmall derive macro to safely convert the numerical value of an enum to the enum998Apache-2.0EncodingNo standard library libutils-issueA easy-to-use customizable error type997MITData structuresDevelopment tools::Debugging yadi_deriveMacros 0.1 implementation of #[derive(Injectable)].989MIT OR Apache-2.0Rust patterns oneoffoneoff is a library for one-off types987MITData structuresRust patterns libutils-cageA thread-safe static mutable wrapper984MITConcurrencyData structures vec-iterLazy collection of iterated element, implementing iterators for random access978MITNo standard libraryRust patterns nounwind-macrosImplementation of the #[nounwind] attribute macro973Apache-2.0 OR MITDevelopment tools::FFINo standard library dcelImplementation of doubly-connected edge list.972MIT OR Apache-2.0Data structuresNo standard library seesaw-cligenerate traits from C header files970Apache-2.0 OR MITDevelopment tools::FFIEmbedded development quickcheck-richderiveA `#[derive(Arbitrary)]` proc-macro emitting native `quickcheck::Arbitrary` impls (arbitrary + shrink).967MIT OR Apache-2.0Development tools::TestingRust patterns rustmorphismA Rust macro for creating functions with multiple implementations that are deterministically selected at compile-time966MITDevelopment toolsRust patterns blueprint-dupeMarker for types which are cheap to clone965MIT OR Apache-2.0Rust patterns advance-iterA small crate to help with "stepping through" iterators.960WTFPLRust patterns reliakit-ratelimitClock-agnostic token-bucket rate limiter with retry-after. no_std and zero-dependency.959MITAlgorithmsNo standard library evilthis crate allows using the ? operator as a shorthand for .unwrap() 😈957MIT OR Apache-2.0Development toolsDevelopment tools::Debugging datalitA zero-runtime fluent data description macro955MIT OR Apache-2.0Development tools::TestingEncoding stratagem-macrosProvides a derive macro for automatically implementing the Commander trait, simplifying command-based state management with…952MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns diagweave-macrosProcedural macros for diagweave DSL: set! and union!.952MIT OR Apache-2.0Development tools::DebuggingRust patterns derail-reportTools for reporting `derail::Error`s.947MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation libutils-terminalA custom embedded terminal handler938MITAccessibilityCommand-line interface shiplog-portsCore port traits for shiplog adapters: Ingestor, WorkstreamClusterer, Renderer, Redactor.935MIT OR Apache-2.0Development toolsRust patterns enumtraitA library of macros for polymorphism using enums933non-standardRust patterns controlflow_inspectinspect_* methods for ControlFlow933MIT OR Apache-2.0No standard libraryRust patterns wx-dump微信数据导出工具932MPL-2.0Rust patterns error-stack-macros2Community-made procedural macros for error-stack.927Apache-2.0Development toolsRust patterns late-structLate-bound structure definitions.924MITRust patterns karpal-proofAlgebraic law witnesses and refinement types for the Industrial Algebra ecosystem924Apache-2.0No standard libraryRust patterns rust_kafka_likeA Kafka-like message broker in Rust920MITRust patterns bounded-static-derive-moreMacro to derive ToBoundedStatic and IntoBoundedStatic traits911Apache-2.0Data structuresMemory management