Lumx
is a lightweight, modular application framework designed to prioritize simplicity and flexibility. It features an
easily extensible plug-in architecture, enabling seamless integration with other prominent Rust community projects, such
as axum
, sea-orm
, and many others.
Warning
Project in Active Development
This project is currently in active development. It is not yet ready for production use.
We are working hard to make it stable and feature-complete, but until then, please be aware that you may encounter bugs, incomplete features, and frequent changes. Your patience and any contributions are greatly appreciated.
Add to your Cargo.toml
dependencies:
[dependencies]
lumx_core = { git = "https://github.com/iDesoftSystems/lumx.git", branch = "main" }
lumx_axum = { git = "https://github.com/iDesoftSystems/lumx.git", branch = "main" }
You can now build your program and easily integrate plugins.
use lumx_axum::{
axum::{Router, routing},
plugin::WebPlugin,
router::ProgramRoutable,
};
use lumx_core::{program::Program, tokio};
#[tokio::main]
async fn main() {
Program::builder()
.load_envs()
.collect_tracing()
.add_plugin(WebPlugin)
.add_router(router())
.run()
.await
}
fn router() -> Router {
Router::new().route("/", routing::get(|| async { "Hello, world" }))
}
Start your app.
cargo run