fastrust 0.1.0

A lightweight API framework built on top of Axum, inspired by FastAPI
Documentation

fastrust

A FastAPI-inspired web framework for building APIs quickly in Rust.

⚠️ Work in Progress - This library is currently under active development.

Installation

cargo add fastrust

Features

  • FastAPI-inspired API design
  • Simple and intuitive router system
  • Built on top of axum
  • Async/await support

Quick Start

// main.rs
use fastrust::{APIApp, APIRouter};
use axum::extract::Path;

async fn root() -> &'static str {
    "Hello from fastrust!\n"
}

async fn hello(Path(name): Path<String>) -> String {
    format!("Hello {}\n", name)
}

#[tokio::main]
async fn main() {
    // Create a router with prefix /api
    let mut api = APIRouter::new("/api");
    api.get("/hello/{name}", hello);

    // Create another router with prefix /v1
    let mut v1 = APIRouter::new("/v1");
    v1.get("/", root);

    // Combine routers - endpoints become /v1/api/hello/{name}
    v1.include_router(&api);

    APIApp::new()
        .set_title("fastrust app")
        .set_host("0.0.0.0")
        .set_port(6969)
        .register_router(v1)
        .run().await;
}
$ cargo run
Registering paths:
	GET /v1
	GET /v1/api/hello/{name}
Server is listening on 0.0.0.0:6969

License

MIT