#web-apps #web-framework #cron-job #web #http #framework #jwt

zino

Next-generation framework for composable applications in Rust

133 releases (27 breaking)

new 0.28.0 Dec 12, 2024
0.26.4 Dec 2, 2024
0.26.3 Nov 30, 2024
0.24.0 Jul 29, 2024
0.1.2 Dec 29, 2022

#109 in HTTP server

Download history 144/week @ 2024-08-21 10/week @ 2024-08-28 195/week @ 2024-09-04 269/week @ 2024-09-11 103/week @ 2024-09-18 396/week @ 2024-09-25 52/week @ 2024-10-02 155/week @ 2024-10-09 206/week @ 2024-10-16 10/week @ 2024-10-23 3/week @ 2024-10-30 70/week @ 2024-11-06 287/week @ 2024-11-13 45/week @ 2024-11-20 545/week @ 2024-11-27 279/week @ 2024-12-04

1,226 downloads per month
Used in zino-cli

MIT license

1MB
23K SLoC

github crates-io docs-rs

zino is a next-generation framework for composable applications in Rust which emphasizes simplicity, extensibility and productivity.

Highlights

  • 🚀 Out-of-the-box features for rapid application development.
  • 🎨 Minimal design, composable architecture and high-level abstractions.
  • 🌐 Adopt an API-first approch to development with open standards.
  • ⚡ Embrace practical conventions to get the best performance.
  • 💎 Highly optimized ORM for MySQL, PostgreSQL and SQLite based on sqlx.
  • ✨ Innovations on query population, field translation and model hooks.
  • 📅 Lightweight scheduler for sync and async cron jobs.
  • 💠 Unified access to storage services, data sources and chatbots.
  • 📊 Built-in support for tracing, metrics and logging.
  • 💖 Full integrations with actix-web, axum, dioxus and more.

Getting started

You can start with the example actix-app, axum-app, dioxus-desktop or ntex-app.

Here is the simplest application to run a server:

[package]
name = "zino-app"
version = "0.1.0"
edition = "2021"

[dependencies]
zino = { version = "0.27", features = ["axum"] }
use zino::prelude::*;

fn main() {
    zino::Cluster::boot().run()
}

Feature flags

The following optional features are available:

Name Description Default?
actix Enables the integration with actix-web. No
auth Enables the authentication and authorization. No
axum Enables the integration with axum. No
cookie Enables the support for cookies. No
debug Enables the features for ease of debugging. No
dioxus Enables the integration with dioxus. No
i18n Enables the support for internationalization. No
jwt Enables the support for JSON Web Token. No
logger Enables the default logger. Yes
metrics Enables the metrics exporter. No
ntex Enables the integration with ntex. No
oidc Enables the support for OIDC via rauthy. No
opa Enables the support for OPA via regorus. No
orm Enables the ORM for MySQL, PostgreSQL or SQLite. No
view Enables the HTML template rendering. No

Dependencies

~22–84MB
~1.5M SLoC