-
tracing
Application-level tracing for Rust
-
darling
A proc-macro library for reading attributes into structs when implementing custom derives
-
googletest
A rich assertion and matcher library inspired by GoogleTest for C++
-
utoipa
Compile time generated OpenAPI documentation for Rust
-
pollster
Synchronously block the thread until a future completes
-
async-trait
Type erasure for async trait methods
-
usdt
Cross-platform Userland Statically Defined Tracing probes
-
macro_magic
Allows the exporting and importing of the tokens of items across module, file, and crate boundaries
-
abi_stable
For doing Rust-to-Rust ffi,writing libraries loaded at program startup
-
orchestra
Generate an orchestra of subsystems from a single struct
-
struct-patch
that helps you implement partial updates for your structs
-
multiversion
Easy function multiversioning
-
attribute-derive
Clap like parsing for attributes in proc-macros
-
auto_enums
allow multiple return types by automatically generated enum
-
memoize
Attribute macro for auto-memoizing functions with somewhat-simple signatures
-
docify
allows you to live-embed at compile time pieces of code from throughout your project as rust doc examples
-
hotpath
async Rust profiler with memory and data-flow insights - quickly find and debug performance bottlenecks
-
parameterized
Procedural macro which brings a compact parameterized testing implementation to Rust (inspired by JUnit @ParameterizedTest)
-
comparable
comparing data structures in Rust, oriented toward testing
-
duplicate
macros for duplication of code with variable substitution
-
checkers
A sanity checker for global allocations
-
maybe-async
A procedure macro to unify SYNC and ASYNC implementation
-
venial
A very small syn
-
shopify_function
write Shopify Functions in Rust
-
sentry-tracing
Sentry integration for the tracing and tracing-subscriber crates
-
remain
Compile-time checks that an enum, struct, or match is written in sorted order
-
macro_tools
Tools for writing procedural macroses
-
static_init
Safe mutable static and non const static initialization, and code execution at program startup/exit
-
show-image
quickly show images in a window for debugging
-
documented
Derive and attribute macros for accessing your type's documentation at runtime
-
sqlxmq
A reliable job queue using PostgreSQL as a backing store
-
bitmask-enum
A bitmask enum attribute macro
-
protest
An ergonomic, powerful, and feature-rich property testing library with minimal boilerplate
-
easy-ext
A lightweight attribute macro for easily writing extension trait pattern
-
cargo-build-automata
Command line interface to build static regular grammars
-
qmetaobject
Expose rust object to Qt and QML
-
inherent
Make trait methods callable without the trait in scope
-
atmosphere
A lightweight SQL framework for sustainable database reliant systems
-
data_privacy
Data annotation and redaction system providing a robust way to manipulate sensitive information
-
mcp-attr
declaratively building Model Context Protocol servers
-
dtor
__attribute__((destructor)) for Rust
-
deluxe
Procedural macro attribute parser
-
include_proc_macro
A convenient macro for working with multiple procedural macros in one crate, and to import them from any arbitrary paths. Reduces boilerplate and repetition, and improves readability.
-
await-tree
Generate accurate and informative tree dumps of asynchronous tasks
-
pywatt_sdk
Standardized SDK for building PyWatt modules in Rust
-
rsactor
Efficient In-Process Actor Model Implementation for Rust
-
impl-trait-for-tuples
Attribute macro to implement a trait for tuples
-
readonly
Struct fields that are made read-only accessible to other modules
-
captains-log
A minimalist customizable logger for rust, based on the
logcrate, but also adapted totracing, for production and testing scenario -
hot-lib-reloader
reload libraries on change. For faster feedback cycles.
-
toml-example
A lib help generate toml example
-
lucene_query_builder
A procmacro derive crate to generate lucene query builder for Rust structs :
-
squeal
A SQL query builder library for Rust
-
rust_di
DI — Dependency Injection for Rust
-
sdl3-main
Tools for using SDL's main and callback APIs
-
no-panic
Attribute macro to require that the compiler prove a function can't ever panic
-
cast_trait_object
Cast between trait objects using only safe Rust
-
crabtime
A powerful yet easy-to-use Rust macro that generates code by evaluating inline Rust logic at compile time
-
mantra
mantraoffers a lightweight approach for requirement tracing and coverage -
tracelite
An alternative to the tracing crate which is specialized for OpenTelemetry traces
-
dimas
framework for Distributed Multi Agent Systems
-
generic-tests
Procedural macro to define tests and benchmarks generically
-
zlink
Async Varlink API
-
tarantool-test
CLI test framework for tarantool-based Rust applications
-
senax-encoder
A fast, compact, and schema-evolution-friendly binary serialization library for Rust
-
asynq
reliable & efficient distributed task queue in Rust, inspired by hibiken/asynq
-
preprocess
Preprocesses a struct with built-in preprocessors
-
ohno
High-quality Rust error handling
-
async-recursion
Recursion for async functions
-
maybe-async-cfg
A procedure macro to unify sync and async implementations depending on the features of your crate
-
regiface
ease development of interfacing with registers on embedded peripherals
-
hooks
Compile-time, async hooks
-
drizzle-sqlite
A type-safe SQL query builder for Rust
-
stability
Rust API stability attributes for the rest of us
-
const_struct
macro that allows const structures to be passed as const generics
-
tools-rs
Core functionality for the tools-rs tool collection system
-
bevy_auto_plugin
Procedural attribute macros for Bevy apps that reduce boilerplate by automatically registering components, resources, events, states, and systems in your plugin's build function
-
edfsm
Event Driven Finite State Machine library
-
kinetics
hosting platform for Rust applications that allows you to deploy all types of workloads by writing **only Rust code**
-
blanket
macro to derive blanket implementations for your traits
-
drop-with-owned-fields
Safe and sound owned access to a
struct’s fields inDrop: no moreunsafeusage ofManuallyDrop! -
zod-rs
TypeScript Zod-inspired schema validation library for Rust with static type inference
-
string_types
String newtypes
-
struct-to-json-db
minimalist file-based database designed for straightforward software applications. It leverages the Serde crate to seamlessly serialize and deserialize a HashMap of structured data to and from JSON files…
-
vespera
A fully automated OpenAPI engine for Axum with zero-config route and schema discovery
-
rudi-dev
Rudi - an out-of-the-box dependency injection framework for Rust
-
axum-codec
A multi-codec extractor and response writer for Axum
-
instability
Rust API stability attributes for the rest of us. A fork of the
stabilitycrate. -
function-timer
Macro that allow to time a function and emit a metric using metrics crate
-
may_rpc
RPC framework for Rust based on coroutine
-
easy-macros
Toolkit for building Rust procedural macros + generating debug info
-
warcrwlock
in Rust that provides an attribute macro for structs and traits. Rewrite code using under the hood asynchronous reference (Arc) and asynchronous writing and read(RWlock) control elements.
-
portrait
Fills an
implwith the associated items required by the trait -
simple_test_case
A bare bones attribute macro for writing parameterised tests
-
shakespeare
An actor framework
-
afast
high-performance async Rust web framework with HTTP, WS, TCP support, automatic client generation, validation, and documentation
-
rod_validation
A lightweight and ergonomic validation library for Rust
-
hooq
macro that inserts a method before
?. (?前にメソッドを挿入するシンプルなマクロ) -
spire_enum
Procedural macros to facilitate enum usage, such as when delegating implementations, extracting variant types, or creating enum tables
-
spring-web
Integration of rust application framework spring-rs and Axum web framework
-
rustpatcher
distributed patching system for single binary applications
-
enpow
Generating methods for user defined enums as known from Option<T> or Result<T, E>
-
triblespace
lightweight knowledge base for rust
-
trl
auto generation of some common methods based on Rust macros
-
maybe-fut
build totally interoperable async/sync Rust code
-
flyway-rbatis
Flyway-rs project, Database change control,similar to flyway in Java
-
forgeconf
Declarative configuration loader for Rust structs powered by attribute macros
-
impulse-server-kit
Highly configurable backend framework based on
salvo -
memmap3
Safe, zero-copy memory-mapped I/O. Drop-in replacement for memmap2 with persistent structs and zero unsafe in user code.
-
tide-disco
Discoverability for Tide
-
flyway
Flyway-rs project, Database change control,similar to flyway in Java
-
lockjaw
Compile time dependency injection framework inspired by dagger
-
configurable_serde
A proc-macro to apply reusable serde configurations
-
compose-idents
macro for generating new identifiers (names of variables, functions, traits, etc) by concatenating one or more arbitrary parts and applying other manipulations
-
std140
GLSL interface block memory, layed-out according to the std140 convention, represented as Rust structs
-
config-manager
build config from environment, command line and files
-
enum_ext
procedural macro that enhances enums with additional methods and conversions
-
cargo-macrofmt
Format Rust macro attributes across multiple lines
-
dioxus_style
Scoped CSS styling system for Dioxus components with compile-time processing
-
salvo-craft
Salvo Handler modular craft
-
allow
Alias/label lints (to disable) with your intentions. Reexported from allow_prefixed, grouped under rustc::, clippy:: and rustdoc:: modules.
-
aery
Non-fragmenting ZST relations for Bevy
-
pipeline-dsl
Pipeline DSL types and re-exports of #[pipeline]/#[stage]
-
impl-tools-lib
Helper macros: autoimpl
-
bloom-web
A lightweight backend framework combining Actix-Web, SQLx, and declarative macros for rapid API development
-
data-classes
Abbreviation of #[derive(xxx)]
-
zbus_macros
proc-macros for zbus
-
mutants
Decorator attributes to be used with cargo-mutants
-
doc_for
📖 Get the documentation comment for structs, enums and unions, in a zero-cost fashion
-
spandoc
Procedural macro attribute for converting doc comments into tracing spans
-
fray
A type-safe and ergonomic Rust library for working with bitfields
-
borrowme
The missing compound borrowing for Rust
-
savefile-abi
Easy to use, simple, stable ABI for Rust-libraries. Allows creating dynamically loadable plugins written in rust.
-
error_mancer
Quickly define custom error enums for a function
-
trait_mux
Proc macro library for generating enums that can multiplex different trait objects
-
flaky_test
atttribute macro for running a flaky test multiple times
-
michie
An attribute macro that adds memoization to a function (sounds like Mickey)
-
supergloo
rapid development of web applications in Rust and axum, with a focus on ease of use and flexibility through path based routes
-
forged-in-lost-lands
Forged in Lost Lands is a simple game engine built in Rust that focuses on data control and ease of use
-
dportable
Portable interface for various utilities
-
nounwind
A attribute macro to prevent panics from unwinding, similar to C++ noexcept
-
fncmd
Command line interface as a function
-
reductool
Allow Rust functions to be called by LLMs
-
axor
Core of the Axor framework: agent-based business logic with typed operations and injection
-
coinduction
Attribute macros for defining circular type references and recursive trait implementations in Rust
-
capnp_conv
capnp write/read traits to convert from structs to readers/builders
-
ndk-glue
Startup code for android binaries
-
argcall
Enables enums and structs to be callable by associating functions with their variants or fields
-
newer-type
Support defining newtype wrapper with inheriting trait implementations
-
function-wrapper
Rust attribute macro library that makes it easy to wrap functions in code that runs before and / or after a function executes
-
macro_rules_attr
Use declarative macros as proc_macro attributes. (
#[apply]yourmacro_rules!) -
tokio-test-lite
Lightweight #[test] attribute for async tokio tests without syn
-
macro_railroad_annotation
Easily embed macro_railroad images in your docs using this attribute macro!
-
assert_enum_variants
macro that asserts that all variants of an enum are as provided in the macro invocation
-
axum-folder-router
Helper macro for simple folder based routing of axum handlers
-
dyn-dyn
Flexible trait object downcasting using ptr_metadata
-
noexcept
Attribute macro equivalent to C++'s noexcept specifier
-
ensure_impl
Trait implementation assertion
-
feignhttp
Declarative HTTP client for rust
-
retry-if
A tokio-compatible attribute-macro for decorating methods and functions with an exponential backoff
-
platify
Streamline cross-platform Rust development with declarative attribute macros
-
dioxus-core-macro
Core macro for Dioxus Virtual DOM
-
wrap-match
A procedural macro to wrap a function in match statement to make error logging super easy
-
mantra-rust-macros
macros to create requirement traces and coverage logs for the
mantraframework -
displaystr
An attribute macro for ergonomically implementing the Display trait
-
pack_bools
Attribute macro to pack all boolean fields of a struct into a bitfield
-
nade
Adding named and default arguments to Rust functions
-
memoiz
attribute macro for automatic memoization (caching) of function results, optimizing recursive and repetitive computations with thread-safe lazy initialization
-
extruct
proc-macro library that provides tools for listing named struct fields and implementing conversion from a larger struct containing fields with same names
-
process-fun
process management and inter-process communication
-
ambit
Attribute macro for ranged number newtypes
-
rombok
boilerplate generation macros like lombok
-
subdef
Expressive attribute macro to define nested structures
-
context_attr
Attribute macro to add context to all errors a function produces
-
tested-fixture
Attribute macro for creating fixtures from tests
-
fn-error-context
An attribute macro to add context to errors from a function
-
doctored
Documentation utilities
-
wasmy
easily customize my wasm app!
-
roopert
object-oriented toolkit for Rust
-
prebindgen-proc-macro
Procedural macros for prebindgen - export FFI definitions for binding generation
-
test-with-tokio
attribute macro for tests using tokio with cases and async guards
-
smol-potat
Proc macro for smol runtime
-
vex-macros
Procedural macros for the VEX protocol
-
db-key-macro
Attribute macro to generate fixed-length key-value database keys
-
closure_attr
An attribute macro to simplify closure captures
-
rapid-rs-macros
Procedural macros for rapid-rs framework
-
backon-macros
Attribute macro helpers for the backon retry library
-
roopert_macro_common
object-oriented toolkit for Rust (common data)
-
warcmutex
in Rust that provides an attribute macro for mods, structs and impls. Rewrite code using under the hood asynchronous reference (Arc) and asynchronous mutation (Mutex) control elements.
-
workflow-macro-tools
Macro utility functions used by the
workflow-rsframework -
skip-if
Attribute macro to skip running a function that produces files
-
proptest-attr-macro
Procedural attribute macro for writing proptest tests
-
repeat_for
Like a for loop except that's valid at crate-level
-
lazy-attribute
convenient attribute macro for lazy function execution
-
newer-type-std
Support defining newtype wrapper with inheriting trait implementations
-
const_guards
An attribute macro for compile time constraints on const generics
-
arc_wrapper
A attribute macro to generate a wrapper for a struct
-
logcall
An attribute macro that logs the function return value
-
performance-mark-impl
performance_mark is an attribute macro that adds performance (time) logging to methods. This crate is implementation detail, you should depend on
performance-mark-attributeinstead. -
bitflags-attr-macros
Attribute macro implementation for bitflags-attr. Do not use directly, use the reexport in the
bitflagscrate. This allows for better compatibility across versions. -
performance-mark-attribute
performance_mark is an attribute macro that adds performance (time) logging to methods
-
axum_grants
A set of attribute macros for protecting Axum URI resources
-
tyenum
Attribute macro for type enums
-
multiplatform_test
attribute macro to combine
#[test]and#[wasm_bindgen_test] -
subset_eq
Procedural attribute macro to compare structs while ignoring specified fields while preserving full PartialEq
-
sif
Small but convenient parameterized testing attribute macro for Rust
-
axum_guard
A set of attribute macros for protecting Axum URI resources
-
clap-noun-verb-macros
Procedural macros for clap-noun-verb - attribute macros for zero-boilerplate CLI command registration
-
arpa-log
An attribute macro for logging function context with MDC
-
symm_impl
Attribute macro that automatically implements a symmetric trait
-
breaking-attr
An attribute macro that enforces per-version invariants on items
-
inertia-macros
attribute macros to assist with overloading operators for borrowed and owned data
-
opimps
attribute macros to assist with overloading operators for borrowed and owned data
-
hyperlane-macros
comprehensive collection of procedural macros for building HTTP servers with enhanced functionality. This crate provides attribute macros that simplify HTTP request handling, protocol validation…
-
avr-device-macros
Attribute macros for re-export in
avr-device -
namefn
Adds a macro to retrive the name of the current function
-
pyo3_macro
macro crate builds PyO3-compatible Rust
protobufandgRPCstructures. So you can easily expose your generated protobuf code as Pythin binding through PyO3. Features Macro… -
negate
Attribute macro that generates negated versions of functions that return booleans
-
shipyard_proc
providing attribute macro to Shipyard
-
janetrs_macros
Attribute macros for JanetRS
-
static_test
Attribute macro for writing tests which check that a given condition ALWAYS holds true or that a given code path is ALWAYS unreachable
-
attr-bounds
An attribute macro to apply bounds to items
-
stringify-attr
Attribute macros for stringifying
-
from-num
Attribute macro #[from_num(...)]
-
capnp_conv_macros
attribute macros that implement capnp read/write traits
-
syn_squash
Proc attribute macro helper to capture many Syn types and define shared behaviour
-
serde-prefix-all
Attribute macro to add a prefix to all struct fields & enum variants
-
vmprotect-macros
Attribute macro for vmprotect
-
per_test_directory
fixture/attribute macro to create one directory per test run
-
route_controller
An attribute macro enabling a structured approach to defining routes and attaching middleware for axum servers
-
derive2
An attribute macro that executes a function-like macro
-
proc-macro-error-attr2
Attribute macro for the proc-macro-error2 crate
-
fixed-size
Attribute macro to replace variable length types with fixed length types in struct definitions. Useful for overriding String when using prost.
-
logfn
attribute macro for inserting logging code into your function
-
documented-macros
Derive and attribute macros for
documented -
reprfn
attribute macro for easyer define external functions
-
wrap_into
Attribute macro to optimize the use of Into trait on function args
-
serde-versions-derive
An attribute macro for adding a version byte when serializing a struct via Serde. Also allows deseraializing while removing version byte.
-
exposed-macro
Contains macros required by "exposed"
Try searching with DuckDuckGo or on crates.io.