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.

featurecombDefine feature groups and enforce relations between Cargo features from your manifest69,836MIT OR Apache-2.0ConfigurationRust patterns bufiostd::io::Write for your potentially uninitialized slice of memory.69,287Apache-2.0 OR MITAPI bindingsEmbedded development static-keysReimplement Linux kernel static keys for Rust userland applications.68,934MIT OR Apache-2.0No standard libraryRust patterns tokio-contextContexts for cancelling asynchronous tasks using tokio68,588MITAsynchronousDevelopment tools boxarraySafe way to allocate and initialize nested arrays directly on the heap in Rust.68,128MITMemory managementRust patterns foreignConversion between foreign and Rust types68,012MIT OR Apache-2.0Development tools::FFIRust patterns miden-thiserrorderive(Error) with no-std support67,829MIT OR Apache-2.0No standard libraryRust patterns relativeA type to wrap vtable references such that they can be safely sent between other processes running the same binary.67,687MIT OR Apache-2.0Development toolsEncoding featurecomb-schemaSchema of featurecomb's metadata subtable67,532MIT OR Apache-2.0ConfigurationRust patterns char-deviceCharacter Device I/O66,867Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MITRust patterns filtersBuild filters/predicates with the builder pattern66,865MPL-2.0Rust patterns facet-pathPath tracking for navigating Facet type structures66,455MIT OR Apache-2.0Development toolsRust patterns bitcoin_uriRust-idiomatic, compliant, flexible and performant bitcoin URI crate.66,147MITNFACryptography::CryptocurrenciesEncoding develaA development substrate of coherence.65,884MIT OR Apache-2.0Development toolsNo standard library::No dynamic allocation refined_typeA library for imbuing rules into types and elevating them to more robust types64,950MITAccessibilityDevelopment tools metatypeHelper methods to determine whether a type is `TraitObject`, `Slice` or `Concrete`, and work with them respectively.64,917MIT OR Apache-2.0Development toolsRust patterns smelling_saltsAbstraction over OS APIs to handle asynchronous device waking64,765Apache-2.0 OR BSL-1.0 OR MITAPI bindingsAsynchronous stackbox`&own`ing references in stable Rust - no_std-friendly Box64,191Zlib OR MIT OR Apache-2.0No standard libraryRust patterns itermapIterator tools for maps (`HashMap`, `BTreeMap`, etc.)63,282Apache-2.0Data structuresRust patterns panickingProvides a `std::thread::panicking` analog available in the `no_std` context.63,176MIT OR Apache-2.0No standard libraryRust patterns indexingSound unchecked indexing using “generativity”; a type system approach to indices, pointers and ranges that are trusted to be in…62,794MIT/Apache-2.0No standard libraryRust patterns duplexThe Duplex trait: interactive streams62,587Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MITRust patterns anyinputA macro for easier writing of functions that accept any string-, path-, iterator-, array-, or ndarray-like input62,257MIT OR Apache-2.0Development toolsRust patterns as-resultTraits for converting types which may be interpreted as or into a result.62,150MIT OR Apache-2.0Rust patterns tiny_bailSmall but flexible macros for bailing on failure.62,133MIT OR Apache-2.0Development tools::DebuggingNo standard library::No dynamic allocation idmapEfficient maps of integer id keys to values, backed by an underlying `Vec`61,939MIT OR Apache-2.0Data structuresRust patterns anyinput-coreAn internal helper library of anyinput61,244MIT OR Apache-2.0Development toolsRust patterns byte_readerA minimal byte-by-byte reader for parsing input61,091MITEncodingNo standard library::No dynamic allocation fn_nameMacros that produce the name of the function they're invoked within.61,083MIT/Apache-2.0No standard libraryRust patterns anyinput-deriveAn internal helper library of anyinput60,728MIT OR Apache-2.0Development toolsRust patterns nonasyncA set of utilities useful for building a non-blocking non-async APIs60,651Apache-2.0Data structuresRust patterns rsorReusable slice of references58,694MIT OR Apache-2.0Data structuresRust patterns tokenlockProvides cell types that decouple permissions from data.58,563MIT/Apache-2.0No standard libraryRust patterns field_typesSome derive macros for deriving enums, corresponding to the fields of structs.57,900MITRust patterns facet-solverConstraint solver for facet - resolves type shapes from field names57,681MIT OR Apache-2.0Development toolsRust patterns reactive-mutinyasync Event-Driven Reactive Library with advanced & optimized containers (channels) and Stream executors57,377UnlicenseAsynchronousConcurrency pretty-error-debugIf the process ends with an `Error`, write out the `Error` message and chain.57,184MIT OR Apache-2.0Command-line interfaceNo standard library nest_structNest struct and enum definitions with minimal syntax changes56,220MITData structuresDevelopment tools comparatorA Java-like Comparator type56,170MIT OR Apache-2.0AlgorithmsData structures enum_downcastSafe downcasting for enums55,797MIT OR Apache-2.0Rust patterns zip_cloneZip an iterator to a repeatedly cloned object55,646MIT OR Apache-2.0Rust patterns into-sortedCollection of utility methods and functions that take an owned array and return a sorted owned array55,249MITNo standard libraryRust patterns maconAnother builder macro-based generator with its own idioms.54,935MIT OR Apache-2.0Rust patterns web-time-compatCompatibility layer for web-time54,347MIT OR Apache-2.0Rust patterns tryvialSmall crate for ok-wrapping and try blocks54,171MIT OR Apache-2.0No standard libraryRust patterns orx-imp-vec`ImpVec` stands for immutable push vector 👿, it is a data structure which allows appending elements with a shared reference.54,057MIT OR Apache-2.0Data structuresNo standard library io-streamsUnbuffered and unlocked I/O streams53,975Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MITRust patterns lit2Collection helper libraries and “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet.53,657MIT/Apache-2.0Rust patterns smooth-operator-implProcedural macro that transforms regular infix arithmetic expressions into checked arithmetic expressions.53,602MITMathematicsNo standard library enhanced_enumEnhanced Fieldless Enumerations and Associated Array Types.53,505MIT OR Apache-2.0Data structuresRust patterns smooth-operatorProcedural macro that transforms regular infix arithmetic expressions into checked arithmetic expressions.53,382MITMathematicsNo standard library num-runtime-fmtFormat numbers according to a format spec determined at runtime.53,132GPL-3.0-onlyMathematicsRust patterns format-coreCore format types53,128MIT OR Apache-2.0No standard libraryRust patterns semvalSemantic validation52,646MPL-2.0No standard libraryRust patterns futures-awaitAsync/await syntax for Rust through a procedural macro. This crate defines the `#[async]` macro for functions, the `await!` macro…52,628MIT/Apache-2.0AsynchronousRust patterns format-macroFormat procedural macro52,362MIT OR Apache-2.0No standard libraryRust patterns validatedThe cumulative sibling of `Result` and `Either`.52,056MITData structuresRust patterns zyn-coreCore AST, traits, and utilities for the zyn proc macro framework52,021MITDevelopment tools::Procedural macro helpersNo standard library zyn-deriveProc macros for the zyn framework51,939MITDevelopment tools::Procedural macro helpersNo standard library attrsAn ergonomic parser library for `#[attributes]`, built on parser combinators.51,926MIT OR Apache-2.0Development toolsDevelopment tools::Procedural macro helpers anymoreAnyDebug: Dynamically typed values which can be inspected51,903Apache-2.0 OR MITDevelopment toolsNo standard library zynA proc macro framework with templates, composable elements, and built-in diagnostics51,894MITDevelopment tools::Procedural macro helpersNo standard library formatA utility crate to make it easier to work with the formatter51,551MIT OR Apache-2.0No standard libraryRust patterns enum-derive-2018This crate provides macros for deriving additional functionality for enums.51,425MIT OR Apache-2.0No standard libraryRust patterns abscissaApplication microframework with support for command-line option parsing, configuration, error handling, logging, and terminal…51,322Apache-2.0Command-line interfaceConfiguration collateTraits and a data structure to support collation and bisection51,091Apache-2.0AlgorithmsRust patterns copy_from_strAn extension trait to copy a string into another string51,017MIT OR Apache-2.0No standard libraryRust patterns endiannezzZero dependencies library for I/O endianness on high-level50,615MITEncodingParsing tools destreamLibrary for async stream (de)serialization50,329Apache-2.0AsynchronousEncoding h10Simple HTTP/1.0 Server50,079MITDevelopment toolsNetwork programming wrapped-vecMacro for generating wrapped Vec types and associated boilerplate49,946MIT OR Apache-2.0Data structuresDevelopment tools rev_sliceA newtype for operating on a reversed view of a slice.49,926MITNo standard libraryRust patterns arrcatArray concatenation49,488ZlibNo standard libraryRust patterns cpsAssists in the creation of readable and maintainable macro_rules! macros48,857MITDevelopment tools::Procedural macro helpersRust patterns iter-identify_first_lastA helper iterator, flagging first and last elements.48,773MIT OR Apache-2.0No standard libraryRust patterns casualSimple crate for parsing user input.48,057MIT OR Apache-2.0Command-line interfaceRust patterns amongA general purpose sum type with three cases: the enum `Among` with variants `Left`, `Middle` and `Right`. A three-way counterpart…48,051MIT OR Apache-2.0Data structuresNo standard library destruct-drop-deriveActual derive macro for destruct-drop.47,860MITRust patterns r-exZero-bloat Rust core library extensions47,795MITNo standard libraryRust patterns nbioNon-Blocking I/O47,729MIT OR Apache-2.0ConcurrencyRust patterns srmwAsynchronous single-reader, multi-writer47,553MIT OR Apache-2.0AsynchronousRust patterns bind_matchConvenience macro similar to `matches!` but binds to variables in the pattern and returns an `Option` of the result.47,336MITRust patterns zero4rszero4rs is a powerful, pragmatic, and extremely fast web framework for Rust47,282MIT/Apache-2.0Rust patternsWeb programming uniplateSimple, boilerplate-free operations on tree-shaped data types47,182MPL-2.0AlgorithmsData structures unwrap_orFour easy unwrap Result and Option macros that allow for any inline-scoped code for things like return, continue, and break.47,080non-standardDevelopment tools::DebuggingRust patterns iocAn Inversion-of-Control library in Rust.47,046MITData structuresRust patterns isntInverted versions of boolean-valued stdlib functions46,584MIT OR Apache-2.0Rust patterns chainerrorMake chaining errors easy.46,543MIT OR Apache-2.0Rust patterns expandMacro to expand byte string and string literals46,415MPL-2.0No standard libraryRust patterns unstringifyProcedural macro implemention of the reverse operation of `stringify!`46,382Zlib OR MIT OR Apache-2.0Rust patterns vector2mathTraits for doing 2D vector geometry operations using standard types46,272MITAlgorithmsRust patterns coercible_errorsZero-cost error handling for generic traits46,195CECILL-CRust patterns optemptyTools for working types that may be empty. E.g., an empty `String`, `Vec`, `HashMap`, etc.46,194Apache-2.0Data structuresNo standard library destruct-dropMacro for dropping the fields of a struct or enum without dropping the container.45,851MITRust patterns quixutilsCommon helpers and utils45,260Apache-2.0Rust patterns entraitLoosely coupled Rust application design made easy44,977MITDevelopment tools::TestingRust patterns arraygenDerive macro for generating arrays from struct fields.44,535MITRust patterns marketInfrastructure for producers and consumers43,757MITRust patterns swiss-army-knifeCommon utility code to support linux-support and other projects43,636AGPL-3.0Rust patterns perfect-deriveProvides a prototype of the proposed perfect_derive macro43,502MITDevelopment tools::Procedural macro helpersRust patterns min_err_per_stepDear Dev, it's math lib for Rust to calc basic funcs w/ minimal error per step [kiss principle been at the very heart].43,474non-standardAlgorithmsMathematics as-isAn abstraction over ownership.43,377MIT OR Apache-2.0Data structuresNo standard library::No dynamic allocation spire_enum_macrosProcedural macros distributed by the crate `spire_enum`.43,343MITRust patterns domain_patternsDomain patterns holds patterns from the world of Domain Driven Design.43,303MITData structuresDatabase interfaces pinned_vecVec-like data structure whose elements never move.43,282MPL-2.0Data structuresRust patterns linked_list_r4lLinked lists that supports arbitrary removal in constant time43,082GPL-2.0-or-laterNo standard libraryRust patterns orx-linked-listA linked list implementation with unique features and an extended list of constant time methods providing high performance…43,008MIT OR Apache-2.0Data structuresNo standard library rst_lexSimple lexer for Rust42,485non-standardAlgorithmsRust patterns layered-ioI/O traits extending Read and Write42,436Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MITOperating systemsRust patterns safecastTraits to define safe casting between types42,402Apache-2.0Rust patterns entrait_macrosProcedural macros reexported by entrait41,734MITRust patterns enumxAd-hoc enum extension.41,647MITRust patterns async-flowAsync abstractions for flow-based programming (FBP).41,631UnlicenseAsynchronousConcurrency devela_macrosprocedural macros for devela41,024MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns orx-selfref-colSelfRefCol is a core data structure to conveniently build safe and efficient self referential collections, such as linked lists…40,873MIT OR Apache-2.0Data structuresNo standard library concrete-typeA procedural macro crate for mapping enum variants to concrete types, enabling type-level programming based on runtime values40,782MITDevelopment tools::Procedural macro helpersNo standard library::No dynamic allocation value-traitsBy-value slices and iterators40,533Apache-2.0 OR MITNo standard libraryRust patterns spire_enumProcedural macros to facilitate enum usage, such as when delegating implementations, extracting variant types, or creating enum…40,113MITNo standard libraryNo standard library::No dynamic allocation heterobLibrary for conversion between bytes/bits and heterogeneous lists (tuples)39,989MITEncodingNo standard library enumx_deriveMacros for ad-hoc enum extension39,936MITRust patterns not_emptySlices and vectors that are statically guaranteed to be not empty.39,551MIT OR Apache-2.0Data structuresNo standard library problemError handling for command line applications or prototypes39,404MITRust patterns entity_dataA container for entity component data.39,157non-standardData structuresRust patterns smallnumCompile-time size optimization for numeric primitives.39,091MITConfigurationEmbedded development thin_strA string type that's smaller than `Box<str>` or String38,459MIT/Apache-2.0Data structuresNo standard library cexChecked exception simulation.38,452MITRust patterns tuple-transposeTranspose tuple of results and options to result and option of tuple38,446MITNo standard libraryRust patterns eventasticEventastic is an opinionated fork of Eventually-rs. It enforces the use of transactions and handles idempotency.38,435MITAsynchronousData structures domain_derivedomain_derive holds derive macros for the domain_patterns crate.38,263MITData structuresDatabase interfaces cex_deriveMacros for checked exception simulation38,260MITRust patterns trace-errorExtensions to Rust's error system to automatically include backtraces38,236MITRust patterns imgref-iterA small crate for iterating over the rows or columns of `imgref` buffers38,172MITRust patterns fgoxideUtility/QoL code for writing command-line / file processing tools.38,110MITRust patterns guilt-by-associationMacro for declaring/implementing traits with fake associated consts (in stable Rust)37,886MITRust patterns auto-impl-opssemi-automatic implementation proc-macro for binary operations37,769AGPL-3.0-or-laterDevelopment toolsRust patterns maybe_pathZero overhead static initializer for Path37,741MIT OR Apache-2.0Data structuresFilesystem alone_eeSmall event emitter for rapid development of weak dependency in applications. simple. powerful. predicted37,569GPL-3.0Rust patterns lock-hierarchyPrevent dead locks by enforcing lock hierarchies37,419MITConcurrencyRust patterns pod-enum-macrosAn enum which is also plain-old-data - proc macros37,393MIT OR Apache-2.0No standard libraryRust patterns fieldStatically-verified struct field names as strings.37,016MIT OR Apache-2.0No standard libraryRust patterns anyhow_extExtension of anynow37,001MITRust patterns pod-enumAn enum which is also plain-old-data36,887MIT OR Apache-2.0No standard libraryRust patterns borrowme-macrosThe missing compound borrowing for Rust.36,848MIT OR Apache-2.0Development toolsNo standard library cryoExtend the lifetime of a reference. Safely.36,839MIT/Apache-2.0No standard libraryRust patterns web3_rust_wrapperweb3_rust_wrapper36,659MITRust patterns derive-debug-extrasMore customisable #[derive(Debug)]36,542MITRust patterns borrowmeThe missing compound borrowing for Rust.36,360MIT OR Apache-2.0Development toolsNo standard library iter_fixedIterator of fixed length36,290MIT OR Apache-2.0No standard libraryRust patterns io-reactorConcurrent I/O resource management using reactor pattern36,264Apache-2.0AsynchronousConcurrency topoTools for incrementally computing repeated callgraphs.36,154MIT/Apache-2.0CachingData structures axinA Rust procedural macro library for function instrumentation36,018MITDevelopment toolsRust patterns heck-but-macrosA proc macro wrapper around the heck crate, so that its casing functions can be applied to identifiers. Also contains a…35,935MIT OR Apache-2.0Development tools::Build UtilsRust patterns playwright-rs-macrosCompile-time-validated selector macros for playwright-rs35,815Apache-2.0Development tools::TestingRust patterns run-on-dropRun code when an object is dropped35,459MIT OR Apache-2.0No standard libraryRust patterns known-errorsWell-known errors.35,421UnlicenseAPI bindingsConfiguration ptr-unionPointer union types the size of a pointer by storing the tag in the alignment bits.35,387MIT OR Apache-2.0Data structuresNo standard library graphql-starter-macrosMacros for graphql-starter crate35,373MITRust patternsWeb programming better-asExplicit type casting35,258MITNo standard libraryRust patterns batch_operbatch_oper provides some batch operation macro for some operations35,197MITNo standard libraryRust patterns file_rwA library for high-performance, memory-mapped file I/O utilities.34,677GPL-3.0-or-laterFilesystemRust patterns array__opsA selection of useful array operations34,594MITAlgorithmsAsynchronous fixed_len_strA procedural macro for create a smart pointer to str backed by a fixed size array,with the size given by the tokens.34,551UnlicenseNo standard libraryRust patterns statusError container34,456MIT OR Apache-2.0Rust patterns as_reprRust trait for constant `#[repr(T)]` conversions34,212Apache-2.0 OR BSL-1.0 OR MITNo standard libraryNo standard library::No dynamic allocation ddd-rsDomain-Driven Design (DDD) building blocks, for Rust applications.34,162MITRust patterns option-filterOption::filter polyfill for Rust 1.26 and older34,130MIT/Apache-2.0No standard libraryRust patterns query-params-macroA procedural macro for easy use of arbitrary structs as query parameters in Hyper34,126MITNetwork programmingRust patterns atomicellMulti-threaded RefCell on atomics33,918MIT OR Apache-2.0ConcurrencyData structures statumRepresent workflow and protocol state correctly in Rust by making invalid states unrepresentable33,601MITRust patterns graphql-starterGraphQL starter kit33,537MITRust patternsWeb programming sync-cell-sliceCells and slices that are accessible from multiple threads33,464Apache-2.0 OR MITConcurrencyRust patterns maplit2Collection helper libraries and “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet.33,444MIT/Apache-2.0Rust patterns to-query-paramsA procedural macro and trait for easy use of arbitrary structs as query parameters in Hyper33,432MITNetwork programmingRust patterns utf8_sliceLightweight UTF8 Slice Utilities33,431MITRust patternsText processing ai-descriptorProvides a proc macro we can use to annotate enums for facilitating itemization and description using an AI model33,401MIT OR Apache-2.0Game developmentRust patterns try-lazy-initFallible lazy initialization.33,144Apache-2.0/MITData structuresRust patterns rootcause-tracingTracing span support for the rootcause error reporting library33,138MIT/Apache-2.0Development tools::DebuggingRust patterns cfgeniusConditional compilation with macro support in Rust32,898MITNo standard libraryRust patterns debug-fnA function adapter that implements Display and Debug32,746MIT OR Apache-2.0No standard libraryRust patterns keen-retryRetry-as-a-value: zero-cost, ownership-friendly retries with diagnosable outcomes with full async and lib/app boundaries support32,720UnlicenseAlgorithmsAsynchronous build_uuidObtain a UUID uniquely representing the build of the current binary.32,473MIT OR Apache-2.0Development toolsRust patterns fn-traitsProvides function traits like the standard library ones, but can be used in stable Rust.32,427MITData structuresNo standard library negative-implNegative trait implementations on stable Rust.32,179Apache-2.0 OR MITNo standard libraryNo standard library::No dynamic allocation messagesRuntime-agnostic actor library.32,000MITRust patterns hlist2Compile-time heterogeneous list implementation31,500MIT OR Apache-2.0AlgorithmsData structures tc-errorTinyChain's generic error struct31,349Apache-2.0Rust patterns async-lazyA value which is initialized on the first access, with an async function.31,348MIT OR Apache-2.0AsynchronousConcurrency error-contextMethods and types that help with adding additional context information to error types31,339MITRust patterns checked_opsAutomatic checked arithmetic operations in Rust31,279BSD-2-ClauseRust patterns startupTiny (no dependency, no proc macro) way to run some code before main.31,083Apache-2.0 OR MIT OR ZlibNo standard libraryRust patterns onlyerrorObsessively tiny error derive macro30,947MITNo standard libraryRust patterns ownable-coreTraits for structs/enums with Cow, which can convert Type<'a> to Type<'static> and more30,947MIT OR Apache-2.0No standard libraryRust patterns random-constructible-deriveProvides a derive macro for the random-constructible crate which is used for creating random instances of enums with weighted…30,736MIT OR Apache-2.0Game developmentRust patterns cargo-toml2`Cargo.toml` and `.cargo/config` parsing stuff30,601MIT OR Apache-2.0Development tools::Build UtilsParser implementations timesTiming Benchmark, Repeated Runs, with Statistics30,518BSD-3-ClauseAlgorithmsDevelopment tools illicitAn implicit thread-local environment which is indexed by type.30,381MIT/Apache-2.0Rust patterns bump-intoa no_std bump allocator sourcing space from a user-provided slice30,344MIT OR UPL-1.0Memory managementNo standard library is_none_orA simple utility function for the Option type30,222MIT OR Apache-2.0Rust patterns proc-macro-toolSome common simple tool for proc-macro impl30,004MITDevelopment tools::Procedural macro helpersRust patterns partial_derive2makes all the properties of a struct type an optional property29,859MITRust patterns