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.

sqlx-d1-macrosproc macros for sqlx-d1 - SQLx for Cloudflare D16,565MITAsynchronousDatabase interfaces disuseThe way to notify the implementation which return value is disuse.6,557MIT OR Apache-2.0No standard libraryRust patterns named-tupCreate named tuples using the tup!() macro.6,556MIT OR Apache-2.0Rust patterns thalo-kafkaKafka event stream for crates.io/thalo6,546MIT OR Apache-2.0Data structuresDatabase interfaces workspacer-exportFacilitates workspace management and exportation within Rust projects through extended interfaces.6,546MITDevelopment toolsRust patterns dxprDifferentiable expression templates in compile-time, dependency-free, no_std Rust.6,523ZlibAlgorithmsData structures metadata-storeA simple store for recoverable metadata that is written in atomic batches.6,512MIT/Apache-2.0ConcurrencyData structures sodiumSodium FRP (Functional Reactive Programming)6,509BSD-3-ClauseAsynchronousRust patterns optionally_constOptional constness on stable Rust.6,509MIT OR Apache-2.0No standard libraryRust patterns borrow_with_ref_objVersions of Borrow[Mut] that return reference objects (Ex. std::cell::Ref)6,505BSD-3-ClauseRust patterns dyn-ptrA box that stores types like pointers, forgetting everything besides `Self: Unsize<dyn Trait>`6,494MITData structuresNo standard library error-utils-deriveSome rust proc-macros to simplify common error handling patterns6,489MITRust patterns peek-againA performant iterator providing double peek functionality.6,486MIT OR Apache-2.0AlgorithmsNo standard library moverefTypes and traits for safe C++ style placement initialization and move semantics6,485Apache-2.0 WITH LLVM-exceptionCompilersExternal FFI bindings make_optionturns any type into an option, only if it is not already one6,481MITRust patterns n-functorFaux-derive a `map` function for types with one or more type parameters.6,481MITRust patterns error-utilsSome rust macros to simplify common error handling patterns6,474MITRust patterns pipexA powerful functional pipeline macro for Rust combining sync, async, parallel, and streaming operations with extensible error…6,458MITAsynchronousConcurrency rust-arc-gcA simple GCArc implementation for Rust6,450non-standardMemory managementRust patterns std-traitsTraits for types in the standard library.6,439MIT OR Apache-2.0AlgorithmsMathematics asm_blockTranslate tokens to string for Rust inline assembly6,395MIT OR Apache-2.0No standard libraryRust patterns renegeTracking cache validity using fast concurrent invalidation propogation.6,385MIT OR Apache-2.0CachingConcurrency leptos-trackedUtility traits for interacting with leptos signals6,378non-standardRenderingRust patterns static-eventsA library for creating zero-cost event systems.6,373MIT/Apache-2.0Rust patterns layered-crateTool to declare and verify internal dependencies amongst modules inside a crate6,370MITDevelopment toolsDevelopment tools::Build Utils type-leakEnable sharing type context beyond crate boundary6,363MITDevelopment tools::Procedural macro helpersNo standard library::No dynamic allocation first-errFind the first Err in Iterator<Item = Result<T, E>> and allow iterating continuously.6,354MITNo standard libraryNo standard library::No dynamic allocation compostAdds a macro to decompose tuples into tuples containing a subset of their values6,343MITNo standard libraryRust patterns verify-callUtility to verify whether a method has been called on a mock.6,331MITData structuresDevelopment tools::Testing tynameRetrieve type names during program execution on stable Rust.6,331MIT/Apache-2.0Rust patternsValue formatting basic-oopSimple OOP for Rust.6,327MIT OR Apache-2.0No standard libraryRust patterns real-procproc macros for floating point constants.6,316MIT OR Apache-2.0Rust patterns slicefieldsAllows for data structures whose members are sub byte aligned (e.g. a one bit alignment)6,300MPL-2.0Rust patterns valust-utilsUtilities for the Valust crate6,286MIT OR Apache-2.0ConfigurationData structures toast-cellZero-cost type-branded cell with no runtime checks6,281BlueOak-1.0.0Memory managementNo standard library recursive_referenceThis crate provides a way to walk on recursive structures easily and safely.6,266MIT OR Apache-2.0Data structuresNo standard library inplaceA container that allows you temporarily take ownership of the stored value.6,265MIT/Apache-2.0No standard libraryRust patterns refmoveAn experimental implementation of library-level by-move references6,247MIT / Apache-2.0Memory managementNo standard library const_typed_builder_deriveCompile-time type-checked builder derive using const generics6,243MITDevelopment toolsRust patterns instancebuilderConvenient way of managing dependency injection6,235MITConfigurationRust patterns kenzuProcedural macros for builder pattern generation and validation6,229MIT OR Apache-2.0Development toolsRust patterns read_bufferThis crate provides ReadBuffer, a wrapper to safely read into a buffer from a Read.6,211MITRust patterns sitrepFrontend-agnostic progress reporting6,208MPL-2.0Rust patterns cantorA general toolkit for working with types that have a small number of values6,193MIT OR Apache-2.0CompressionNo standard library rdb-pagination-deriveThe provided crate offers a procedural macro for defining `OrderByOptions`.6,191MITDatabase interfacesRust patterns mapThis crate provides the `map!` macro and `map_insert!` macro, to create a HashMap collection and insert key-value pairs. Inspired…6,172MIT OR Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR BSD-3-ClauseDevelopment toolsRust patterns rustcompAdds vector, map, set, and iterator comprehensions to Rust.6,153MITRust patterns refboxA Box with weak references6,150MIT OR Apache-2.0Memory managementRust patterns lazy_fnlazy_static for functions!6,139MIT OR Apache-2.0Memory managementNo standard library rodeoFast dropping arena based on bumpalo6,123MIT OR Apache-2.0Memory managementNo standard library result-extensionsA simple rust library that provides extensions for the Result<T,E> type6,122Apache-2.0Rust patterns zkp-mmap-vecReplacement for `Vec` that uses file-backed storage6,117Apache-2.0AlgorithmsMemory management explicit-error-deriveDerives for crates built on top of explicit-error6,117Apache-2.0Rust patterns see-throughA library of traits to provide access to internal fields of generic structs.6,115non-standardDevelopment toolsRust patterns askingBuild async prompts.6,114MIT OR Apache-2.0Command-line interfaceCommand line utilities kind_procprocedural macro for the 'kind' crate6,112MITRust patterns bitcoinleveldb-posixloggerPOSIX-backed logging implementation for bitcoinleveldb-style systems that writes timestamped log lines directly to libc::FILE…6,109MITDevelopment toolsFilesystem vectorize_structvectorize_struct adds an procedural macro attribute that makes it possible to iterate over Trait Objects of every field of a…6,107MITRust patterns multindexIndex slices with multiple const indices/ranges.6,101ZlibNo standard libraryRust patterns fieldx_coreVarious types and tools useful implementing fieldx_derive core functionality. May provide useful APIs for 3rd-party crates.6,081non-standardConcurrencyDevelopment tools::Procedural macro helpers iscloseA collection of trait and macros for comparing approximate equality6,075MIT OR Apache-2.0MathematicsNo standard library threadporterFirst aid kit for !Send + !Sync values ⛑️6,067Apache-2.0Rust patternsWebAssembly easy_switchA macro for traditional C-style switch statements6,057MITDevelopment toolsRust patterns dependent_viewWrappers to produce weak trait objects from reference types6,054MITMemory managementRust patterns non-empty-sliceNon-empty slices.6,031MITNo standard libraryNo standard library::No dynamic allocation grit-junk-drawerCollection of small utilities, types, traits, helpers, etc.6,031BSD-3-ClauseRust patterns io-extraAn extension trait for `std::io::Error`, with shorthand constructors for various `std::io::ErrorKind`s.6,017MIT OR Apache-2.0Rust patterns inewMacros for constructor generation6,009MIT OR Apache-2.0Rust patterns newtype-enum-macroProcedural macro to generate newtype enums.6,007MIT OR Apache-2.0No standard libraryRust patterns py-compA macro implementing a Python-like generator expression5,988MITRust patterns icentral-sigmasA Rust library providing efficient management of sigma values for nodes in graph-based data structures. Includes traits for…5,975MIT OR Apache-2.0AlgorithmsData structures btyStreamlined definition and usage of branded types in Rust5,967MITRust patterns kik_sync_serviceA synchronous threading worker channel for generating the results you want with the data you need.5,956MITConcurrencyEmbedded development logchopLog your `Result` and `Option` chains with inline methods.5,953Apache-2.0Development tools::DebuggingRust patterns tilde_deriveUsing ~ to provide syntax sugar for Rust.5,946MITRust patterns pgde_deriveA macro library for consuming PostgreSQL row data into structs.5,936MITAPI bindingsDevelopment tools::FFI transmute_guardTransmute between types that have been marked as safe by the marker type5,932MITData structuresNo standard library steckrsA lightweight, trait-based plugin system for Rust applications and libraries5,919LGPL-3.0-or-laterAPI bindingsDevelopment tools eliza_error“Times are bad. Children no longer obey their parents, and everyone is writing an error handling library.” — Cicero5,898WTFPLRust patterns xmacro_libmacro engine for producing multiple expansions5,878MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns dev_bestia_url_utf8Library for url utf8 encode/decode5,875MITRust patterns internLibrary for interning strings and other kinds of data. (WIP)5,856MITRust patterns kindCostless typed identifiers backed by UUID, with kind readable in serialized versions5,835MITRust patterns maflowFlow macros: basically unwrap for return, continue and break5,825MIT OR Apache-2.0Development toolsRust patterns builder_derive_moreAdditional procedural macros for the builder pattern.5,806MIT OR Apache-2.0Rust patterns tosserrorderive(Toss)5,803MIT OR Apache-2.0Rust patterns rc-vecRcVec based on Rc and can be converted from Rc without allocation5,799MITData structuresNo standard library phantasmSmall lib that helps with variance5,774MITNo standard libraryRust patterns classificClassifications, comparator and equivalence class implementations5,771MIT OR Apache-2.0AlgorithmsMathematics setup_read_cleanupA library for safely transitioning through the three phases of shared resource access: setup, read, and cleanup.5,769MITAsynchronousConcurrency tiny_failProvides simple Fail type.5,762MIT OR Apache-2.0Rust patterns clone_boxSimple convenience macro for casting to parent object-trait by cloning.5,755MIT OR Apache-2.0AccessibilityRust patterns try-from-discrim#[derive(TryFrom / From)] using enum discriminants, with fallback support.5,749MPL-2.0No standard libraryRust patterns derive_diThis crate is realized the dependency injection pattern5,736Apache-2.0/MITDevelopment toolsRust patterns const_typed_builderCompile-time type-checked builder derive using const generics5,732MITDevelopment toolsRust patterns knifeAn iterator that divides things evenly5,730MITMathematicsRust patterns rjdebounceDebouncing function utility5,726non-standardRust patterns anonymous-traitAnonymous trait implementation with capturing the environment5,716MIT OR Apache-2.0Rust patterns permeableA permission-demand trait. Decouples the permission-demander from the permission / auth provider.5,706MIT/Apache-2.0Rust patterns kubetsudistinguish value type of other struct5,695MITNo standard libraryRust patterns ascendMake static strs from any string5,689UnlicenseCachingMemory management advent_of_code_traitsMinimal, flexible framework for implementing solutions to Advent of Code in Rusts5,688MIT OR Apache-2.0Rust patterns basic-oop-macroProcedural macro library for basic-oop.5,685MIT OR Apache-2.0No standard libraryRust patterns typesafe_builder_deriveA procedural macro to generate type-safe builder patterns for Rust structs5,666MITAccessibilityDevelopment tools try-specializeZero-cost specialization in generic context on stable Rust5,664MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation easy_stringsErgonomic, garbage collected strings for Rust5,662Apache-2.0/MITData structuresRust patterns transactional_iteratorIterator that allows to commit or abort progress.5,658MIT OR Apache-2.0Rust patterns sigwakeA thread-safe signal-based state management library that integrates with Rust's async programming model5,639MIT OR Apache-2.0AsynchronousRust patterns xmacrorust macro producing multiple expansions5,629MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns seekable_readerTransform every Read into a seekable resource5,626MIT OR Apache-2.0CachingRust patterns dev_bestia_string_utilsLibrary for string manipulation5,625MITRust patterns dto_deriveDerive for automatic mapping DTOs to Entities and vice versa.5,614MITData structuresRust patterns iexIdiomatic exceptions5,605MIT OR Apache-2.0Rust patterns scanmutInsert/remove multiple items from Vecs in O(n) time5,603MITNo standard libraryRust patterns xrmCross Runtime Manager5,578MIT OR Apache-2.0ConcurrencyRust patterns summonA logic engine designed to magically give you what you ask for5,560MITRust patterns packbytesConvert structures to and from packed representavises - byte arrays of fixed size that live on stack5,544MITData structuresEncoding xgx_internA high-performance, Hash-based value interner with custom handle types.5,535MITAlgorithmsData structures drop_ok`.drop_ok` syntax sugar for `Result`. It's instead of `.map(|_|())`.5,519MITRust patterns zkp-error-utilsAssertion like macros for returning `Result::Err`5,519Apache-2.0No standard libraryRust patterns tuple_macroLibrary for determining the length of a tuple.5,506GPL-3.0-or-laterRust patterns stream_routerA Future aware router to dynamically route between Streams and Sinks5,501Apache-2.0AsynchronousRust patterns genies_core整合DDD与Dapr 的 core 库5,499MIT/Apache-2.0ConfigurationRust patterns noise_fnSome simple noise functions and traits to allow easy integration with your own5,496MITGame developmentGraphics defewA new() derive macro for structs5,496MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation q1tsim-logic-gatesThis is an extension crate to q1tsim implementing the AND, OR and XOR logic cates in a quantum comupting - friendly (i.e.…5,494Apache-2.0API bindingsMathematics nolog-plainA non-colored version of the simple nolog logger for writing to a file.5,488MITDevelopment toolsDevelopment tools::Debugging explicit-error-httpExplicit concrete Error type to manage and monitor errors that generate an HTTP response. It has dedicated feature flag to…5,487Apache-2.0Rust patterns zkp-criterion-utilsCriterion helpers to benchmark over size and number of processors5,480Apache-2.0Rust patterns iter_columnsIterate over columns easily5,471MIT OR Apache-2.0AlgorithmsRust patterns error-info-macrosMacros for error-info crate5,459Apache-2.0Internationalization (i18n)Rust patterns type-varianceMarker traits for subtype variance5,450MITNo standard libraryRust patterns cmp_by_deriveDerive macro CmpBy and HashBy, respectively deriving traits `Ord`, `PartialOrd`, `Eq` and `PartialEq`, and `Hash` for structs and…5,443MIT OR Apache-2.0Development toolsDevelopment tools::Procedural macro helpers optionally_const_macrosProc-macro crate for optionally_const.5,430MIT OR Apache-2.0Rust patterns arraylibTools for working with arrays5,426MITNo standard libraryRust patterns rewrite-impl-traitRewrites impl Trait as method generics5,417MITRust patterns const_trait_implMoved to unconst_trait_impl due to collision between manually added dependency and implicit associated feature for the crate5,415MIT OR Apache-2.0Rust patterns include_data_uriinclude a file as a data uri5,414MITRust patterns peeking-iterAn iterator adapter that allows infinitely-deep peeking5,379MITRust patterns maybe-stringProvides a newtype wrapper that represents a byte vector that may be a valid UTF-8 string5,359MITData structuresRust patterns abstract-implCreate abstract implementations for traits5,359MITDevelopment toolsRust patterns racrosCollection of rust macros5,357MITRust patternsValue formatting array-litMacros for array and `Vec` literals with superpowers5,337MIT OR Apache-2.0No standard libraryRust patterns erroreLibrary for error handling and tracing5,336MIT OR Apache-2.0No standard libraryRust patterns zkp-logging-allocatorWrapper around the system allocator that logs large allocations5,334Apache-2.0AlgorithmsMemory management zstZero-sized generic type with the associated type exposing the type parameter5,333MIT OR Apache-2.0Memory managementNo standard library ambienceLightweight library for passing ambient parameters5,331MITRust patterns traitreg-macrosCreate a registry of implementations of a trait5,329MIT OR Apache-2.0Rust patterns error-forgePragmatic Rust error-handling framework with stable error metadata, contextual diagnostics, optional async support, and…5,321Apache-2.0AsynchronousDevelopment tools scopefnScope functions for Rust5,316MITNo standard libraryRust patterns pink-erased-serdeType-erased Serialize and Serializer traits5,312MIT OR Apache-2.0EncodingNo standard library hashableHashMap and HashSet replacements that implement the Hash trait -- HashableHashMap and HashableHashSet.5,306MITData structuresRust patterns vesta-macroProcedural macros used by and exported from the Vesta crate5,304MITRust patterns genies_context整合DDD与Dapr 的 context 库5,304MIT/Apache-2.0ConfigurationRust patterns trait-cast-macrosProc-macro implementation for the 'trait-cast' crate.5,301MIT OR Apache-2.0No standard libraryRust patterns precog_iterAn iterator adapter that returns the equivalent of `(iter.next(), iter.peek())`.5,294MIT OR Apache-2.0No standard libraryRust patterns genrcrefcounted pointer type that allows subobject pointers5,282MIT OR Apache-2.0AlgorithmsRust patterns quixotic-plecostomus-errorError types and error handling APIs for Pingora.5,273Apache-2.0Rust patterns rovvprovide the anonymous row type (poor-man's row polymorphism) in rust5,260MIT/Apache-2.0Rust patterns static-cow`Cow` at the type level: a framework of traits for writing types that are generic over ownership of their contents.5,259Apache-2.0 WITH LLVM-exceptionMemory managementNo standard library sabi-rustA small framework to separate logics and data accesses for Rust application.5,247MITAsynchronousDevelopment tools tagged_cellFast, initializable, and thread safe static variables5,244MIT OR Apache-2.0Memory managementRust patterns mini-macro-magicExport tokens to other modules and crates. Now with 100% less proc macros!5,242MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation generational_vectorA vector type using generational indices5,225MITGame developmentMemory management i18n_icu-rizzen-yazstonThe `i18n_icu` crate of the Internationalisation project.5,224BSD-3-ClauseInternationalization (i18n)Localization (L10n) breadth-first-zipBreadth-first `zip` guaranteeing a monotonically increasing sum of indices.5,221MPL-2.0AlgorithmsData structures const-unitsA library that lets you check the dimensions of your quantities at compile time and run time5,216MITDevelopment tools::TestingNo standard library::No dynamic allocation axpyMacro for auto-vectorizing n-ary linear combinations5,209MIT OR Apache-2.0 OR BSD-2-ClauseNo standard libraryRust patterns ipzoneIpzone provides a simple and powerful IP architecture to Rust.5,202MIT OR Apache-2.0Data structuresNetwork programming error_logSimple, struct-based Error-Handling5,198 Apache-2.0No standard libraryRust patterns rs-starterA parser and formatter for std::time::{Duration, SystemTime}5,196MIT/Apache-2.0Rust patternsWeb programming empty-fallback-chainIterator adaptor like chain, but conditional on empty first iterator5,196MPL-2.0AlgorithmsNo standard library::No dynamic allocation struct-builderDerive a builder for your structs5,187MITDevelopment toolsRust patterns shoebillA Wadler/Leijen style pretty-printer5,185non-standardCommand-line interfaceDevelopment tools intuple_derivederive for intuple5,183MIT OR Apache-2.0Rust patterns chain_linqAn implementation of .NET's LINQ in rust as a declarative macro.5,179MITRust patterns serde_literalsSupport for serialising and deserialising literals directly into enum unit variants5,176MIT OR Apache-2.0Development tools::Procedural macro helpersEncoding blk_count_macroA simple macro for counting a number of comma-separated tokens at compile time5,165MITNo standard libraryRust patterns try-dropBatteries included error handling mechanisms for drops which can fail5,156MITNo standard libraryRust patterns consume-iteratorConsume any iterator fully5,153MITNo standard libraryNo standard library::No dynamic allocation object-safeImplement object-unsafe traits for trait objects5,152MIT OR Apache-2.0Data structuresRust patterns try_tup_to_arr_macroLibrary for implement from tuple trait5,151MIT OR Apache-2.0Rust patterns trait-castGet your own Any with support for casting to trait objects.5,148MIT OR Apache-2.0No standard libraryRust patterns typesafe_builderA procedural macro to generate type-safe builder patterns for Rust structs5,144MITAccessibilityDevelopment tools regecsRust Extended Generic ECS (REGECS)5,142BSD-3-ClauseGame developmentRust patterns visitaElegant implementation of the Visitor Pattern5,138MITRust patterns projectureEasy arbitrary type projections without proc macros5,135MITRust patterns confgrA simple rust application configuration derive macro.5,130MITConfigurationDevelopment tools a_r_c_h_e_r_yTEMPORARY CRATE5,128MPL-2.0ConcurrencyMemory management polimorphismFunction overloading via a procedural macro5,125MITDevelopment toolsParser implementations rollercoasterExtra iterators for grouping, sorting, arithmetic, and more.5,121MITAlgorithmsRust patterns uni_rc_lockProvides a trait which may represent either Rc<RefCell<T>> or Arc<RwLock<T>>5,120MIT OR Apache-2.0ConcurrencyMemory management for_each_repeat`Iterator::for_each` that can repeat current iteration5,119non-standardNo standard libraryRust patterns runtime-loopRuntime loop for Rust5,106MIT/Apache-2.0AsynchronousConcurrency laxcowClone-on-write smart pointer with relaxed trait constraints5,096MIT OR Apache-2.0No standard libraryRust patterns repeatedAllows you to repeat a block of code a number of times.5,094MITRust patterns let_or_returnConvenient macro to extract a value via `if let`, and `return` in the else case5,093MITRust patterns typemap-meta-deriveA simple compile-time macro to create type-to-value maps, derive macro crate5,088MIT OR Apache-2.0Memory managementNo standard library newtype-enumTraits to convert between enums and their variant types.5,088MIT OR Apache-2.0No standard libraryRust patterns nami-deriveDerive macros for the nami reactive framework5,075MITDevelopment tools::Procedural macro helpersRust patterns