README

Runique — Django-inspired Rust Framework

Rust Tests passing License Version Crates.io Runique

Runique is a web framework built on Axum, focused on type-safe forms, security middleware, template rendering, ORM integration, and a code-generated admin workflow.

Current state: active development. The framework source of truth is the runique crate. demo-app is used as a validation/testing application for framework behavior.

🌍 Languages: English | Français


What this repository contains

Workspace version (source of truth): 1.1.53.


Core capabilities

Main public modules are exposed from runique/src/lib.rs.


Installation

git clone https://github.com/seb-alliot/runique
cd runique
cargo build --workspace
cargo test --workspace

Detailed guide: Installation


Quick usage

use runique::prelude::*;

#[tokio::main]
async fn main() {
    let config = RuniqueConfig::from_env();
    let app = RuniqueApp::builder(config).build().await.unwrap();
    app.run().await.unwrap();
}

CLI (actual commands)

runique provides:

⚠️ Warning The makemigrations command generates SeaORM tables while preserving the chronological order of the migration system. To ensure migration tracking remains consistent, only use the SeaORM CLI to apply or manage migrations. Using other commands may lead to migration desynchronization.

Admin beta status

Admin daemon behavior in start:


Admin resources are declared in src/admin.rs using admin!.

The workflow:

  1. parse admin! declarations
  2. generate admin code under src/admins/
  3. refresh on changes with watcher mode

Current beta limits:

Admin docs: Admin


Features and database backends

Default features:

Selectable backends:


Test and coverage snapshot

Coverage command used:

cargo llvm-cov --tests --package runique --ignore-filename-regex "admin" --summary-only

Sessions

CleaningMemoryStore replaces the default MemoryStore with automatic expired-session cleanup, a two-tier watermark system (128 MB / 256 MB), and priority-based protection for authenticated and high-value anonymous sessions.

Full reference: Sessions


Environment variables

All behavior is configurable via .env. Key variables:

RUNIQUE_SESSION_CLEANUP_SECS=60
RUNIQUE_SESSION_LOW_WATERMARK=134217728
RUNIQUE_SESSION_HIGH_WATERMARK=268435456
SECRET_KEY=your-secret-key
DATABASE_URL=sqlite://db.sqlite3

Full reference: Environment variables


Documentation map


Resources


License

MIT — see LICENSE