# viz **Repository Path**: rustcl/viz ## Basic Information - **Project Name**: viz - **Description**: Fast, flexible, lightweight web framework for Rust - **Primary Language**: Rust - **License**: Apache-2.0 - **Default Branch**: 0.4.x - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-20 - **Last Updated**: 2024-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Viz

Fast, robust, flexible, lightweight web framework for Rust

Safety! Docs.rs docs Crates.io version Download Discord
## Features - **Safety** `#![forbid(unsafe_code)]` - Lightweight - Robust `Routing` - Handy `Extractors` - Simple + Flexible `Handler` & `Middleware` ## Hello Viz ```rust use std::net::SocketAddr; use viz::{Request, Result, Router, Server, ServiceMaker}; async fn index(_: Request) -> Result<&'static str> { Ok("Hello Viz") } #[tokio::main] async fn main() -> Result<()> { let addr = SocketAddr::from(([127, 0, 0, 1], 3000)); println!("listening on {addr}"); let app = Router::new().get("/", index); if let Err(err) = Server::bind(&addr) .serve(ServiceMaker::from(app)) .await { println!("{err}"); } Ok(()) } ``` More examples can be found [here](https://github.com/viz-rs/viz/tree/main/examples). ## License Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or [MIT license](LICENSE-MIT) at your option. ### Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Viz by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.