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.

iter-indexMore flexible alternative to Iterator's enumerate() method2,467MIT OR Apache-2.0Rust patterns sql-table-macrosHelper macros to generate SQL table definitions2,466MITDatabase interfacesRust patterns opticsA no_std-compatible optics library providing composable lenses, prisms, isomorphisms, and fallible isomorphisms.2,465MIT OR Apache-2.0Data structuresNo standard library const-utilStable implementations for some missing const functions2,463MITNo standard libraryRust patterns dupleproof of concept library with methods generic over the tuple length2,462GPL-3.0Rust patterns into_indexHelper traits allowing indexing into vectors and similar types by other types than `usize`2,458MIT OR Apache-2.0Rust patterns ferrous-diType-safe, performant dependency injection for Rust, inspired by Microsoft.Extensions.DependencyInjection2,457MIT OR Apache-2.0ConfigurationRust patterns sectorA stateful vector implementation that provides different memory management behaviors through Rust traits and state machines.2,448MIT OR Apache-2.0AlgorithmsData structures dowhile_rsDo while macro for rust with labels and nesting support2,446MITRust patterns typologyType derivation for foreign use2,444MIT OR Apache-2.0Rust patterns standout-seekerGeneric query engine for filtering Rust struct collections2,435MITData structuresRust patterns atomr-agents-callableCallable trait unifying agents, workflows, tools, and harnesses.2,429Apache-2.0AsynchronousRust patterns sized-dstOwned container for dynamically-sized types backed by inline memory2,428MIT OR Apache-2.0Data structuresNo standard library::No dynamic allocation valust-regex-utilsRegex utilities for the Valust crate2,424MIT OR Apache-2.0ConfigurationData structures include-zstd-deriveProcedural macro implementation for include-zstd compile-time compression macros.2,417MITCompressionRust patterns memsizesType-safe memory size newtypes (Bytes, KiB, MiB, GiB, TiB, PiB, EiB, KB, MB, GB, TB, PB, EB) with checked conversions and…2,412MITData structuresRust patterns rstaredSimple decorator that adds rstar::RTree to arbitrary collections.2,410MIT OR Apache-2.0Data structuresGame development proc-state-macroSustain global variables between individual proc-macro call2,409MITDevelopment tools::Procedural macro helpersRust patterns helper_fnA macro to create closure-like helper functions.2,404MITRust patterns miniconf_cliMenu/CLI for Miniconf2,398MITConfigurationNo standard library errloc_macrosError location utility macros2,382Apache-2.0Rust patterns reproSupport crate for cargo-repro, a tool for building and verifying Rust packages that are reproducible byte-for-byte…2,379Apache-2.0 OR MITCommand line utilitiesDevelopment tools yo_netwatchA reactive network status monitor for egui apps. Inspired by Flutter's connectivity_plus, built with Rust by Yo (Yogi).2,377MITGUINetwork programming shared-rcRc wrapper which can separate the data from the reference count2,373MIT OR Apache-2.0Data structuresMemory management undoredoUndo/Redo (and delta encoding) in Rust using deltas, snapshots or commands with convenience implementations for many standard and…2,371MIT OR Apache-2.0CompressionData structures u9Unsigned 9-bit integer type.2,364MITNFANo standard libraryRust patterns atomiclock_spinlockA simple spinlock2,364MIT OR Apache-2.0ConcurrencyRust patterns option_either_orOption into Either conversion2,364MIT OR Apache-2.0No standard libraryRust patterns derive_try_fromderive(TryFrom)2,363MIT OR Apache-2.0Rust patterns include-zstdCompress data at compile time and include it as runtime-decompressible static bytes or strings.2,362MITCompressionRust patterns ascasA simple fast maths Parser2,361MITAlgorithmsDevelopment tools utils-plugs-procproc macro for crate `utils-plugs`2,361MIT OR Apache-2.0Rust patterns deep-struct-updateStruct update syntax with nesting.2,360MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation algtypeConversion between data and its representation, like Haskell Generic2,352MIT OR Apache-2.0No standard libraryRust patterns devela_base_allocbase alloc shared functionality for devela2,348MIT OR Apache-2.0Development toolsRust patterns fancy-default-deriveA better `derive(Default)` implementation.2,335MIT OR Apache-2.0No standard libraryRust patterns to-displayA trait that is Display or can be converted to Display2,330MIT OR Apache-2.0AlgorithmsData structures namedProcedural macro which allows you to produce functions which can be called with named arguments, optionally with default values.2,327BSD-3-ClauseRust patterns ganJust do it! A small tool provides ergonomic value handling with ignore/ ok/ some semantics.2,321MITNo standard libraryRust patterns yewdux-inputInput layer for Yewdux2,316MIT OR Apache-2.0Rust patternsWebAssembly unsafe-alias-cellPrimitive for aliasing mutability2,308MIT OR Apache-2.0AccessibilityNo standard library derive_constructors_procDeriving From, TryFrom and create new_with_*args* functions.2,301non-standardRust patterns tiselEffective type-based pseudodynamic dispatch to impls, enums and typeid2,300MPL-2.0No standard library::No dynamic allocationRust patterns libmw-macroLibrary for constructing a pipeline of middleware functions2,295MITRust patterns field_iterator_deriveProc-macro for field_iterator2,294MITRust patterns ty-tagTypeId for lifetime containing types via type tags.2,293MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation ident-strA macro to convert string literals into identifiers2,290Apache-2.0Development toolsRust patterns unstdA little utility belt.2,289MIT OR Apache-2.0Development toolsRust patterns pin-macrosThis library is primarly used to simplify the proccess of working with self-referencial structures.2,282MITAsynchronousMemory management derailAn alternative to `core::error::Error`.2,278MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation yoshiEntry for the Yoshi error framework.2,276MIT OR Apache-2.0API bindingsDevelopment tools devela_base_stdbase std shared functionality for devela2,274MIT OR Apache-2.0Development toolsRust patterns serde-textualderive Display/FromStr by using serde2,270MIT OR Apache-2.0Rust patterns CuPsDear Dev, this lib to make custom pointers to amend RowHammer-related issues [kiss principle been at the very heart].2,270non-standardAlgorithmsMathematics common_regex_rsSet of common regex for Rust.2,266non-standardNo standard libraryRust patterns lgioLightweight, generic, no_std IO.2,257MITNFANo standard libraryNo standard library::No dynamic allocation known-types-rubygemsWell-known types for RubyGems.org APIs.2,257UnlicenseAPI bindingsConfiguration enum-conversion-deriveProdedural macros for deriving From and TryFrom traits on enums.2,257GPL-2.0-or-laterDevelopment toolsRust patterns include-firstProc macro to evaluate include_str! macros early.2,256MIT OR Apache-2.0Rust patterns uor-prismThe Prism standard library (wiki ADR-031): a façade re-exporting uor-foundation's substrate plus the Layer-3 sub-crates…2,256MITCompilersNo standard library rinf-routerRouter and handler framework for RINF-based Flutter <> Rust apps2,248Apache-2.0AsynchronousRust patterns tracks-hustA way to embed Rust into HTML code and use it wherever you'd like.2,246MITParser implementationsRust patterns known-types-pypiWell-known types for Python Package Index (PyPI) APIs.2,241UnlicenseAPI bindingsConfiguration box-iterSimple crate that provides an iterator for `Box<[T]>` types.2,238MITNo standard libraryRust patterns tanyType-erased container with inline storage for small values2,238MIT OR Apache-2.0Data structuresRust patterns libriusA personal library manager CLI written in Rust.2,230MITCommand line utilitiesData structures struct_cache_fieldProc macro for caching method to struct field2,225MIT OR Apache-2.0Rust patterns rasterizationIterator and iterator adapters for rasterizing a circle and its parts.2,218MITAlgorithmsData structures dont_panic_sliceSlice that causes link error instead of panicking.2,216MITNFANo standard libraryRust patterns psA safe wrapper around `std::mem::transmute`2,215MIT OR Apache-2.0Rust patterns token-ref-cellInterior mutability cell using an external token to synchronize accesses2,207MITConcurrencyData structures ip-macroMacros for writing literal IP addresses2,192MIT/Apache-2.0Network programmingRust patterns tux-owned-allocA crate to help reducing manual memory management errors.2,187MITData structuresMemory management cevAn expandable data array used to add data to the beginning of the array.2,184MITData structuresMemory management state_maschineA State Machine Framework written in Rust.2,181MIT OR Apache-2.0AlgorithmsRust patterns proc-stateSustain global variables between individual proc-macro call2,179MITDevelopment tools::Procedural macro helpersRust patterns qubit-datatypeRuntime data type descriptors and conversion utilities for Rust2,172Apache-2.0Data structuresDevelopment tools supply-chain-trust-example-crate-000052A lightweight version of pin-project written with declarative macros.2,171Apache-2.0 OR MITNo standard libraryNo standard library::No dynamic allocation tartan-c-enumDefine FFI-safe enums that support unknown values2,159MIT OR Apache-2.0No standard libraryRust patterns fundle_macros_implMacros for the fundle crate.2,159MITRust patterns amassAutomatically generate `From` impls for nested enums, even across crates2,156MIT OR Apache-2.0Rust patterns temp-stackA data structure for contexts or similar stack structures that are allocated on the call stack, using the temp-inst crate for…2,149MIT OR Apache-2.0No standard library::No dynamic allocationRust patterns drain_at_sorted_uncheckedTerribly unsafe but highly efficient function that allows removing items from a vector with few moves.2,146MIT OR Apache-2.0AlgorithmsRust patterns partial-resultA library for results that return success for non-critical errors.2,142MITRust patterns atomiclock_asyncA simple async lock2,138MIT OR Apache-2.0AsynchronousConcurrency errortoolsQuality of life utilities for error handling in Rust.2,136MITCommand-line interfaceNo standard library optarg2chainConverts optional arguments to chaining style.2,122MITNo standard libraryRust patterns polonius_workaroundSafe replacement for Polonius on stable Rust2,121MITRust patterns enumeratiesStatic properties on enum variants2,120Apache-2.0No standard libraryRust patterns const-exhaustive-deriveDerive macro for `const-exhaustive`2,118MIT OR Apache-2.0No standard libraryRust patterns atomr-agents-strategyStrategy traits and combinators for atomr-agents.2,117Apache-2.0AsynchronousRust patterns portal-pc-trampTrampoline for recursive functions, with support for mutual recursion (portal version)2,107MITAlgorithmsRust patterns unique-typeUnique and anonymous types generation utilities2,106MIT OR Apache-2.0No standard libraryRust patterns discretionaryA tiny procedural macro to make all your struct fields optional2,106Apache-2.0Development toolsRust patterns fundleCompile-time safe dependency injection for Rust.2,103MITRust patterns enum_handler_coreThis crate is part of the enum_handler library. Do not use it directly.2,101MIT OR Apache-2.0Data structuresRust patterns float_to_intConversions of integer-value floats into integers2,097MITAlgorithmsEncoding dirk_macrosDependency Injection for Rust2,092Apache-2.0Rust patterns atomiq-deriveDerive macros for atomiq.2,078MPL-2.0ConcurrencyRust patterns trait-tactics-macrosInternal dependency of trait-tactics2,075MITRust patterns rustdoc-llmsRust documentation helper to generate file llms.txt to help training AI large language models (LLMs).2,071MIT OR Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR BSD-3-ClauseDevelopment toolsDevelopment tools::Testing array-helpersBasic length-generic operations on arrays.2,063MIT OR Apache-2.0Data structuresMemory management cargo-sandboxPerform Cargo builds inside of a sandboxed environment2,061Apache-2.0 OR MITCommand line utilitiesDevelopment tools vetArbitrary type validation2,054MIT OR Apache-2.0No standard libraryRust patterns core_memoZero-cost, no_std-compatible library for lazy evaluation and memoization2,052MIT OR Apache-2.0AlgorithmsCaching update_cellA Cell<Option<T>> that you can update2,048MPL-2.0No standard libraryRust patterns field_pathType-safe, no-std field access and reflection utilities.2,041MIT OR Apache-2.0No standard libraryRust patterns type-flow-macrosMacros to make pipelines that encode the order of operation execution in the type signature of the pipeline and allow for…2,040MITDevelopment toolsRust patterns generic-containerAbstract over "containers" that hold a T, such as a T itself, Box<T>, or Arc<Mutex<T>>2,032MIT OR Apache-2.0ConcurrencyMemory management iter-debugimpl Debug for iterators using a wrapper2,030MIT OR Apache-2.0Development tools::DebuggingNo standard library::No dynamic allocation split-paragraphsIterator over paragraphs of a string.2,029MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation iter_from_closureIterator<Item = Item> from FnMut() -> Option<Item>2,029MIT/Apache-2.0Rust patterns enum-togglesA generic Rust library for managing toggles/flags using enums and bitvec.2,025MIT OR Apache-2.0ConfigurationData structures ayAy automatically implement Fn* traits for structs and enums2,024MITRust patterns vmonitorA simple and lightweight system monitor2,024GPL-3.0-or-laterNetwork programmingRust patterns fundle_macrosMacros for the fundle crate.2,022MITRust patterns polyesterParallel iterator adaptors that accept arbitrary iterators2,021MPL-2.0ConcurrencyRust patterns multi_streamAggregate multiple streams of different types in a single stream with an item type that is a tuple of the incoming stream items.2,021MIT OR Apache-2.0AsynchronousRust patterns dmutilA collection of utility macros to ease the creation of other macros.2,019MITNo standard libraryRust patterns type-flow-proc-macrosThe procedural macros that are used to make the declarative macros work.2,019MITDevelopment toolsDevelopment tools::Procedural macro helpers wasm_safe_threadCross-platform std::thread + std::sync replacement for native and wasm32.2,019MIT OR Apache-2.0AsynchronousConcurrency type-flow-traitsTraits to implment for the type-flow abstractions.2,012MITAlgorithmsDevelopment tools fancy-defaultA better `derive(Default)` implementation.2,001MIT OR Apache-2.0No standard libraryRust patterns stdontKitchen sink of utils that I'd like to see in std1,994MIT OR Apache-2.0Rust patterns iterrCombinators for dealing with iterators of `Result`s.1,991MIT/Apache-2.0Rust patterns dyn_compatibleDyn compatible marker1,979MIT OR Apache-2.0No standard libraryRust patterns typechain-macrosMacros for the typechain crate1,979MIT OR Apache-2.0Development toolsRust patterns permititCute little library to permit a specific error1,978GPL-3.0Rust patterns capturesProvides macros to express more powerful closure captures1,978MIT OR Apache-2.0No standard libraryRust patterns trait_deriveSimple proc macro used to generate traits from impl blocks.1,976MITDevelopment tools::Procedural macro helpersDevelopment tools::Testing handler_mapMap from types to functions that receive them1,974MPL-2.0Data structuresRust patterns enumnvictorhowisersConvert number to enum1,970MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation rust-automata-macrosMacros for rust-automata DSL1,969MITData structuresRust patterns reportifyTyped error reports with structured diagnostic context, causes and contributing factors, configurable rendering, and panic…1,968MIT OR Apache-2.0Rust patterns strut-factoryProcedural macros. Part of the Strut family.1,966MITAsynchronousConfiguration generational-bufferGenerational Ring Buffer1,964MITData structuresMemory management derive_constructorsDeriving From, TryFrom and create new_with_*args* functions.1,959non-standardRust patterns borrow-ownedSimple helper for temporary object moving1,956MITRust patterns validatenCommon validators for cryptocurrency, creditcards, domain, url, etc that can be used across projects1,955non-standardRust patterns cargo-reproBuild and verify Rust packages that are reproducible byte-for-byte using a Cargo-driven workflow.1,937Apache-2.0 OR MITCommand line utilitiesDevelopment tools option-chainA macro for using `?` operator in functions that don't return `Option`.1,937MITDevelopment tools::Procedural macro helpersNo standard library proc_assertionsCompile-time assertions via procedural macros.1,932MIT OR Apache-2.0Development tools::TestingNo standard library prim-traitsTraits for implementing generic algorithms over Rust's primitive numeric types1,925MIT/Apache-2.0AlgorithmsRust patterns ambianceAlias for the ambience crate1,924MITRust patterns to-display-deriveA trait that is Display or can be converted to Display1,924MIT OR Apache-2.0AlgorithmsData structures rangecutterUtilities for working with adjacent ranges1,922MITRust patterns rustbenchA lightweight Rust procedural macro for benchmarking function execution time.1,922MITDevelopment toolsRust patterns clone-into-boxA library for cloning trait objects1,913MIT OR Apache-2.0Memory managementRust patterns count_enumEnum trait for finite types, e.g., conversion with usize, iteration on values1,912MIT OR Apache-2.0No standard libraryRust patterns adanteA versatile, small options parser for use in the command line1,910non-standardCommand-line interfaceRust patterns trait-kitModule Standard Interface and Capability Management Center — A lightweight Rust library that provides a standard interface for…1,909MITDevelopment toolsRust patterns fromageA cheesy Rust hack for converting between non-local types1,907Apache-2.0No standard libraryNo standard library::No dynamic allocation nested-structCreate nested structs using a macro1,905MIT OR Apache-2.0Rust patterns ext-opsGeneral purpose arithmetic operator traits which are missing from the standard library1,900MPL-2.0MathematicsNo standard library protocolsThe protocols crate is native rust library that provides an application layer system designed to make it easy to send messages…1,899MIT/Apache-2.0Parser implementationsRust patterns anyintprovides traits and structs for working with integers of any bit size1,877MITNo standard libraryRust patterns trim_matches_exactlyExtension trait for controlled trimming of prefixes and suffixes of &str and String1,876MITAlgorithmsNo standard library cocoroA more type-safe take on Rust stackless coroutines1,875non-standardAsynchronousConcurrency anyfluxGeneric flux-like state management1,871MIT OR Apache-2.0Rust patternsWebAssembly known-countriesWell-known countries.1,870UnlicenseNo standard libraryRust patterns opt_reduce`reduce` function for `Option<_>`1,865MITNo standard libraryRust patterns tokio-actorsOTP-faithful actors for Tokio: panic-visible supervision, restart strategies, and Erlang-grade lifecycle semantics with zero…1,865MIT OR Apache-2.0AsynchronousConcurrency unprolixBoilerplate generator for constructors, getters and setters with derive macros1,860MITDevelopment tools::Procedural macro helpersRust patterns exclusivePlace code into an exclusive context that won't collide with another context.1,859MIT/Apache-2.0No standard libraryRust patterns beerec-variantsProcedural derive macro to generate boilerplate on unit variants enum types1,856MITRust patterns enum_handler_deriveThis crate is part of the enum_handler crate. Do not use it directly.1,854MIT OR Apache-2.0Data structuresRust patterns const-exhaustiveEnumerate all values of a type at compile time1,854MIT OR Apache-2.0No standard libraryRust patterns atomic-actorAn `Actor` with `async fn` handlers.1,853MIT OR Apache-2.0AsynchronousRust patterns kathy_macrosThe proc-macros for the 'kathy' crate1,850MPL-2.0Data structuresNo standard library borrowck_sacrificesNecessary sacrifices to keep the Borrow Checker happy and developers sane.1,849MITRust patterns wae-typesWAE Types - 统一错误类型与结果类型1,846MITRust patterns reflectix-corePrimitive run-time type reflection for Rust1,846GPL-3.0-or-laterData structuresRust patterns implicit-fnA macro that adds support for implicit closures to Rust.1,845MITRust patterns gatherrHelpers for collecting values and errors from result iterators1,844MIT OR Apache-2.0Rust patterns liftedHigher-kinded types in Rust.1,840MITRust patterns arsc-rsAtomic Reference-Strongly-Counted pointer1,840MIT OR Apache-2.0No standard libraryRust patterns fullypeekPeek forward in an iterator as far as you'd like, memory allowing!1,837MITRust patterns chain_from_lastIterator adaptor for chaining from last item.1,831Apache-2.0AlgorithmsNo standard library strut-coreCore facades and utilities. Part of the Strut family.1,830MITAsynchronousConfiguration escaped-delimiterIterator of delimited slices with escape characters1,828MIT OR Apache-2.0Rust patternsText processing into_inner_dropA helper library for implementing into_inner method for drop types safely.1,826MITNFANo standard libraryRust patterns aliyun-error阿里云统一错误处理1,825MPL-2.0Rust patterns micFacilitates answering to competitive programming problems.1,811CC0-1.0Command-line interfaceRust patterns tirea-state-deriveDerive macros for typed AI agent state with CRDT lattice support1,811MIT OR Apache-2.0Rust patterns aoc2023Solutions to Advent of Code 20231,804MITAlgorithmsCommand line utilities build_assertAsserts const generic expressions at build-time.1,798MIT OR Apache-2.0Development tools::TestingNo standard library filecaster-deriveProcedural derive macro for `filecaster`: automatically implement `FromFile` for your structs.1,796MIT OR Apache-2.0ConfigurationParsing tools xprA general purpose generic expression template library.1,795MIT/Apache-2.0Rust patternsScience auto_ops_detMacros for easy operator overloading.1,795non-standardNo standard libraryRust patterns lines_lossyProvides an extension to `BufRead` with a function `lines_lossy` that works like `BufRead::lines` but with lossy UTF-8 decoding1,793MITRust patternsText processing temp-inst-deriveDerive macros for the temp-inst crate.1,793MIT OR Apache-2.0No standard library::No dynamic allocationRust patterns proc_static_assertionsCompile-time assertions via procedural macros.1,792MIT OR Apache-2.0Development tools::TestingNo standard library qubit-serdeReusable serde adapters and helper functions for Rust applications1,784Apache-2.0Development toolsEncoding append_to_stringThe append_to_string!() macro. Appends every occurance of a literal within a struct or on its own with a .to_string().1,783MITRust patterns tuple-traitsAdditional tuple traits to enable ergonomic types.1,781MITRust patterns telemetry-safe-coreCore allocation-free telemetry formatting primitives1,780MIT OR Apache-2.0Development tools::DebuggingRust patterns telemetry-safe-deriveDerive macros for compile-time safe telemetry formatting1,780MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns collareasy array collection1,780MITAlgorithmsNo standard library generic-mutabilityAllows the creation of APIs that are generic over mutability1,778MIT OR Apache-2.0No standard library::No dynamic allocationRust patterns does_impl[WIP] Determine if a type does implement a logical trait expression.1,774MIT OR Apache-2.0Development tools::TestingNo standard library