tokio-rs/axum

HTTP routing and request-handling library for Rust that focuses on ergonomics and modularity

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 18 minutes ago
Type:Library / SDKCategory(s):Backend FrameworksWeb Development
Added to GitGenius on June 21st, 2026
Created on May 30th, 2021
Open Issues & Pull Requests: 75 (+0)
GitHub issues: Enabled
Number of forks: 1,485
Total Stargazers: 27,185 (+1)
Total Subscribers: 150 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.2 hours
Mean response time: 23.4 days
90th percentile: 37.4 days
Tracked items: 242

How this project is maintained

About 4% of issues opened in the past year have never received a reply. 83% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "C-feature-request" is answered fastest, typically in about 2 hours, while "E-medium" waits about 2 days. 86% of issues opened in the past year have been closed, leaving a working backlog. Three people close 76% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 29
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 633 days
Stale 30+ days: 23
Stale 90+ days: 19

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 1
Events in 7 days: 2

Top labels

  • A-axum (34)
  • C-feature-request (20)
  • A-axum-extra (16)
  • C-bug (12)
  • E-medium (10)
  • E-help-wanted (9)
  • S-blocked (9)
  • A-axum-core (8)

Detailed Description

Axum is an HTTP routing and request-handling library for Rust that prioritizes ergonomics and modularity. The library enables developers to build web applications with a macro-free API for routing requests to handlers, declarative request parsing through extractors, and straightforward error handling. Response generation is designed to require minimal boilerplate code.

A defining characteristic of axum is its integration with the tower ecosystem. Rather than implementing its own middleware system, axum leverages tower::Service, which provides access to a broad range of middleware, services, and utilities including timeouts, tracing, compression, and authorization. This design choice allows middleware to be shared across applications built with hyper or tonic, creating interoperability across different Rust web frameworks.

The library is built as a relatively thin layer on top of hyper, adding minimal overhead to request handling. Performance benchmarks show that axum's performance is comparable to hyper itself, with results available in external benchmark repositories. The codebase maintains a commitment to safety by using forbid(unsafe_code), ensuring all implementations are written in 100% safe Rust.

The project is currently in active development toward version 0.9, with the main branch containing breaking changes. The stable 0.8.x branch is available for users seeking a released version on crates.io. The minimum supported Rust version is 1.80. The repository includes an examples directory with multiple projects demonstrating axum usage patterns, and comprehensive documentation with code snippets. Community support is available through a Discord channel and discussion forums for users seeking assistance.

Axum is licensed under the MIT license, with contributions accepted under the same terms. The project maintains a contributing guide to facilitate community involvement in its development.