| Crates.io | rukit |
| lib.rs | rukit |
| version | 0.0.1 |
| created_at | 2025-07-28 03:32:37.19232+00 |
| updated_at | 2025-07-28 03:32:37.19232+00 |
| description | Rukit: A blazing-fast, async-first HTTP framework built with Rust and powered by Tokio. |
| homepage | https://github.com/rustkit/rukit |
| repository | https://github.com/rustkit/rukit |
| max_upload_size | |
| id | 1770627 |
| size | 7,131 |
Rukit is a blazing-fast, async-first HTTP framework built with Rust, powered by Tokio, and designed for building secure, scalable, enterprise-grade web services.
tokio for maximum concurrencyRoust is designed as a modular, extensible framework. Each core component is separated into its own module, making it easy to customize, replace, or extend functionality.
| Module | Description |
|---|---|
router |
Type-safe, composable routing with support for nesting and guards |
server |
Async server with graceful shutdown, TLS, and listener configuration |
handler |
Lifecycle handlers, extractors, and request parsing |
middleware |
Composable middleware: logging, auth, CORS, etc. |
response |
Response builders and utilities: JSON, HTML, status codes |
error |
Unified error handling and custom error types |
ext |
Shared state and request extensions (AppContext, RequestExt) |
| Add-on Crate | Description |
|---|---|
roust-openapi |
Auto-generated OpenAPI docs with Swagger UI support |
roust-auth |
Built-in JWT/session-based authentication |
roust-metrics |
Prometheus and OpenTelemetry instrumentation |
roust-static |
Static file serving with ETag and cache control |
cargo add rukit
Then:
use rukit::{router, serve};
#[tokio::main]
async fn main() {
let app = router().get("/", || async { "Hello from Rukit!" });
serve(app).await.unwrap();
}
This project is dual-licensed under either: