# 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
Fast, robust, flexible, lightweight web framework for Rust
## 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.