zino
is a next-generation framework for composable applications in Rust
which emphasizes simplicity, extensibility and productivity.
- π 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.
You can start with the example actix-app
, axum-app
, dioxus-desktop
or ntex-app
.
It requires Rust 1.80+ to build the project.
cd examples/axum-app
cargo run
Here is the simplest application to run a server:
[package]
name = "zino-app"
version = "0.1.0"
edition = "2021"
[dependencies]
zino = { version = "0.30", features = ["axum"] }
use zino::prelude::*;
fn main() {
zino::Cluster::boot().run()
}
Name | Description | Crates.io | Documentation |
---|---|---|---|
zino-core |
Core types and traits. | ||
zino-auth |
Authentication and authorization. | ||
zino-channel |
Cloud events and subscriptions. | ||
zino-storage |
Files and storage services. | ||
zino-http |
Requests and responses. | ||
zino-openapi |
OpenAPI docs generator. | ||
zino-orm |
Database schema and ORM. | ||
zino-derive |
Derived traits. | ||
zino-model |
Domain models. | ||
zino-connector |
Connector to data sources. | ||
zino-chatbot |
Chatbot services. | ||
zino-extra |
Extra utilities. | ||
zino-actix |
Integrations with actix-web. | ||
zino-axum |
Integrations with axum. | ||
zino-ntex |
Integrations with ntex. | ||
zino-dioxus |
Dioxus components. | ||
zino-amis |
UI generator for amis. | ||
zino-cli |
CLI tools. |
This project is licensed under the MIT license.
If you have any problems or ideas, please don't hesitate to open an issue.