Boltra
Django-like productivity for FastAPI projects.
Boltra is a FastAPI development kit for building modern backend systems faster. It generates direct FastAPI code and adds structure, CLI automation, apps, ORM, admin, auth, workers, and Rust-powered performance modules — without hiding FastAPI.
boltra --help
boltra --version
boltra new myapp
cd myapp && uv sync && boltra dev
# Coming in Phase 5+
boltra add orm
Status
Early development. See doc/plan/phase.md for the phased roadmap.
| Track | Phases | Focus |
|---|---|---|
| Foundation | 0–8 | CLI, project generator, apps, settings |
| ORM Core | 9–18 | From-scratch async ORM (Python) |
| ORM Rust | 19–21 | SQL builder, row decoder, pool helpers |
| Batteries | 22–28 | Admin, auth, worker, AI, Docker, tests |
| Hardening | 29–32 | Observability, security, benchmarks |
| V1 | 33 | Stable release |
Stack
| Layer | Tool | Role |
|---|---|---|
| Python | uv | Fast package manager and virtualenv |
| Python ↔ Rust | maturin + PyO3 | Native extension build and FFI |
| Rust | cargo | Hot-path acceleration (SQL, row decode) |
| Quality | ruff, mypy, pytest, pre-commit | Lint, types, tests |
Requirements
- Python ≥ 3.12
- uv (package manager)
- Rust ≥ 1.85 (maturin compiles
boltra._nativeon install)
Development
# Install Python (uv manages the venv automatically)
uv sync --group dev
# Rebuild the PyO3 extension after Rust changes
uv run maturin develop --uv
# Run quality checks
uv run ruff check .
uv run ruff format --check .
uv run mypy src
uv run pytest
# Verify Python fallback when native is disabled
BOLTRA_DISABLE_NATIVE=1 uv run pytest
# Install pre-commit hooks
uv run pre-commit install
Native extension
The Rust crate crates/boltra-core exposes boltra._native via PyO3. Python code uses boltra.native.is_available() and always has a fallback path.
import boltra
boltra.is_available() # True when PyO3 extension is loaded
boltra.native_version() # "0.4.0"
Disable native acceleration (for testing or unsupported platforms):
BOLTRA_DISABLE_NATIVE=1 uv run pytest
Repository layout
boltra/
├── src/boltra/ # Python package
│ ├── native.py # Rust bridge + fallback
│ └── _native.pyi # Type stubs for PyO3 module
├── crates/boltra-core/ # PyO3 extension (maturin)
├── tests/
├── benchmarks/
├── doc/
│ ├── user/ # end-user guides
│ ├── developer/ # contributor docs
│ └── plan/
├── pyproject.toml # maturin build backend
├── Cargo.toml # Rust workspace (release LTO enabled)
└── uv.lock
Documentation
| Audience | Start here |
|---|---|
| Users | doc/user/ — install, CLI |
| Developers | doc/developer/ — architecture, files, workflow |
| Roadmap | doc/plan/phase.md |
| Rusjango migration | doc/plan/rusjango-migration.md |
| Changelog | doc/plan/CHANGELOG.md |
License
MIT — see LICENSE.
Metadata
Release files for boltra 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| boltra-0.4.0-cp312-abi3-win_amd64.whl | CPython 3.12 | abi3 | Windows x86-64 | Details |
| boltra-0.4.0-cp312-abi3-manylinux_2_34_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.34+ x86-64 | Details |
| boltra-0.4.0-cp312-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl | CPython 3.12 | abi3 | macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64 | Details |
Total release size: 1.3 MB
Release files / boltra-0.4.0-cp312-abi3-win_amd64.whl
| Download URL | boltra-0.4.0-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 281.1 kB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
aba9f00be2810b64b019185062ffedc3ec71f479d2ff71bc9f5350ed7f3b53ca
|
|
BLAKE2b-256 checksum How to use checksums |
27b7abe018836f86b8337b4379f86e4c5f6eac09a8cfdc161bf56265163c9f32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / boltra-0.4.0-cp312-abi3-manylinux_2_34_x86_64.whl
| Download URL | boltra-0.4.0-cp312-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 357.3 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
1f303946d66ab4daca0178b9e44ba5219c5cc555f33f8b0b0f3c0ba6d2fb9b02
|
|
BLAKE2b-256 checksum How to use checksums |
59f12302b0bb494c36fff7675812711c6708e6dc056e5f798573d45a7b06612a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / boltra-0.4.0-cp312-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | boltra-0.4.0-cp312-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 655.1 kB |
| Tags | CPython 3.12 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6920c6284c229414d3a1b8acfb451d3a0770fd91be35edefc72b0b13dd775d5b
|
|
BLAKE2b-256 checksum How to use checksums |
7467b463f1d5862be8fd541013f73c9c4c5a6c88046a6e0d71195f9808b34278
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|