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.

blaze-rsA Rustified OpenCL Experience11,787MITAPI bindingsConcurrency sod-mpscService Oriented Design - Multi Producer Single Consumer11,740MIT OR Apache-2.0Rust patterns grit-data-prisonA crate providing the struct Prison<T>, a Generational Arena that allows full interior mutability to each and every element11,736BSD-3-ClauseData structuresMemory management derive_jserror#[derive(JsError)]11,736MIT OR Apache-2.0Rust patternsWebAssembly bherrorTBTL's library for error handling in Rust.11,704non-standardRust patterns replacerCreating compilable Rust source code templates.11,688GPL-3.0Development toolsRust patterns zkp-macros-libLibrary of procedural macros implemented using `proc_macro2`11,636Apache-2.0Rust patterns lignin-schemaAn HTML schema interface through which lignin Node trees can be created with efficient compile-time checking.11,628MIT OR Apache-2.0Rust patternsWeb programming restructedQuickly derive subsets of your structs11,626UnlicenseData structuresRust patterns persian-rugFramework for bringing together disparate objects with inconvenient relationships.11,593MIT OR Apache-2.0Data structuresMemory management woeA Result type that differentiates between local errors (which can be handled) and fatal errors (which cannot)11,566MIT OR Apache-2.0Rust patterns i18n_provider_sqlite3-rizzen-yazstonThe `i18n_provider_sqlite3` crate of the Internationalisation project.11,544BSD-3-ClauseInternationalization (i18n)Localization (L10n) simpl_actorSimple tokio actors11,541MIT OR Apache-2.0AsynchronousConcurrency enum-extract-macroA derive macro for extracting enum variants into their own types.11,508MIT/Apache-2.0Rust patterns irox-structsTraits for Struct Types - linearly serialized big/little endian bytes11,496MIT OR Apache-2.0Development toolsNo standard library some_executorA trait for libraries that abstract over any executor11,456MIT OR Apache-2.0AsynchronousConcurrency overloaded_literals_macroInternal proc-macro implementation crate for the overloaded_literals crate.11,446MIT OR Apache-2.0Data structuresDevelopment tools awaurAWAUR: Asynchronous Web API Utilities for Rust11,434MITAsynchronousConcurrency cached-pairA simple pair of values, where the one can be convertible to the other.11,407Apache-2.0CachingData structures round_multA tiny library to round a number up or down to a multiplier.11,404MIT OR Apache-2.0AlgorithmsConcurrency concat_strsMacro for quickly building a String from components.11,400AGPL-3.0Development toolsRust patterns futures-copyCopy data between AsyncRead and AsyncWrite, with bidirectional and flushing support11,391MIT OR Apache-2.0Network programmingRust patterns devela_dependOptional external dependencies for `devela`.11,384MIT OR Apache-2.0Development toolsNo standard library::No dynamic allocation forward-traitsA general trait-forwarding crate11,351MPL-2.0Development toolsRust patterns persian-rug_deriveFramework for bringing together disparate objects with inconvenient relationships.11,306MIT OR Apache-2.0Data structuresMemory management zkp-macros-implImplementation crate for `proc_macro_hack`11,305Apache-2.0Rust patterns fast_fmtThis crate provides faster, more flexible and more correct alternative to core::fmt11,299MITNFANo standard libraryRust patterns package-bootstrapAn embeddable solution for installing build artifacts11,216GPL-3.0-onlyCommand-line interfaceDevelopment tools::Build Utils variant_access_deriveProdedural macros for deriving the VariantAccess traits11,198MITDevelopment toolsRust patterns on_dropon drop11,188non-standardRust patterns dependency-injectorHigh-performance, lock-free dependency injection container for Rust11,167MIT OR Apache-2.0ConcurrencyDevelopment tools seasickTools for implementing and transcribing C APIs.11,143Apache-2.0 OR MITDevelopment tools::FFIEmbedded development moxMockery Of X(ML): a JSX-alike syntax for the builder pattern.11,137MIT/Apache-2.0GUIRust patterns flexi_funca Rust crate designed to supercharge your Rust programming experience with two powerful macros: ff (Flexi Func) and fb (Flexi…11,099MITAsynchronousDevelopment tools::Procedural macro helpers flux-compilerA modern evolution on flow-based programming (FBP).11,084UnlicenseAsynchronousConcurrency prost-unwrap-transformA procedural macro container for prost-unwrap library11,067Apache-2.0Data structuresRust patterns class_list_macroA reactive helper that ensures normalized class list strings in frontend frameworks like Leptos.11,065MITDevelopment tools::Build UtilsRust patterns diplomatic-bagA wrapper type that allows you to send `!Send` types to different threads.11,056MIT OR Apache-2.0ConcurrencyRust patterns project-templateA template for Rust project11,046non-standardAccessibilityConfiguration tearTyped early returns and loop control + Syntax sugar for try!-like error handling11,038MIT OR Apache-2.0No standard libraryRust patterns serbiaNo-fuss big arrays for Serde11,009MITRust patterns multirefMultireferences: a safe way to do [&T] -> &[T]10,994MITData structuresNo standard library flux-parserA modern evolution on flow-based programming (FBP).10,930UnlicenseAsynchronousConcurrency allowAlias/label lints (to disable) with your intentions. Reexported from allow_prefixed, grouped under rustc::, clippy:: and…10,926MIT OR Apache-2.0Development toolsRust patterns allsorts-rentalA macro to generate safe self-referential structs, plus premade types for common use cases.10,911MIT/Apache-2.0No standard libraryRust patterns dynamizetrait objects with variable associated types10,902MITRust patterns dyn-context-macroProc macro crate for dyn-context.10,901MIT OR Apache-2.0No standard libraryRust patterns prompt-inputA simple and lightweight library for user input prompts in Rust, designed to make input handling straightforward.10,841non-standardDevelopment toolsRust patterns indexed_valued_enumsCreate enums resolving into values, and get their variants back through their values, their discriminant or their name; inspired…10,839non-standardNo standard libraryNo standard library::No dynamic allocation gen-streamGenerator-based streams for Rust and futures 0.3.10,834MIT/Apache-2.0AsynchronousRust patterns light_enumprovide a derive keyword to generate a light enum10,809MITRust patterns html-rsGenerate HTML code using Rust builders10,809MITDevelopment toolsRust patterns adventureHelps your great adventure for the various type of requests.10,802MIT OR Apache-2.0AsynchronousNetwork programming decurseMacro to make recursive function run on the heap (i.e. no stack overflow).10,799MPL-2.0AlgorithmsRust patterns cantripPractical extension methods for standard Rust collections10,795MIT OR Apache-2.0AlgorithmsData structures ideriveDrop-in replacement for derive that doesn't directly depend on generic bounds10,781Zlib OR MIT OR Apache-2.0 OR BSL-1.0Rust patterns facet-peekRead arbitrary Facet types safely10,778MIT OR Apache-2.0Development toolsParsing tools zkp-macros-declProcedural macros10,771Apache-2.0Rust patterns unwrap-ordWrapper type to easily convert Ord to PartialOrd. inspired by std::cmp::Reverse10,753MITRust patterns typeablesTypeables: Rust crate of type aliases. By SixArm.com.10,746MIT OR Apache-2.0 OR GPL-2.0-onlyData structuresDevelopment tools sashayType-erased and lifetime-erased references and slices10,736MIT OR Apache-2.0Data structuresRust patterns fn_zipProvides a zip trait for functions, allowing two functions to be combined before being called.10,714MITAlgorithmsNo standard library::No dynamic allocation prost-unwrapA procedural macro for prost-generated structs validation and type-casting10,712Apache-2.0Data structuresRust patterns mydi_macrosMacroses for MyDI library10,709MIT OR Apache-2.0ConfigurationRust patterns statecraft-deriveDerive macros for the statecraft state machine library10,707MIT OR Apache-2.0Rust patterns statecraftState machines with compile-time enforced transitions10,703MIT OR Apache-2.0AsynchronousRust patterns width_countersAtomic counters with variable bit widths and customizable atomic ordering10,699MIT OR Apache-2.0Embedded developmentNo standard library autotraitReduces boilerplate by auto-generating trait definitions from impl blocks for dynamic dispatch.10,693MIT OR Apache-2.0Rust patterns bytifyA simple macro that can write given const-expr values into a continuous byte array.10,680MITEncodingNo standard library linotypeA keyed sequence reprojector that can optionally pin its values. (A stable-ordered transactionally-incremental multi-map.)10,672MIT OR Apache-2.0Data structuresNo standard library iter-traitIter trait for collectons.10,655CC0-1.0Data structuresNo standard library linspaceTurns a range into a linearly spaced sequence of values.10,581MITNo standard library::No dynamic allocationRust patterns vec-treeA safe tree using an arena allocator that allows deletion without suffering from the ABA problem by using generational indices.10,578MPL-2.0ConcurrencyData structures enumcapsulateSafe casting for newtype enums and their variants10,571MPL-2.0Rust patterns coveCasts Of Varying Elegance (COVE): extension traits for casting numerical types10,503MITEncodingMathematics double-traitA procedural macro to derive a mirror of a trait designed to make it easier to implement test doubles.10,498MITRust patterns paredProjected reference counted pointers10,485MIT OR Apache-2.0Data structuresMemory management class_listA reactive helper that ensures normalized class list strings in frontend frameworks like Leptos.10,464MITDevelopment tools::Build UtilsRust patterns io-adaptersAdapters to convert between different writable APIs.10,448Apache-2.0Data structuresEncoding rdb-pagination-coreSQL query extension library for handling pagination and sorting in relational databases.10,448MITDatabase interfacesRust patterns irox-threadingBlocking and Asynchronous Threading Tools10,421MIT OR Apache-2.0AsynchronousConcurrency prost-unwrap-coreA procedural macro implementation for prost-unwrap library10,419Apache-2.0Data structuresRust patterns iterextdThis trait provides additional methods for working with iterators, enhancing their functionality.10,411MITAlgorithmsData structures dynamic-castThe fifth pillar of OOP: dynamic casting.10,408MIT OR Apache-2.0No standard libraryRust patterns thin_trait_objectOne pointer wide trait objects which are also FFI safe, allowing traits to be passed to/from and implemented by C ABI code10,387MIT OR Apache-2.0Development tools::FFINo standard library extendable-data-helpersProc macros for the extendable-data package because cargo makes things difficult.10,332MITData structuresDevelopment tools::Procedural macro helpers graniteGeneric backing storage framework for building data structures.10,326MIT OR Apache-2.0Data structuresNo standard library into_stringHelper crate to convert values into strings avoiding extra allocations10,312MIT OR Apache-2.0Memory managementNo standard library rw-exact-extExtension of std::io to read and write data types with exact amounts of bytes.10,309MITRust patterns apparatA lightweight event-driven behavioral state machine10,297MITNo standard libraryRust patterns quick-error2A macro which makes error types pleasant to write.10,284MIT/Apache-2.0Rust patterns wrapGeneric function wrapping10,279MITRust patterns error_mancerQuickly define custom error enums for a function.10,246MITRust patterns i18n-rizzen-yazstonThe `i18n` crate of the Internationalisation project.10,242BSD-3-ClauseInternationalization (i18n)Localization (L10n) compound-errorCompound errors with flat hierarchy10,169Apache-2.0Rust patterns singleton-stepanovIt isn't meant to be used by itself, but as template for your our types. Attempt to do Efficient Programming with Components:…10,163Apache-2.0Rust patterns bail-outMacros to help keep code clean for validations and error handling10,141MITRust patterns rcrefcellWrapper type for Rc<RefCell<A>>10,125non-standardRust patterns mydiMyDI. Dependency Injection library10,116MIT OR Apache-2.0ConfigurationRust patterns fuzed-iteratorIterator wrapper for detecting incorrect use of non-fused iterators10,100MIT OR Apache-2.0Development tools::DebuggingNo standard library::No dynamic allocation macro_pubpolyfill proc-macro for visibility scoped macros10,063MIT OR Apache-2.0Rust patterns map_forA Rust macro that implements for comprehensions similar to Scala's.10,058MITDevelopment toolsRust patterns type-factoryProvides unique opaque types10,050BlueOak-1.0.0No standard libraryNo standard library::No dynamic allocation get_chunkFile iterator or stream with auto or manual chunk size selection10,023MITAsynchronousRust patterns struct_fieldDerive macros for generating each field in a struct9,984MITRust patterns variant_accessA set of traits and macros for defining a common api for Rust enums based on the std::variant api in the C++ standard library9,984MITDevelopment toolsRust patterns serv4rsserv4rs is a powerful, pragmatic, and extremely fast web framework for Rust9,971MIT/Apache-2.0Rust patternsWeb programming prog_rsConvenient progress bar9,963Apache-2.0Command-line interfaceRust patterns candySyntaxic sugar for Rust: macros for lighter error handling code, and more.9,912MITAPI bindingsNo standard library cve-rsBlazingly fast memory vulnerabilities, written in 100% safe Rust.9,899non-standardRust patterns const_sort_rsSort slices in const items.9,877MIT OR Apache-2.0No standard libraryRust patterns numscaleTrait for scaling numeric types by a floating point number at compile-time9,863MITNo standard library::No dynamic allocationRust patterns rust-persian-toolsOfficial Rust implementation of Persian Tools9,850MITDevelopment toolsInternationalization (i18n) engineer_deriveThe engineer is a master builder! And this's it's derive.9,842MIT OR Apache-2.0Data structuresRust patterns autofolderSingle-element folding wrapper9,817MITRust patterns build-featuresA simple proc macro to create a vector that a list of enabled features in a root package9,809MIT OR Apache-2.0ConfigurationDevelopment tools to_unitToUnit; Any type to () syntax sugar.9,782MITRust patterns thinnableThin references to unsized types.9,775Apache-2.0Data structuresMemory management tiny_sortBinary-size optimized stable and unstable sorts9,728MIT OR Apache-2.0AlgorithmsRust patterns resilient-rsA Rust utility library for fault tolerance, including retry strategies, backoff mechanisms, and failure handling.9,713MITAsynchronousConcurrency enum-unitGenerates unit-variant enums from existing enums.9,702MITRust patterns unconst_trait_implFunction-like macro that "unconsts" trait implementations9,572MIT OR Apache-2.0Rust patterns head-tail-iterAn iterator that repeatedly splits head & tail9,572MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation noneifemptyConvert T to None if empty9,562non-standardParsing toolsRust patterns derive_variants_derivederives an additional enum from a nested enum that contains only variants and no nested fields9,513MITRust patterns n-letter-wordleA wordle clone, played in the command line, with words of any length.9,497MITCommand line utilitiesGames sosecrets-rsA simple `Secret` wrapper type that reveals the secret at most `MEC: typenum::Unsigned` times with compile time guarantees.9,496non-standardConfigurationNo standard library::No dynamic allocation push_decodePush-based decoding and pull-based encoding9,489MITNFANo standard libraryNo standard library::No dynamic allocation flux-codexA modern evolution on flow-based programming (FBP).9,471UnlicenseAsynchronousConcurrency altered_perception`struct HSV/Luma/HSL/etc.` for sharing pixels between crates + other pixel manipulations9,423MITGraphicsMultimedia::Images extendable-dataA set of rust macros that allows you to specify data that can be "extended" or inherited from.9,421MITData structuresDevelopment tools::Procedural macro helpers adhesionA set of macros for design by contact in Rust. The design of this library was inspired by D's contract programming facilities.9,415MITAlgorithmsDevelopment tools::Testing simple_scanIterator extensions for simple scan operation.9,398MIT OR Apache-2.0No standard libraryRust patterns open-ambientOpen files and directories with constant paths9,394Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MITRust patterns hexgainclude all other console hexga crate in one !9,391MIT OR Apache-2.0Rust patterns named-blockMacro implementing early-exit-from-any-block9,367MITRust patterns non-empty-strNon-empty strings.9,363MITNo standard libraryNo standard library::No dynamic allocation crossdylibCross-platform shared state across shared libraries/modules9,355MITDevelopment tools::FFIRust patterns divaOpinionated convenience wrappers for `std::process::Command` and friends.9,333Apache-2.0 OR MITRust patterns fromsuperMacro helpers to derive new sub-structs from existing super-structs, potentially unpacking Options.9,309MIT OR Apache-2.0Data structuresDevelopment tools engineerThe engineer is a master builder!9,305MIT OR Apache-2.0Data structuresRust patterns i18n_localiser-rizzen-yazstonThe `i18n_localiser` crate of the Internationalisation project.9,297BSD-3-ClauseInternationalization (i18n)Localization (L10n) hexga_coreBasic set of functionalities common to all hexga crate9,297MIT OR Apache-2.0Rust patterns name-itGive a name to async fn return types9,272BlueOak-1.0.0 OR Apache-2.0AsynchronousNo standard library sqlx-d1-corecore implementation for sqlx-d1 - SQLx for Cloudflare D19,266MITAsynchronousDatabase interfaces act-zero-extMacros for act-zero9,246MITAsynchronousConcurrency bevy_cellAttach Bevy's Handles/Entities statically to Types.9,219MIT OR Apache-2.0Memory managementRust patterns memory-size-typeA data type for dealing with memory sizes9,216MITData structuresRust patterns derive-prom-metricsBuild Prometheus metrics declaratively as structs9,213MIT OR Apache-2.0Development toolsRust patterns dto_mapperA library to create dynamic DTOs (Data Transfer Object) from a structure9,205Apache-2.0Data structuresRust patterns enum-toolsAutomatically derive functions and trait implementations for enums9,203MITRust patterns dddk_macroDerive macro lib for dddk_core9,159Apache-2.0Rust patternsWeb programming sod-busService Oriented Design - Single Producer Multi Consumer9,151MIT OR Apache-2.0Rust patterns elicit_macroSmartPointer-like structure for polymorphism.9,104MIT OR Apache-2.0Rust patterns write-to-fileWrite to a file, simple helper fn and traits lib crate.9,085MITFilesystemRust patterns unnestMacros for an unnested control flow.9,071MPL-2.0Rust patterns merge2Merge structs into single by values9,067MIT OR Apache-2.0Rust patterns byte_setEfficient sets of bytes.9,061MIT OR Apache-2.0Data structuresEmbedded development discard-whileGet the first non-matching element, and the amount of discarded elements.9,050MITNo standard libraryNo standard library::No dynamic allocation into-ownedThis crate has been merged into as-is crate and is no longer developed by the current author.9,028MIT OR Apache-2.0No standard libraryRust patterns structinator_traitsLibrary for traits allowing transfer of data from iterators to structs9,016Apache-2.0Development tools::Build UtilsRust patterns mayberA zero-cost enum for handling either references or owned values with a unified interface8,998MIT OR Apache-2.0Data structuresNo standard library dyn_safeTake control of the Semver hazard of the `dyn` safety of your traits!8,963Zlib OR MIT OR Apache-2.0Rust patterns pfxA prefix tree (map and set), implemented without any unsafe8,940MITAlgorithmsData structures singleton-traitSingleton trait for types with unique values and Erased type for zero-sized ownership proofs8,936MITNo standard libraryRust patterns chillpillA more powerful (and more restrictive) `std::panic::catch_unwind`8,932MIT OR Apache-2.0Rust patterns typed_index_deriveCustom derive to easily create newtype index types.8,931MIT OR Apache-2.0Rust patterns facet-pokeBuild and alter arbitrary Facet types8,925MIT OR Apache-2.0Development toolsMemory management human-readable-timeA data structure for managing a human readable time8,913MITData structuresRust patterns ferrunix-coreCore types, traits, and implementations for ferrunix8,912MIT OR Apache-2.0ConfigurationData structures rut-libA Rust Library for validate/generate an Chilean ID (RUT)8,895MITData structuresEncoding deboogDerive macro for extended debug formatting8,874MIT OR Apache-2.0Development tools::DebuggingRust patterns const-sub-arrayExtract a fixed size sub-array out of an array with complie-time length and offset checks.8,872MITData structuresNo standard library nolifeCrate to open a scope and then freeze it in time for future access.8,852MIT OR Apache-2.0Rust patterns fallible_mapUtilities for fallible mapping over `Option` and iterators using functions that can return `Result`s.8,836MITAlgorithmsData structures precisej-printable-errnoPrintable system call errors for nix8,823MITRust patterns physical-quantitydimension and unit system for general physical physical quantities.8,791MIT OR Apache-2.0No standard libraryRust patterns async-drop-guardThis library offers hash map and cache data structures where individual entries can be locked8,784MIT OR Apache-2.0AsynchronousConcurrency workspacerA Rust crate providing extended interfaces for workspaces and crates, facilitating modular and reusable code development.8,777MIT OR Apache-2.0API bindingsDevelopment tools funcmap_deriveDerivable functorial mappings for Rust8,773MIT OR Apache-2.0AlgorithmsData structures yadirYet Another Dependency Injection Registry for Rust8,771non-standardRust patterns service-builderA lightweight, type-safe service construction library for Rust that provides compile-time dependency injection through builder…8,750MITDevelopment toolsDevelopment tools::Build Utils hexga_bitflagsBitflags utilities8,734MIT OR Apache-2.0Rust patterns ternary-rsA Rust library for emulating the ternary operator from C/C++ (among other languages)8,733MIT OR Apache-2.0No standard libraryRust patterns usageA convenient alternative to the newtype pattern.8,722MITData structuresRust patterns new_typeExperimental implementation of newtypes by type level logic.8,722MITRust patterns abscissa_generatorTemplate-based generator for creating new Abscissa applications8,715Apache-2.0Rust patterns enum_macroUseful macro for enum8,715MITRust patterns collectedSummation, product, maximum and more special collectors for Rust iterators.8,712MITRust patterns iter-pythonPython generator expressions and 'list' comprehensions8,710MITRust patterns local-type-aliasLocal type aliases in impl blocks8,688MITRust patterns sqlx-d1SQLx for Cloudflare D18,676MITAsynchronousDatabase interfaces rdb-paginationSQL query extension library for handling pagination and sorting in relational databases.8,668MITDatabase interfacesRust patterns declarative_enum_dispatchDeclarative macro generating boilerplate for enum dispatch8,660MIT OR Apache-2.0Rust patterns app-frameCompile-time dependency-injected application framework with a service orchestrator.8,659MIT OR Apache-2.0ConcurrencyConfiguration selfieExperimental, macro-free and allocation-free self-referential structs.8,655MIT OR Apache-2.0No standard libraryRust patterns conditionalProvides a conditional! macro which lets you use the syntax of the conditional operator (also known as the ternary operator) in…8,615MIT/Apache-2.0Rust patterns chronographTimestamp Tracers8,614MIT OR Apache-2.0ConcurrencyRust patterns dispatchtableSmall library used to specify function dispatch tables HashMap<K, Box<Fn(..)>>8,596MITData structuresRust patterns fieldx_plus_macrosHeler macros for fieldx_plus crate8,554non-standardDevelopment tools::Procedural macro helpersRust patterns