Skip to content

szabgab/awesome-axum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

18 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Awesome axum

axum is an HTTP routing and request-handling library written in Rust that focuses on ergonomics and modularity. repository

This page contains a list of axum-related crates, project showcases, tutorials, videos, and other assorted items.

It started as a copy of the ECOSYSTEM.md file of the repository of axum when it was removed. After a brief maintenance as part of the ๐Ÿ“– Code Maven axum book it was moved to the ๐ŸŽ‰ awesome axum repository.

Contribution

If your project isn't listed here and you would like it to be, please feel free to create a PR.

If you find a broken link or incorrect information, please feel free to open an issue or create a PR.

Disclaimer

I have not checked these projects and I don't necessarily recommend them. Use them at your own discretion.

๐Ÿ“ฆ Community maintained axum ecosystem

  • axum-server: axum-server is a hyper server implementation designed to be used with axum.
  • axum-typed-websockets: axum::extract::ws with type safe messages.
  • tower-cookies: Cookie manager middleware
  • axum-flash: One-time notifications (aka flash messages) for axum.
  • axum-msgpack: MessagePack Extractors for axum.
  • axum-sqlx-tx: Request-bound SQLx transactions with automatic commit/rollback based on response.
  • aliri_axum and aliri_tower: JWT validation middleware and OAuth2 scopes enforcing extractors.
  • ezsockets: Easy to use WebSocket library that integrates with axum.
  • axum_session: Database persistent sessions like pythons flask_sessionstore for axum.
  • axum_session_auth: Persistent session based user login with rights management for axum.
  • axum-auth: High-level http auth extractors for axum.
  • axum-keycloak-auth: Protect axum routes with a JWT emitted by Keycloak.
  • axum-tungstenite: WebSocket connections for axum directly using tungstenite
  • axum-jrpc: Json-rpc extractor for axum
  • axum-tracing-opentelemetry: Middlewares and tools to integrate axum + tracing + opentelemetry
  • svelte-axum-project: Template and example for Svelte frontend app with axum as backend
  • axum-streams: Streaming HTTP body with different formats: JSON, CSV, Protobuf.
  • axum-template: Layers, extractors and template engine wrappers for axum based Web MVC applications
  • axum-template: GraphQL and REST API, SurrealDb, JWT auth, direct error handling, request logs
  • axum-casbin-auth: Casbin access control middleware for axum
  • aide: Code-first Open API documentation generator with axum integration.
  • axum-typed-routing: Statically typed routing macros with OpenAPI generation using aide.
  • rovo: Doc-comment-driven OpenAPI documentation generation for Axum web applications, built on top of aide.
  • axum-jsonschema: A Json<T> extractor that does JSON schema validation of requests.
  • axum-login: Session-based user authentication for axum.
  • axum-gate: JWT-based authentication and role-based authorization for axum (Cookie and Bearer, for monolithic and distributed applications).
  • axum-csrf-sync-pattern: A middleware implementing CSRF STP for AJAX backends and API endpoints.
  • axum-otel-metrics: A axum OpenTelemetry Metrics middleware with prometheus exporter supported.
  • tower-otel: OpenTelemetry layer for HTTP/gRPC services with optional axum integration.
  • jwt-authorizer: JWT authorization layer for axum (oidc discovery, validation options, claims extraction, etc.)
  • axum-typed-multipart: Type safe wrapper for axum::extract::Multipart.
  • tower-governor: A Tower service and layer that provides a rate-limiting backend by governor
  • axum-restful: A restful framework based on axum and sea-orm, inspired by django-rest-framework.
  • springtime-web-axum: A web framework built on Springtime and axum, leveraging dependency injection for easy app development.
  • rust-axum-with-google-oauth: website template for Google OAuth authentication on axum, using SQLite with SQLx or MongoDB and MiniJinja.
  • axum-htmx: Htmx extractors and request guards for axum.
  • axum-prometheus: A middleware library to collect HTTP metrics for axum applications, compatible with all metrics.rs exporters.
  • axum-valid: Extractors for data validation using validator, garde, and validify.
  • tower-sessions: Sessions as a tower and axum middleware.
  • socketioxide: An easy to use socket.io server implementation working as a tower layer/service.
  • axum-serde: Provides multiple serde-based extractors / responses, also offers a macro to easily customize serde-based extractors / responses.
  • loco.rs: A full stack Web and API productivity framework similar to Rails, based on axum.
  • axum-test: High level library for writing Cargo tests that run against axum.
  • axum-messages: One-time notification messages for axum.
  • spring-rs: spring-rs is a microservice framework written in rust inspired by java's spring-boot, based on axum
  • zino: Zino is a next-generation framework for composable applications which provides full integrations with axum.
  • axum-rails-cookie: Extract rails session cookies in axum based apps.
  • axum-ws-broadcaster: A broadcasting liblary for both axum-typed-websockets and axum::extract::ws.
  • axum-negotiate-layer: Middleware/Layer for Kerberos/NTLM "Negotiate" authentication.
  • tower_allowed_hosts: Allowed hosts middleware which limits request from only allowed hosts.
  • baxe: Simple macro for defining backend errors once and automatically generate standardized JSON error responses, saving time and reducing complexity
  • axum-html-minifier: This middleware minify the html body content of a axum response.
  • static-serve: A helper macro for compressing and embedding static assets in an axum webserver.
  • datastar: Rust implementation of the Datastar SDK specification with Axum support
  • axum-governor: An independent Axum middleware for rate limiting, powered by lazy-limit (not related to tower-governor).
  • axum-conditional-requests: A library for handling client-side caching HTTP headers
  • sigterm: Signal-aware async control and cancellation primitives for Tokio.
  • tower-resilience: Resilience middleware for tower: circuit breaker, bulkhead, retry, rate limiter, and more.
  • AxumKit: Production-ready Rust web backend template with authentication, sea-orm (Postgres), SMTP email, Rate limiting with Redis, and deployment.
  • api-error: A proc macro to define HTTP errors in a thiserror way. It automatically implements IntoResponse for your error types. Allowing you to directly return Result<(), MyError from your axum handlers.
  • axum-helmet: A security middleware library for popular Rust web frameworks, with first-class axum support. (Add on 2026.04.27)
  • Feature Flag Service: A production-ready feature flag management service built with Rust, Axum, and PostgreSQL. (Addedon 2026.04.27)
  • seamjs: Compile-time rendering framework where UI Stack (e.g. React...) pages are pre-rendered at build time and Axum serves them via Rust-native HTML slot injection (~1ms/page), with typed RPC procedures codegen'd from a shared manifest. (Added on 2026.04.27)

๐Ÿ–ผ๏ธ Projects with live deployed service

Probably the best way to learn how to use axum is by looking at projects that are providing service.

๐Ÿ–ผ๏ธ Project showcase (axum 0.8.x)

  • webshelf: ๐Ÿค˜ A convenient way to develop your web service with one click. (axum 0.8.8)
  • ROAPI: Create full-fledged APIs for static datasets without writing a single line of code. (axum 0.8)
  • turbo.fish (repository): Find out for yourself ๐Ÿ˜‰ (archived; axum 0.8.1)
  • RUSTfulapi: Reusable template for building REST Web Services in Rust. Uses axum and SeaORM. (axum 0.8.1)
  • CLOMonitor (repository): Checks open source projects repositories to verify they meet certain best practices. (axum 0.8.8)
  • wastebin: A minimalist pastebin service. (axum 0.8)
  • axum_admin: An admin panel built with axum, Sea-orm and Vue 3. (axum 0.8.8)
  • rgit: A blazingly fast Git repository browser, compatible with- and heavily inspired by cgit. (axum 0.8)
  • gitore: A fork of rgit. (axum 0.8)
  • lishuuro.org: Small chess variant server that uses axum for the backend. (axum 0.8.3)
  • freedit: A forum powered by rust. (axum 0.8.7)
  • Pods-Blitz Self-hosted podcast publisher. Uses the crates axum-login, password-auth, sqlx and handlebars (for HTML templates). source code (axum 0.8.3)
  • ReductStore: A time series database for storing and managing large amounts of blob data. (axum 0.8.7)
  • fx: A (micro)blogging server that you can self-host. (axum 0.8)
  • clean_axum_demo: A modern, clean-architecture Rust API server template built with Axum and SQLx. It incorporates domain-driven design, repository patterns, JWT authentication, file uploads, Swagger documentation, OpenTelemetry. (axum 0.8.3)
  • qiluo-admin | Axum + SeaORM + JWT + Scheduled + Tasks + SnowId + Redis + Memory + VUE3 | DB: MySQL, Postgres, SQLite. (axum 0.8.9)
  • axum-rest-api-example: REST API Web service in Rust using axum, JSON Web Tokens (JWT), SQLx, PostgreSQL, Redis, Docker, structured error handling, and end-to-end API tests. (axum 0.8)
  • tower-mcp: Tower-native Model Context Protocol (MCP) implementation. (axum 0.8)
  • xidl: Using axum just like tonic, declare IDL, then generate server, client and OpenAPI. (axum 0.8; added on 2026.04.27)
  • KeyCompute: KeyCompute is a high-performance, scalable, and ready-to-use AI computing power service platform. (axum 0.8; added on 2026.04.27)
  • remotehiro is a job board with performance, accessibility, and focus in mind. GitHub (axum 0.8; added on 2026.05.02)

๐Ÿ–ผ๏ธ Project showcase (old)

  • HomeDisk: โ˜๏ธ Fast, lightweight and Open Source local cloud for your data. (archived; axum 0.6)
  • Houseflow: House automation platform written in Rust. (axum 0.5.1)
  • JWT Auth: JWT auth service for educational purposes. (axum 0.4)
  • notify.run: HTTP-to-WebPush relay for sending desktop/mobile notifications to yourself, written in Rust. (axum 0.3)
  • Book Management: CRUD system of book-management with ORM and JWT for educational purposes. (axum 0.7)
  • realworld-axum-sqlx: A Rust implementation of the Realworld demo app spec using axum and SQLx. (axum 0.3.4) See fork with newer dependencies. (axum 0.7.3)
  • Rustapi: RESTful API template using MongoDB. (axum 0.7.5)
  • axum-postgres-template: Production-ready axum + PostgreSQL application template. (axum 0.7.6)
  • Jotsy: Self-hosted notes app powered by Skytable, axum and Tokio. (axum 0.5.17)
  • Svix (repository): Enterprise-ready webhook service. (axum 0.7.9)
  • emojied: Shorten URLs to emojis! (axum 0.6)
  • Pinging.net (repository): A new way to check and monitor your internet connection. (axum 0.7)
  • sandbox_axum_observability A Sandbox/showcase project to experiment axum and observability (tracing, opentelemetry, jaeger, grafana tempo,...) (axum 0.6)
  • Petclinic: A port of Spring Framework's Petclinic showcase project to axum. (axum 0.5.13)
  • axum-middleware-example: A authorization application using axum, Casbin and Diesel, with JWT support. (axum 0.5.13)
  • circleci-hook: Translate CircleCI WebHooks to OpenTelemetry traces to improve your test insights. Add detail with otel-cli to capture individual commands. Use the TRACEPARENT integration to add details from your tests. (axum 0.6.0)
  • axum-http-auth-example: axum http auth example using postgres and redis. (axum 0.6.0)
  • Deaftone: Lightweight music server. With a clean and simple API. (axum 0.7.3)
  • dropit: Temporary file hosting. (axum 0.5.13)
  • cobrust: Multiplayer web based snake game. (axum 0.6.1)
  • meta-cross: Tweaked version of Tic-Tac-Toe. (axum 0.6.7)
  • httq HTTP to MQTT trivial proxy. (axum 0.6.15)
  • randoku: A tiny web service which generates random numbers and shuffles lists randomly. (axum 0.7)
  • sero: Host static sites with custom subdomains as surge.sh does. But with full control and cool new features. (axum, sea-orm, postgresql). (axum 0.7.4)
  • Hatsu: ๐Ÿฉต Self-hosted & Fully-automated ActivityPub Bridge for Static Sites. (axum 0.7)
  • Mini RPS: Mini reverse proxy server, HTTPS, CORS, static file hosting and template engine (minijinja). (axum 0.7.7)
  • openapi-rs | This project adds a middleware layer to axum using openapi-rs, enabling automatic request validation and processing based on OpenAPI 3.1 specifications. It helps ensure that the server behavior strictly follows the OpenAPI contract. (axum 0.7)

๐Ÿ“– Tutorials

๐Ÿ“บ Videos

About

Tutorials, showcases and extensions for the axum web site building crate written in Rust

Topics

Resources

Stars

Watchers

Forks

Contributors