Skip to content

Compatibility

What Baldur v1.0 runs on, and what continuous integration verifies on every commit. Two facts matter for each dependency:

  • Minimum — the lowest version Baldur declares it works against (the floor pinned in pyproject.toml). Anything at or above this is expected to work.
  • Tested in CI — the exact versions exercised on every commit. This is the proof, not just a claim. A minimum wider than the tested set means the floor is supported, but only the listed combinations are run end-to-end.

Runtime

Component Minimum Tested in CI
Python 3.11 3.11 · 3.12 · 3.13

Python is tested on the three current releases. There is no upper bound in the package metadata, but versions above 3.13 are not yet exercised in CI.

Web frameworks

Baldur's core is framework-agnostic; the framework adapters are optional extras.

Framework Extra Minimum Tested in CI
Django baldur-framework[django] 4.2 4.2 LTS · 5.2 LTS · 6.0
FastAPI baldur-framework[fastapi] 0.100 latest ≥ floor (smoke)
Flask baldur-framework[flask] 2.3 latest ≥ floor (smoke)

Django is tested against the two current LTS releases plus the latest feature release. FastAPI and Flask run a quickstart smoke test (install the extra, start the app, hit a protected endpoint) against the latest release satisfying the floor.

Background tasks

Component Extra Minimum Tested in CI
Celery baldur-framework[celery] 5.3 5.4

Infrastructure (optional)

Baldur runs zero-config on an in-memory backend with no infrastructure. Redis is optional and only needed to share state across multiple workers.

Component Minimum Tested in CI
Redis server 7.x
redis-py client 4.0 resolved from the extra

The distinction matters: Redis server 7.x is the data store Baldur's integration suite runs against, while redis-py 4.0 is the floor for the client library installed by baldur-framework[redis] (and by the celery, arq, and rq extras).

Test matrix shape

The Python × Django combinations are tested diagonally, not as a full grid:

Python Django
3.11 4.2
3.12 5.2
3.13 6.0

Each Python version is paired with one Django version. Off-diagonal combinations (for example Python 3.11 with Django 6.0) satisfy the declared minimums and are expected to work, but are not run in CI.

Version support policy

Baldur follows a latest-minor support model: the current minor release line receives patches, and the previous minor reaches end of life the day a new minor ships. See SECURITY.md for the full policy.

Not in this matrix

  • PostgreSQL — the baldur-framework[postgres] extra exists for the SQL adapter, but the v1.0 integration suite does not provision a PostgreSQL service, so no version is listed here as tested.
  • Kafka, Kubernetes, and cloud adapters — these are not part of the v1.0 productized surface and are not covered by this matrix.