A batteries-included Python web framework paired with a deployment platform. Convention over configuration. No setup, no glue code, no architecture decisions. Start building product on day one with all features you need ready to use.
Modular Python packages for FastAPI. Auth, caching, tasks, events, storage, admin — each an uv add away. Choose the packages you need. Every app follows the same conventions.
Deploy with a single command. Every project scaffolds with a bluefox.yml manifest. Push, build, ship — zero DevOps configuration required to get your app live on app-name.your-domain.com.
Install one package, write two files, start the server. A working app in under a minute.
Create a project and install the foundation
$ uv init my-app && cd my-app $ uv add bluefox-core
Write your app
from bluefox_core import BluefoxSettings, create_bluefox_app settings = BluefoxSettings() app = create_bluefox_app(settings)
Run it
$ uv run uvicorn main:app --reload # Health endpoint, structured logging, welcome page. Done.
Provision a server once, then ship every update with a single command. No CI pipelines to configure, no Dockerfiles to maintain.
Point Bluefox at your server (one-time setup)
$ bfx bootstrap 123.456.789.123 Server public IP [123.456.789.123]: SSH port [2222]: Domain (e.g. bluefox.software) [my-domain.com]: ━━━ Cloudflare DNS ━━━ # Wildcard DNS record pointing *.my-domain.com to your server ━━━ Server Hardening ━━━ # Firewall, fail2ban, auto-updates, SSH lockdown ━━━ Docker Engine + Swarm ━━━ # Container runtime and orchestration layer ━━━ Traefik ━━━ # Reverse proxy with automatic Let's Encrypt TLS ━━━ Platform Database ━━━ # PostgreSQL 18 for the platform and your apps ━━━ Redis (Cache + Queue) ━━━ # Shared cache and background job queue ━━━ Bluefox Cloud Platform ━━━ # Build, push, and deploy the management platform ━━━ Bootstrap Complete ━━━ Bluefox Cloud is live! Platform: https://platform.my-domain.com Health: https://platform.my-domain.com/health ✓ Cloudflare DNS configured (*.my-domain.com → 123.456.789.123)
Ship your app
$ cd my-app $ bfx release # Building... Deploying... Live at my-app.my-domain.com
Every module is an independent PyPI package. Install what you need. Update with uv add --upgrade. No generator, no lock-in.
bfx new, bfx generate.Start with the foundation. Add packages one at a time. Every stage is a working app — you're never in a half-broken state.
# Stage 1: Foundation only from bluefox_core import create_bluefox_app, BluefoxSettings app = create_bluefox_app(BluefoxSettings()) # Stage 2: Add auth from bluefox_auth import BluefoxAuth BluefoxAuth(app, settings=settings) # Stage 3: Add tasks and caching from bluefox_tasks import BluefoxTasks from bluefox_cache import BluefoxCache BluefoxTasks(app, database_url=settings.DATABASE_URL) BluefoxCache(app, redis_url=settings.REDIS_URL) # Stage 4: Your domain routes from orders.api import router as orders_router app.include_router(orders_router, prefix="/api")
Sensible defaults everywhere. No config needed to get started. One way to do things, and it's the right way.
Models, routes, tests, and logic for the same feature live together.
Modules are installed, not generated. Updates come via uv add --upgrade, not re-running a CLI.
Code structure, naming, and documentation are designed to be read and extended by AI coding agents. Every project ships with an AGENTS.md.
All data modelling, validation, and serialization uses Pydantic V2. No dataclasses. One validation layer.
make dev always works. The test suite always passes on a fresh clone. No hidden setup steps.