Blueflow Django app. Installable package containing the blueflow Django application.
- Python 3.12+
- PostgreSQL (required — SQLite is not supported)
- uv
-
blueflow is the installable Django app.
- Add it to any Django project via
INSTALLED_APPS:INSTALLED_APPS = [ ... 'blueflow', # or 'blueflow.apps.BlueflowConfig' ]
- Wire up its URLs in your project's
urls.py:path('api/', include('blueflow.urls')),
- The main BlueFlow product (e.g. blueflow-saas) consumes blueflow as a dependency.
- Add it to any Django project via
-
Standalone run: The minimal Django project in
project/lets you run blueflow by itself with no other repo:docker-compose up, orpython project/manage.py runserver
uv pip install -e .Or with optional dev dependencies:
uv pip install -e ".[dev]"Prerequisites:
- Install dev dependencies:
uv sync --all-extras - Set
DATABASE_URLto a live PostgreSQL instance:export DATABASE_URL=postgresql://blueflow:blueflow@localhost:5432/blueflow - Test settings are applied automatically via
pytest.ini/conftest.py— no manualDJANGO_SETTINGS_MODULEneeded.
Test layout
tests/(project-level): Smoke and functional tests for the minimal project (schema, URL wiring, migrations). This is the defaultpytestcollection target.blueflow/tests/(app-level): Integration and functional tests for the blueflow app.
Run all tests
uv run pytestRun only project-level tests
uv run pytest tests/Run only app-level tests
uv run pytest blueflow/tests/Run via Docker
docker-compose run web uv run pytestFrom the repo root:
docker-compose upThe web service runs migrations on startup (via docker-entrypoint.sh) and serves the app at http://localhost:8000.
To run migrations manually (e.g. in a one-off container):
docker-compose run web python project/manage.py migrate --noinputEnsure PostgreSQL is running, then:
uv pip install -e .
export DJANGO_SETTINGS_MODULE=project.settings.development
export DATABASE_URL=postgresql://user:pass@localhost:5432/dbname
python project/manage.py migrate --noinput
python project/manage.py runserver