Skip to main content

FastAPI development kit with Rust-powered performance modules

Project description

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._native on 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.1.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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

boltra-0.3.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (653.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

boltra-0.3.0-cp312-cp312-win_amd64.whl (279.0 kB view details)

Uploaded CPython 3.12Windows x86-64

boltra-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl (355.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

File details

Details for the file boltra-0.3.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for boltra-0.3.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 81ad23eb7cab6fc9cfe799c52911489d87340d6b994f765b8ac06bc20aa34b64
MD5 b97167ee778c8ee057bcf70a25cdf750
BLAKE2b-256 b34cc52b6177035e6866ca1ecceb79b3c40103c775be3fec9dc51cfb5437f823

See more details on using hashes here.

File details

Details for the file boltra-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: boltra-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 279.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.3

File hashes

Hashes for boltra-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 65b4f4263d7246c551a3c3a55756440ce2522d5ee447faf722ec92b15f8e12fa
MD5 af7fbb99dd2130c449092b4804a5e6e8
BLAKE2b-256 15a930f19f9f6728b72e60b6cf26c7bb36826afd401029fcf2acfe16a52674d5

See more details on using hashes here.

File details

Details for the file boltra-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for boltra-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d7bd244eaa9093dada261bb461de6ee5ef4b13ac4391697ca0c89a6de991fddb
MD5 1beb1ce8836cdf73b76eb929163e9735
BLAKE2b-256 44dc323b6096abb95d59124c83b10beef46d430696bddcffe20f496e2834a288

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page