CATEGORY
Development tools::Procedural macro helpers 1,202 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.
derive-elvesWriting inclusive derive macros is tedious, this creates provides helper functions that make it easier.17,490MIT
zoet-macroImplementation detail for `#[zoet]` macro16,333MIT
count-macroA simple Rust macro to perform compile time counting16,166MIT
namethA simple macro to generate a static &str representing the name of a function, a struct or an enum16,160MIT
clap_derive_cryoParse command line argument by defining a struct, derive crate.15,837MIT OR Apache-2.0
exec_timeAttribute macro for timing sync and async Rust functions with labels, units, and slow-call thresholds15,795MIT
polyquineTeach Rust types to codegen their own constructors15,330MIT
cvars-macrosConfiguration variables for games - internal crate, use the main cvars crate instead15,282AGPL-3.0-or-later
include_proc_macroA convenient macro for working with multiple procedural macros in one crate, and to import them from any arbitrary paths. Reduces…15,238non-standard
oxifft-codegenProcedural macro crate for OxiFFT codelet generation14,988Apache-2.0
c0nstproc-macro for sharing code between const and non-const traits14,946MIT
polyquine-deriveTeach Rust types to codegen their own constructors14,785MIT
rtest-deriveheper crate with derive macros for rtest14,663Apache-2.0 OR MIT
autocloneA simple macro to clone variables before passing them into a `move` closure or async block.14,405MIT
dylo-cliGenerate dyn-compatible traits with proc macros14,350Apache-2.0 OR MIT
json_schema_test_suite_test_caseProcedural Macro Attribute to run all the test cases described in JSON-Schema-Test-Suite14,145MIT
messageforgemessageforge is a lightweight Rust library for creating structured messages in chat systems, including HumanMessage, AiMessage,…14,051Apache-2.0
forra compile time for loop for code generation13,782MIT OR Apache-2.0
enum_convertA Rust procedural macro library for deriving automatic conversions between enum variants13,734MIT
nitrokey-test-stateState required and used by the nitrokey-test crate.13,683GPL-3.0-or-later
json_schema_test_suite_proc_macroProcedural Macro Attribute to run all the test cases described in JSON-Schema-Test-Suite13,424MIT
macro-field-utilsUtilities to work with darling fields13,391MIT
more-convert-derive-internalThis crate adds macros for various conversions.13,278MIT
safe_mathSafe arithmetic using a procedural macro. Write normal math expressions with automatic overflow checks. No panics, no boilerplate.13,141MIT OR Apache-2.0
more-convert-deriveThis crate adds macros for various conversions.13,107MIT
drylib-procsRust macro-library for Don't Repeating Yourself12,960MIT OR Apache-2.0
more-convertThis crate adds macros for various conversions.12,811MIT
json_schema_test_suiteProcedural Macro Attribute to run all the test cases described in JSON-Schema-Test-Suite12,727MIT
mem_viewerMemory Viewer is a Rust library that provides a macro and display the memory content of various types of variables. It allows…12,561MIT
gratte_macrosHelpful macros for working with enums and strings; forked from strum12,305MIT
quote-doctestA simple doctest generator for quote12,062MIT OR Apache-2.0
laps_macrosMacros for crate `laps`.11,723MIT OR Apache-2.0
syncaWrite asynchronous code, and synca will create a synchronous version.11,690MIT OR Apache-2.0
e-macrosRust macros to simplify and accelerate enum handling: effortless conversion, fast indexing, and painless serialization11,227non-standard
flexi_funca Rust crate designed to supercharge your Rust programming experience with two powerful macros: ff (Flexi Func) and fb (Flexi…11,099MIT
default2Default implementation using macros11,084MIT OR Apache-2.0
horfimbor-eventsource-derivederive macro for horfimbor-eventsource11,060non-standard
syn-nextParser for Rust source code10,828MIT OR Apache-2.0
attributionA declarative custom attribute parsing framework10,809MIT
bevy-contrib-inspectorstarts a webserver for visually editing bevy resources10,791MIT
countrooCountroo is a tool to give basic code analysis inside your rust projects, it supports line counting, module counting, dependency…10,712non-standard
crown-deriveA cryptographic library.10,669Apache-2.0
gratteHelpful macros for working with enums and strings; forked from strum10,613MIT
attribution-macrosThe macros used by the attribution crate10,428MIT
extendable-data-helpersProc macros for the extendable-data package because cargo makes things difficult.10,332MIT
reinhardt-manoucheDSL definitions for reinhardt-pages macro (Manouche Jazz DSL)10,265BSD-3-Clause
getset2Getset2 is a derive macro, which is inspired by getset,
is designed for generating the most basic getters and setters on struct…10,251MIT
proclet-utilsUtilities for proclet10,242MIT OR Apache-2.0 OR Zlib
tree-sitter-parsersPreinstallation of tree-sitter parsers of multiple languages for Rust projects10,169Apache-2.0 OR MIT
irox-derive-helpersHelper traits & functions for the proc_macro crate to aid in writing less complex derive macros.10,166MIT OR Apache-2.0
optional-errorSimple crate to more easily work with an optional syn::Error10,056MIT OR Apache-2.0
token_stream2A better TokenStream for procedural macros.9,958Apache-2.0
proc-macro-faithful-displayA Display implementation for proc-macro types more faithful to the input stream.9,738BSD-3-Clause
allure-macrosProcedural macros for Allure test reporting9,701MIT OR Apache-2.0
include-crypt-bytesRust macro to embed encrypted files in compiled binary9,588MIT OR Apache-2.0
function-wrapperRust attribute macro library that makes it easy to wrap functions in code that runs before and / or after a function executes.9,569MIT OR Apache-2.0 OR GPL-3.0-or-later
adk-rust-macrosProc macros for ADK-Rust — #[tool] attribute for zero-boilerplate tool registration9,566Apache-2.0
extendable-dataA set of rust macros that allows you to specify data that can be "extended" or inherited from.9,421MIT
oxifft-codegen-implInternal codelet generation logic for OxiFFT (not a proc-macro; used by oxifft-codegen and benchmarks)9,061Apache-2.0
include_uriProc-macro to include URI as literals at build time8,950WTFPL
bytify-implInternal implementation of the bytify crate.8,898MIT
cargo-wattgenerate watt versions of procedural macro crates8,863MIT
mobench-macrosProcedural macros for mobench benchmarks with setup, teardown, and per-iteration support8,777MIT
proc_strarrayCreate const u8 array from str or byte str literal8,742MIT OR Apache-2.0
fast_clap_deriveParse command line argument by defining a struct, derive crate.8,707MIT OR Apache-2.0
appcui_proc_macroProcedural macros for the AppCUI TUI framework.8,649MIT
eosio_macros_internalInternal use only.8,645MIT OR Apache-2.0
hadris-macrosProc macros for dual sync/async code generation in Hadris8,599MIT
fieldx_plus_macrosHeler macros for fieldx_plus crate8,554non-standard
syn-impersonatedParser for Rust source code8,549MIT OR Apache-2.0
new-derive`New` derive macro8,546MIT
mock-synMock / wrap syn structs and enums overiding specific fields8,533MIT
include-crypt-bytes-cipherRust macro to embed encrypted files in compiled binary8,431MIT OR Apache-2.0
scout-utilsMacro utilities for the Scout project.8,428MIT
bytemeConverts a struct into Vec<u8> and back. The conversion is Big Endian by default.8,298Apache-2.0
fieldx_plusDesign patterns built on top of fieldx crate8,247non-standard
vodcaReduce boilerplate when writing DDD codes8,225MIT
cvars-consoleIn-game console using the cvars crate for configuration - internal crate, use cvars-console-fyrox or cvars-console-macroquad in…8,177AGPL-3.0-or-later
quote-impersonatedQuasi-quoting macro quote!(...)8,168MIT OR Apache-2.0
bae2A Rust proc-macro attribute parser8,160MIT
cvars-console-fyroxIn-game console for the Fyrox game engine, using the cvars crate for configuration8,149AGPL-3.0-or-later
contracts-tryDesign-by-contract attributes8,146MPL-2.0
nameless-clap_deriveParse command line argument by defining a struct, derive crate.8,044MIT OR Apache-2.0
numbat-wasm-deriveNumbat WebAssembly smart contract API procedural macros7,961GPL-3.0-only
js-macrosQuickly prototype procedural macros using JavaScript or TypeScript!7,940MIT OR Apache-2.0
sleuth-mutatorA single `proc_macro_attribute` used in the `sleuth` crate.7,912Zlib
lambda-appsync-procProcedural macros for the lambda-appsync type-safe AWS AppSync resolver framework7,802MIT
fully_pubMacro that makes multiple items or fields public at once7,642MIT OR Apache-2.0
clientix-coreLibrary for building HTTP clients and requests declaratively with procedural macros - no need to write complex imperative or…7,608MIT OR Apache-2.0
lambda-appsyncA type-safe framework for AWS AppSync Direct Lambda resolvers7,562MIT
klever-sc-deriveKlever smart contract API procedural macros7,558GPL-3.0-only
axvisor_api_procProcedural macros for the `axvisor_api` crate7,531Apache-2.0
instance_codeTurn instances into source code7,454MIT
trakt-macrosProcedural macros for the trakt-rs crate7,373MIT
product-os-store-macrosProduct OS : Store Macros provides a highly flexible higher order framework for defining SQL queries by using Rust directly. …7,329GPL-3.0-only
pisserror_macrosThe internal implemenation of `pisserror`.7,315MIT
doc_constsget doc comments on fields as runtime constants7,156MIT OR Apache-2.0
stringz-macrosProcedural macros implementation of stringz7,153MIT OR Apache-2.0
clientix-codegenLibrary for building HTTP clients and requests declaratively with procedural macros - no need to write complex imperative or…7,137MIT OR Apache-2.0
quote-nextQuasi-quoting macro quote!(...)7,109MIT OR Apache-2.0
strunemixStrunemix allows to build a struct with a form of its fields, by deriving enums of them6,936MIT
pipex-macrosProcedural macros for the pipex crate - error handling strategies and pipeline decorators6,907MIT
clientixLibrary for building HTTP clients and requests declaratively with procedural macros - no need to write complex imperative or…6,897MIT OR Apache-2.0
decoratorsA macro for generating decorator methods6,857MIT OR Apache-2.0
cf-modkit-errors-macroModKit errors macro6,795Apache-2.0
proc-debug-macroDump proc-macro output for efficient debugging6,735MIT
include-crypt-bytes-macroProc macro crate for include-crypt-bytes6,620MIT OR Apache-2.0
cvars-console-macroquadIn-game console for the macroquad game engine, using the cvars crate for configuration6,610AGPL-3.0-or-later
moosicbox_async_serviceMoosicBox async service package6,582MPL-2.0
proc-debugDump proc-macro output for efficient debugging6,506MIT
procletProc macros made easy6,481MIT OR Apache-2.0 OR Zlib
delve-deriveProvides a number of macros that make working with enums and strings more convenient.6,440MIT
syn_queryimplement Trait Syn::Visit6,389GPL-3.0
type-leakEnable sharing type context beyond crate boundary6,363MIT
TCFSMFTTTCSUnsafe, yet fast finite state machine for counting :ty TokenTree clusters in any :ty TokenTree cluster sequence. It works for…6,318MIT
attr-parser-fnparse attribute procedual macros in functional way6,286MIT
rstructor_deriveDerive macros for rstructor: generate JSON Schema from Rust structs and enums to extract structured, validated outputs from LLMs…6,258MIT
leftwm-macrosA window manager for Adventurers6,252MIT
fastapi-macrosProcedural macros for fastapi_rust6,194MIT OR Apache-2.0
absolution'Freedom from `syn`'. A lightweight Rust lexer designed for use in bang-style proc macros.6,191MIT/Apache-2.0
fieldx_coreVarious types and tools useful implementing fieldx_derive core functionality. May provide useful APIs for 3rd-party crates.6,081non-standard
rep_deriveA small tool for representation/class invariants6,070MIT
machine_uuidA library to retrieve a machines UUID6,061MIT OR Apache-2.0
cf-modkit-db-macrosProc-macro derives for modkit-db secure ORM layer6,036Apache-2.0
utoipa_auto_discoveryRust Macros to automate the addition of Paths/Schemas to Utoipa crate, simulating Reflection during the compilation phase6,035MIT OR Apache-2.0
icarus-deriveProcedural macros for the Icarus SDK - enables automatic MCP tool metadata generation5,916non-standard
delveProvides a number of macros that make working with enums and strings more convenient.5,891MIT
xmacro_libmacro engine for producing multiple expansions5,878MIT OR Apache-2.0
synextA simple extension library for syn crate to help developers quickly develop derive macros5,864Apache-2.0
flat_message_proc_macroProcedural macros for the FlatMessage serialization library.5,823MIT
oxapiGenerate type-safe Rust server stubs from OpenAPI specs5,817LGPL-3.0
srcposStructure of the location in the source code5,742MIT
drt-sc-deriveDharitri smart contract API procedural macros5,706GPL-3.0-only
syn-file-expand-cliCLI tool to read full source code of multi-file crates and output it to stdout5,682MIT/Apache-2.0
macrotk-coremacrotk core types and functions.5,643Unlicense
xmacrorust macro producing multiple expansions5,629MIT OR Apache-2.0
cf-modkit-macrosModKit macros5,614Apache-2.0
quote-aliasA helper macro for easily reusing static token streams5,460MIT OR Apache-2.0
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.0
harness-macrosProcedural macros for the harness crate5,335MIT
hashfnA procedural macro to generate a hash representation of a function as a string slice5,277MIT OR Apache-2.0
token_stream_flattenFlattening iterator adaptor for token streams5,192MIT
serde_literalsSupport for serialising and deserialising literals directly into enum unit variants5,176MIT OR Apache-2.0
ax-crate-interfaceProvides a way to define an interface (trait) in a crate, but can implement or use it in any crate.5,123Apache-2.0
doc_consts_deriveget doc comments on fields as runtime constants5,117MIT OR Apache-2.0
nami-deriveDerive macros for the nami reactive framework5,075MIT
macrotk-derivemacrotk core derive macros.5,052Unlicense
efbuilderA procedural macro for generating efficient builders.5,046MIT
loessSmall proc macro grammar- and parser-generator providing great UX.5,044MIT OR Apache-2.0
webrust-macrosProcedural macros for webrust - Ultra-optimized5,030MIT
epics_gen_macrosHelpful macros for deserializing xlsx tables and serializing them as EPICS PVs5,025MIT
rfs_test_macroThis package provides macro to simplify usage of rfs_tester crate.5,020MIT OR Apache-2.0
multiversedAttribute macros wrapping multiversion with predefined SIMD target presets4,997MIT OR Apache-2.0
docify_cloneDocify allows you to live-embed at compile time pieces of code from throughout your project as rust doc examples.4,981MIT
simple-rsx-macrosProcedural macros for simple-rsx, providing JSX-like syntax for Rust4,965MIT
combine-structsProc macros for compile-time struct field merging.4,965Apache-2.0
repA small tool for representation/class invariants4,948MIT
teletyAccess type information across crates and modules in your proc macros4,798MIT OR Apache-2.0
ab-code-genFunctions to generate boilerplate code for objects implementing the 'Actor' pattern. Used by the abcgen crate.4,790MIT OR Apache-2.0
epics_genHelpful macros for deserializing xlsx tables and serializing them as EPICS PVs4,772MIT
macro-rules-rtTransforms text or TokenStream using Rust's macro_rules syntax.4,725MIT OR Apache-2.0
structz-macrosProcedural macros implementation of structz4,616MIT OR Apache-2.0
optative-deriveProcedural macros for the optative reconciler library: #[lifecycle_trace] and #[derive(Ephemeral)].4,552MIT OR Apache-2.0
doc_for_deriveDerive macro for `doc_for` crate.4,464GPL-3.0-or-later
flickr_deriveMacros needed by Flickr-Rust API binding4,463Apache-2.0
count-tysFunction-like procedural macro that accepts a comma-delimited :ty TokenTree sequence and returns their count as a constant usize4,406MIT
allframe-macrosProcedural macros for AllFrame framework4,406MIT OR Apache-2.0
instance_code_deriveDerive macro for instance_code4,403MIT
sugars_macrosProcedural macros for array tuple syntax and builder patterns4,362MIT OR Apache-2.0
derive-maskedAdds #[derive(x)] macros for implementing the Debug and Display traits masking out sensitive fields4,347MIT OR Apache-2.0
complex-enum-macrosConvert enums with non-unit variants to privitives and back4,337MIT OR Apache-2.0
doc_for📖 Get the documentation comment for structs, enums and unions, in a zero-cost fashion.4,270GPL-3.0-or-later
pmhelpA WIP library to assist in the creation of procedural macros.4,264MIT
struct_auto_fromSimple Rust library for auto generating conversion methods between structs.4,257MIT OR Apache-2.0
macrotkThe Rust macro toolkit.4,252Unlicense
victauri-macrosProc macros for Victauri — auto-instrumentation of Tauri commands4,204Apache-2.0
diesel_sqltype_enum_pgDiesel automatic derivation of `FromSql` and `ToSql` for enums with `SqlType` generated by `diesel` and taking `ToString` and…4,168MIT
macrorsA simple custom macro library in Rust.4,163Apache-2.0
adv_linalg_proc_macroProcedral macros for usage within Adv_LinAlg_Lib4,161MIT OR Apache-2.0
croc-looka tool to expand macros and watch them in real time4,090MIT
decay_typeMacro for decaying Rust types to their simplest value type form4,078MIT
mock-syn-commonCommon types for mock-syn: Mock / wrap syn structs and enums overiding specific fields4,053MIT
crabbakeTrait that lets structs represent themselves as (const) Rust expressions4,038non-standard
cf-gears-toolkit-canonical-errors-macroToolKit canonical errors proc-macro4,033Apache-2.0
verilated-moduleA procedural macro for replacing verilated marked up structs with include of generated code.4,018MIT/Apache-2.0
fused_errorA simple library for working with composable errors.4,007MIT OR Apache-2.0
drylib-proc-macrosRust macro-library for Don't Repeating Yourself3,998MIT OR Apache-2.0
decolorAsynchronous runtime abstractions for implicit function decoloring.3,977MIT
procmacro2A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use…3,962MIT OR Apache-2.0
derive_base_messageA procedural macro for generating base message structures.3,958Apache-2.0
qrcliA QRCode cli tools, can encode and decode3,927MIT
ax-percpuDefine and access per-CPU data structures3,914Apache-2.0
zyc_getset当前 `crate`是对'getset' 的扩展。
主要添加了 `get_clone`来返回字段的克隆对象,
当为基础类型时 `get` 自动转为 `get_copy` ,
当字段有自定义注解时,自动对 struct 的注解进行 `skip`…3,891MIT
inline-procInline procedural macros3,833MIT OR Apache-2.0
ax-percpu-macrosMacros to define and access a per-CPU data structure3,792Apache-2.0
dyloGenerate dyn-compatible traits with procedural macros3,763Apache-2.0 OR MIT
derive_more_previewAdds #[derive(x)] macros for more traits3,722MIT
ignorableStandard library derives that can ignore individual fields3,720MIT OR Apache-2.0
formualizer-macrosProc macros for authoring Formualizer built-ins (caps, schemas, and validation)3,685MIT OR Apache-2.0
unrest_tmp_synomdon't use3,632MIT/Apache-2.0