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.

thalo-inmemoryIn-memory event store for crates.io/thalo8,501MIT OR Apache-2.0Data structuresDatabase interfaces tlistType-level linked lists (of types) and type-level 'functions' to manipulate them. Because TList is implemented using GATs, usage…8,498MITAlgorithmsData structures comfy-printNon-panicking versions of println! and friends. Async implementation.8,496MITDevelopment toolsDevelopment tools::Debugging match_anyProvides a declarative macro, that matches an expression to any of the patterns and executes the same expression arm for any…8,474MIT OR Apache-2.0No standard libraryRust patterns tiny-ordered-floatTiny version of OrderedFloat8,463MIT OR Apache-2.0Rust patterns reiteratorLazy repeatable caching iterator that only ever calculates each element once.8,460MPL-2.0AlgorithmsData structures boulder_deriveMacros for the boulder crate8,438Apache-2.0 OR MITRust patterns into-resultA simple convenience trait for converting something into a `Result` or `Option`8,417Apache-2.0/MITNo standard libraryRust patterns into_variantEasily convert your types into the corresponding enum variant8,409MIT OR Apache-2.0Rust patterns multi_iterIterator for acting on multiple elements at a time8,403MITAlgorithmsRust patterns default-extThis library provides extension methods for the `Default` trait.8,401MIT OR Apache-2.0Rust patterns typicType-safe transmutations between layout-compatible types.8,396MIT/Apache-2.0No standard libraryRust patterns vec_vecWhen dealing with `Vec<Vec<T>>` is unavoidable.8,390MIT OR Apache-2.0Data structuresRust patterns hexga_toolsmiscellaneous stuff, when somethings will be too big it will be on a separate crate8,389MIT OR Apache-2.0Rust patterns ensure_simdCompile-time check whether NEON or AVX2 is enabled8,386MITHardware supportRust patterns scientistoA light-weight Rust implementation of the github/scientist library used for careful refactoring of critical code paths.8,367MITRust patterns maybe-uninit-extExtended maybe-uninit types8,358UnlicenseNo standard libraryNo standard library::No dynamic allocation flexi_func_declarativeThis crate exposes the fb! macro to create a function with a flexible signature.8,356MITAsynchronousParsing tools directorDirector is a simple, versatile, ergonomic state machine in Rust-lang.8,341MIT OR Apache-2.0AlgorithmsDevelopment tools typed_macrosAdds typing to your macro's arguments, making it a lot less of a pain to deal with them.8,339MITDevelopment toolsDevelopment tools::Testing nonicleTools for type-safe, canonical data representations.8,317MPL-2.0No standard libraryRust patterns bytemeConverts a struct into Vec<u8> and back. The conversion is Big Endian by default.8,298Apache-2.0Development tools::Procedural macro helpersEncoding pfnProvide fn_trait's `call`, `call_mut`, and `call_once` on Stable Rust.8,288MPL-2.0Rust patterns minionCrate for managing cancellable services8,285MIT/Apache-2.0Network programmingRust patterns orx-closureAn explicit closure with absolute separation of the captured data from the function.8,282MITData structuresRust patterns pisserrorA golden rip-off of thiserror8,269MITDevelopment toolsRust patterns orderlessOrderless/named functions in Rust. `add!(b = 2); // 4`.8,263MITDevelopment tools::Build UtilsRust patterns match-downcastA set of downcasting matching Rust macros.8,263UnlicenseNo standard libraryRust patterns strung_deriveproc-macro for strung!8,260MIT OR Apache-2.0Rust patternsValue formatting fieldx_plusDesign patterns built on top of fieldx crate8,247non-standardDevelopment tools::Procedural macro helpersRust patterns bitpatBit-level matching against values8,226CC0-1.0Rust patterns archwayRust traits for Rc and Arc interoperation8,211MITMemory managementNo standard library yewdux-functionalFunctional interface for Yewdux8,205MITRust patternsWebAssembly dyn-dynFlexible trait object downcasting using ptr_metadata8,199MIT OR Apache-2.0No standard libraryRust patterns sod-crossbeamService Oriented Design - Crossbeam8,192MIT OR Apache-2.0Rust patterns cvars-consoleIn-game console using the cvars crate for configuration - internal crate, use cvars-console-fyrox or cvars-console-macroquad in…8,177AGPL-3.0-or-laterCommand-line interfaceConfiguration culitCustom literals8,169MIT OR Apache-2.0Development toolsEmbedded development signalsA functional-reactive-like library for Rust that allows asynchronous chaining8,167MIT/Apache-2.0AsynchronousConcurrency fmttoolsTools for modifying text without allocating any intermediate buffers or unsafe code8,166MIT OR Apache-2.0AlgorithmsRust patterns cvars-console-fyroxIn-game console for the Fyrox game engine, using the cvars crate for configuration8,149AGPL-3.0-or-laterCommand-line interfaceConfiguration drop-trackerCrate to check when a variable gets dropped. Useful for testing wrappers and containers that use unsafe memory management.8,147BSD-3-ClauseDevelopment tools::TestingRust patterns extfnCall any freestanding function as `a.foo(b)` instead of `foo(a, b)` just by adding `#[extfn]` and renaming the first parameter to…8,128MIT OR Apache-2.0Rust patterns structx_deriveMacros for anonymous struct and named arguments.8,124MIT/Apache-2.0Rust patterns sod-tungsteniteService Oriented Design - Tungstenite8,117MIT OR Apache-2.0Rust patterns extract-variantDestructure expressions into, and return assignments from, a single pattern.8,100MIT OR Apache-2.0Rust patterns litenumminimal convertion utilities between literal and enum8,093MITNo standard library::No dynamic allocationRust patterns guest_cellStorage space for externally-owned private data8,093Apache-2.0Data structuresMemory management ferrunix-macrosProc-macro for ferrunix8,090MIT OR Apache-2.0ConfigurationData structures lens-rs_generatorgenerating optics for source files8,070MIT/Apache-2.0Rust patterns macronComprehensive Rust macros toolkit for everyday development tasks. Includes convenient string formatting (str!), regex pattern…8,064MITDevelopment toolsRust patterns respanMacros to erase scope information from tokens8,053MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation objectionableobjectionable storage of unsized types inline inside allocated objects8,052MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation fromitA super powerful macro for generating new structs with getters, setters, and `From` or `TryFrom` implementation based on the…8,050Apache-2.0/MITDevelopment toolsRust patterns fnichol-cimeA demonstration of a Rust CI build/test/release workflow supporting multi-platform testing, binary builds, Docker image building,…8,050MPL-2.0Rust patterns syllogismUtilities to allow for some specialization using stable Rust.8,046MIT OR Apache-2.0Rust patterns rs_envflagAn easy way to define flags by environment variables8,027non-standardRust patterns ownrefProvide the smart pointer type that bundles the data with its owner.8,019MITRust patterns waitcellA cell type containing a value which may not yet be available.8,005Apache-2.0 OR MITConcurrencyRust patterns tuplifyGeneric hlist/tuple library8,002BSD-3-ClauseData structuresRust patterns fluent-implA procedural macro that generates chaining methods from non-chaining ones in an impl block7,983MPL-2.0Rust patterns known-types-openaiWell-known types for OpenAI APIs.7,978UnlicenseAPI bindingsConfiguration chronograph-macrosMacros for chronograph lib7,940MIT OR Apache-2.0ConcurrencyRust patterns funcmapDerivable functorial mappings for Rust7,939MIT OR Apache-2.0AlgorithmsData structures boulderLike a builder, but heavier.7,928Apache-2.0 OR MITRust patterns quick_fromA derive macro for quickly implementing From on on enum variants that wrap other types.7,923non-standardRust patterns dddk_securitySecurity module of dddk_core. Impl features regarding command_bus pattern and security7,918Apache-2.0Rust patternsWeb programming descriptive_toml_deriveProcedural derive macro for serializing a struct into a TOML template with field descriptions that is easily edited and…7,874MIT OR Apache-2.0Development toolsRust patterns tildeUsing ~ to provide syntax sugar for Rust.7,870MITRust patterns euxis-commonsShared Rust utilities and common patterns for the ecosystem. Provides reusable components for error handling, configuration, …7,863MIT OR Apache-2.0Development toolsRust patterns thalo-postgresPostgres event store for crates.io/thalo7,827MIT OR Apache-2.0Data structuresDatabase interfaces dyngoType-safe dynamic (type-erased) generic outparams7,824MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation merge2_deriveDerive macro for Merge27,806MIT OR Apache-2.0Rust patterns slockAn async mutex that never deadlocks.7,800MITAsynchronousConcurrency alternating-iterProvide an iterator adaptor which alternate between two iterators.7,795MIT-0Rust patterns ferrunixA lightweight run-time dependency injection framework for Rust7,794MIT OR Apache-2.0ConfigurationData structures namiA powerful, lightweight reactive framework.7,780MITData structuresEmbedded development turbononeSimple macro for calling functions with Option<T> arguments7,775MIT OR Apache-2.0Development toolsNo standard library known-typesWell-known types.7,772UnlicenseAPI bindingsConfiguration parametrized-macroSupply useful iterating methods for user-defined types which are parametrized by type parameters7,710MITData structuresNo standard library::No dynamic allocation multicallMacro to simplify multiple operations or calls on a single object7,703MITDevelopment toolsNo standard library symm_implAttribute macro that automatically implements a symmetric trait7,700MIT OR Apache-2.0No standard libraryRust patterns lifterrA small set of adapters extending Rust's error-handling capabilities7,688MITRust patterns phlow-ffiProvides C-like api to the phlow crates7,687MITDevelopment toolsRust patterns strungEasy access of struct fields in strings using different/custom pre/postfix: "Hello, {field}"7,685MIT OR Apache-2.0Rust patternsValue formatting typeboolType-level booleans meant for compile-time hackery.7,676MIT OR Apache-2.0No standard libraryRust patterns split_preserveAn iterator that splits on whitespace but doesn't throw it away7,670MITAlgorithmsRust patterns fastpeekA different way to peek iterators7,654MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation fully_pubMacro that makes multiple items or fields public at once7,642MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns near-safe-cellA more ergonomic 'UnsafeCell' wrapper/replacement.7,620MIT OR Apache-2.0No standard libraryRust patterns transition-tabletransition table utilities for keyword parser.7,583MIT OR Apache-2.0No standard libraryRust patterns cstr8string types that are both valid UTF-8 and nul-terminated7,581MIT OR Apache-2.0Development tools::FFIRust patterns dddk_coreTactical DDD framework based on command_bus, event_bus and query_bus. It offers annex feature such as authorization, logging ...7,576Apache-2.0Rust patternsWeb programming veccellProvides VecCell, a variant of Vec with interior mutability.7,569MIT OR Apache-2.0Rust patterns subsetVarious subsets of slice's items that are able to iterate over references to selected items.7,563MITData structuresRust patterns struct-variantMinimal helper macro to generate an enum out of a list of structs.7,558MITRust patterns ood_persistenceAsynchronous and synchronous interfaces and persistence implementations for your OOD architecture7,517MIT OR Apache-2.0Database interfacesDatabase implementations serde_extraVarious de/serialization methods7,517MITRust patterns macrofied-toolboxThis library provides an ergonomic experience of adding debugging messages to rust's Result<T,E> and Option<T> patterns7,514MITRust patterns safe_cacheA key-value cache library in Rust featuring dynamic typing with support for multiple data types, automatic expiration, and…7,505MITConfigurationRust patterns ephemeroptAn ephemeral Option that reverts to None after some time7,498Apache-2.0 OR MITCachingRust patterns parametrizedSupply useful iterating methods for user-defined types which are parametrized by type parameters7,457MITData structuresNo standard library::No dynamic allocation nnnGenerate your newtypes from a single macro.7,448WTFPLData structuresRust patterns validusA string validation library7,438MITRust patterns arr_tyMacros for smart array initialization.7,437MIT OR Apache-2.0No standard libraryRust patterns higher_order_functionsA small collection of traits for implementing higher order functions7,428MITData structuresNo standard library errsA library for handling errors with reasons7,412MITRust patterns event_iteratorAsynchronous lending iterator7,407Apache-2.0 OR BSL-1.0 OR MITAsynchronousNo standard library sod-logService Oriented Design - Log Integrations7,405MIT OR Apache-2.0Rust patterns assert_thatHelper macros for use with boolean-valued predicate functions.7,380MITData structuresRust patterns tuple_splitAn extension for the tupleops crate which adds a trait for splitting tuples.7,377MITNo standard library::No dynamic allocationRust patterns array_manipulationMethods for manipuling arrays in a Vec-like fashion. It will (probably) get into core once const expressions get less…7,346MITData structuresEmbedded development larcLazy Arc/Weak pointers7,331MIT OR Apache-2.0Rust patterns typebitsetType-level bitset implementation7,309MITAlgorithmsRust patterns remitRust generators implemented through async/await syntax7,307MIT OR Apache-2.0Rust patterns trait-unionStack-allocated trait objects7,306MIT OR Apache-2.0Data structuresNo standard library phtmRe-exports for common uses of `PhantomData`7,301MIT OR Apache-2.0 OR CC-BY-4.0Data structuresNo standard library outcome-46f94afc-026f-5511-9d7e-7d1fd495fb5cAugmentations for error propagation7,289MITNo standard libraryRust patterns shared_cellInterior mutability between concurrent tasks on the same thread7,282Apache-2.0 OR BSL-1.0 OR MITAsynchronousConcurrency thisterminationA library crate to add the Termination trait to error enums inspired by thiserror7,273MITRust patterns oak-macrosProcedural macros for the Oak framework to simplify parser and AST definition.7,269MPL-2.0Development toolsRust patterns drv-macrosProc macros for drv7,264MIT OR Apache-2.0CachingData structures sumtype-macroGenerate zerocost anonymous sum types that implement common traits7,264MITData structuresMemory management genies整合DDD与Dapr 兼容基于 Eventuate 的Java 项目7,215MIT/Apache-2.0ConfigurationRust patterns poison-guardUtilities for maintaining sane state in the presence of panics and failures.7,213MIT OR Apache-2.0Rust patterns fp-libraryA functional programming library for Rust featuring your favourite higher-kinded types and type classes.7,211BlueOak-1.0.0AlgorithmsData structures drvDerived, memoized values over plain structs7,210MIT OR Apache-2.0CachingData structures pipingPipeline syntax in Rust. `4isize |> double(__) |> __ as usize`.7,204MITDevelopment tools::Build UtilsRust patterns incompleteProvides incomplete!(), a compile-time checked version of unimplemented!()7,198MIT/Apache-2.0Development toolsRust patterns easy_nodeSmart pointer for graph nodes.7,188MIT OR Apache-2.0Rust patterns type_descriptionMachine-readable type descriptions7,183MPL-2.0ConfigurationRust patterns conventusTraits for assembling and disassembling items7,180MITRust patterns remove_macro_callAttribute macro that removes a call of a function-like macro7,175MIT OR Apache-2.0Rust patterns array_iter_toolsModify simple arrays7,166MITNo standard libraryRust patterns workspacer-readme-writerAutomates the generation of README.md and Cargo.toml fields using AI to enhance documentation quality in Rust projects.7,158MITDevelopment toolsNo standard library atom_boxA safe idiomatic Rust implementation of Atomic Box using hazard pointers7,153MIT OR Apache-2.0ConcurrencyMemory management workspacer-check-privateEnsures that a Rust crate is not marked as private before cargo publish, leveraging the async programming capabilities of Rust…7,145MITAsynchronousConfiguration paradisParallel processing with disjoint indices7,132MIT OR Apache-2.0ConcurrencyRust patterns enum-procsUseful enum macros.7,127MITRust patterns enum_discriminantProcedural macro to add functions on enum types to get discrimnant value from variant or create unit variant from discriminant…7,126MITRust patterns workspacer-detect-circular-depsA Rust crate to construct and analyze dependency trees within a workspace, identifying circular dependencies using cargo metadata.7,121MITDevelopment toolsParsing tools target-feature-dispatchEasy dispatching by target features (both static and dynamic)7,100MITConfigurationDevelopment tools director_coreDirector is a simple, versatile, ergonomic state machine in Rust-lang.7,099MIT OR Apache-2.0AlgorithmsDevelopment tools workspacer-workspace-mockA flexible mock framework to simulate and test Rust workspace environments, supporting various configurations for testing.7,083MITConcurrencyDevelopment tools desaturateThis package aims to makes it easier to maintain a single code base for both regular and async functions.7,071MIT OR Apache-2.0AsynchronousNo standard library::No dynamic allocation eternal_iteratorTrait implementation to promise that the iterator iterates forever.7,069MITAlgorithmsRust patterns const-array-attrsAttribute macros for const array.7,065MIT OR Apache-2.0Rust patterns validated_newtypeSimple newtypes with checked predicates (primarily for serde)7,046MITNo standard libraryRust patterns thread-scoped-refA library that is similar to a thread local storage but allows to store references / dyn Trait within a scope.7,033MIT OR Apache-2.0Memory managementRust patterns slow-scan-printText is printed at fixed intervals by character or by line, and its name is inspired by SSTV (Slow Scan Television).7,030MITCommand-line interfaceCommand line utilities yewdux-middlewareA Redux-like middleware for Yewdux.7,020MIT OR Apache-2.0Rust patternsWebAssembly sod-actix-webService Oriented Design - Actix Web7,017MIT OR Apache-2.0Rust patterns iter-scanIterator scan methods that don't suck6,977MITNo standard libraryRust patterns stillwaterPragmatic effect composition and validation for Rust - pure core, imperative shell6,966MITData structuresRust patterns async-backplaneSimple, Erlang-inspired reliability framework for Rust Futures.6,962MPL-2.0AsynchronousConcurrency explicit-errorExplicit concrete Error type for binary crates6,957Apache-2.0Rust patterns descriptive_toml_derive_macroPublished through descriptive_toml_derive. Procedural derive macro implementation for serializing a struct into a TOML template…6,952MIT OR Apache-2.0Development toolsRust patterns workspacer-add-internal-depFacilitates adding internal dependencies between crates within a Cargo workspace asynchronously with `toml_edit` for robust…6,949MITAsynchronousConcurrency checked_arrayA checked API for array types6,937BSD-2-Clause OR MITNo standard libraryRust patterns strunemixStrunemix allows to build a struct with a form of its fields, by deriving enums of them6,936MITDevelopment tools::Procedural macro helpersRust patterns plumbA functional, async pipeline framework6,932non-standardAsynchronousRust patterns he_diDependency Inversion / Dependency Injection / Inversion of control container for Rust6,927MIT/Apache-2.0Rust patterns tartan-bitfieldDefine structures with accessors for particular bits or bit ranges6,923MIT OR Apache-2.0No standard libraryRust patterns pipex-macrosProcedural macros for the pipex crate - error handling strategies and pipeline decorators6,907MITDevelopment tools::Procedural macro helpersRust patterns eoeThis crate provides utilities for exiting processes on errors gracefully.6,901MITRust patterns variadic_genericsA first attempt in using traits & tuples to work around Rusts lack of variadic generics.6,895MITNo standard libraryRust patterns drop-binDefer running expensive destructors until later6,879MIT OR Apache-2.0Data structuresMemory management mstrMStr is a 2-word, immutable Cow<str>6,878MIT OR Apache-2.0Data structuresMemory management code-spellsAliases some common (and less common) code snippets to macros named after thematically appropriate spells from Harry Potter, so…6,877MIT OR Apache-2.0Rust patterns comfy-bounded-intsBounded-integer types focused on ergonomics and safety. (See README.md)6,854MITData structuresGame development entrypointopinionated application framework/wrapper that eliminates main function boilerplate6,849MITCommand-line interfaceConfiguration component-futureimplements the inner future protocol documented in the tokio docs6,845MITAsynchronousRust patterns ourErgonomic, highly generic wrapper for shared mutable data6,829UnlicenseConcurrencyData structures one-ofMacro to represent a type that can be converted either `From` or `TryInto` the given types6,821MPL-2.0Data structuresNo standard library he_di_deriveCode generation for he_di dependency injection / inversion of control framework6,816MIT/Apache-2.0Rust patterns singleton-cellA more powerful Ghost Cell allowing the use of any singleton as the key6,807MITMemory managementNo standard library smart-stringA collection of string types and traits designed for enhanced string manipulation.6,797MIT/Apache-2.0Data structuresRust patterns threadstackA more ergonomic and more flexible form of thread local storage.6,781MITConcurrencyRust patterns tower-resilience-bulkheadBulkhead pattern for Tower services - resource isolation and concurrency limiting6,774MIT OR Apache-2.0ConcurrencyRust patterns rootcause-backtraceBacktraces support for the rootcause error reporting library6,768MIT/Apache-2.0Rust patterns workspacer-name-all-filesRecursively scans directories for Rust source files, manages file markers, and integrates with workspace environments using…6,765MITAsynchronousDevelopment tools davenportErgonomic thread-local workspaces for intermediate data6,764MIT OR Apache-2.0Rust patterns workspacer-docsProvides an async interface to run `cargo doc` within Cargo workspaces, facilitating Rust documentation generation.6,759MITCommand line utilitiesDevelopment tools hodgepodgeLightweight dataset crate of enums for prototyping, teaching, and experimentation6,747MIT OR Apache-2.0Data structuresDevelopment tools::Testing pochitaA allocation arena for Rust.6,723MIT/Apache-2.0Data structuresMemory management tyenumAttribute macro for type enums.6,674MITRust patterns dyn-errorError-related utilites for Rust6,669MITRust patterns twilight-errorError handling utility for the Twilight ecosystem6,666MITAsynchronousFilesystem summum-typesA sum-type macro crate with all the conversions, accessors, and support for abstract methods across variants, and…6,642MIT OR Apache-2.0AlgorithmsData structures docgenRust library made for dynamically documenting Rust items created by a macro.6,638MITRust patterns wp-errorStructured, domain-specific error types and robustness strategies extracted from WarpParse6,629Elastic-2.0ConfigurationDevelopment tools::Debugging mrogalski-looperClean abstraction for a single-threaded event loop. Built as a lightweight wrapper around the std::sync::mpsc package.6,626Apache-2.0AsynchronousConcurrency cvars-console-macroquadIn-game console for the macroquad game engine, using the cvars crate for configuration6,610AGPL-3.0-or-laterCommand-line interfaceConfiguration valustA data validation library for Rust6,607MIT OR Apache-2.0ConfigurationData structures transaction-dieseltransaction abstraction of diesel6,601MITRust patterns minsizeCollections with a statically known minimum size (using const generics)6,595MIT OR Apache-2.0Data structuresRust patterns see_deriveA sub-module for providing proc-macros for the `see-through` crate6,583non-standardDevelopment toolsRust patterns dabusDynamic Aplication Controll Bus - an asynchronous, event based module system for thoes who want to move fast and *not* break…6,573MITAsynchronousRust patterns lazyonceUse std::cell::OnceCell instead6,571CC0-1.0Rust patterns director_macrosDirector is a simple, versatile, ergonomic state machine in Rust-lang.6,570MIT OR Apache-2.0AlgorithmsDevelopment tools valust-deriveA derive macro for the Valust crate6,568MIT OR Apache-2.0ConfigurationData structures