Axiomatic Engine
Axiomatic Engine orchestrates ingestion and transformation pipelines while keeping domain logic in project folders.
Quick Start
Install the package:
uv add axiomatic-engine
Or with pip:
pip install axiomatic-engine
Run a project entrypoint:
- copy
projects/fake_store/.env.exampletoprojects/fake_store/.env - set required environment variables for your target warehouse and storage
- run
uv run python projects/fake_store/run_pipeline.py
This gives a working reference for a REST ingestion source and transformation flow using the engine contracts.
Contributor Quickstart
The project standardises on uv for local quality checks and packaging workflows.
- Install hooks once:
uv run --group dev pre-commit install
- Run hooks across the repository:
uv run --group dev pre-commit run --all-files
- Run the full package quality gate:
uv run --group dev --group test python scripts/quality_gate.py
Runtime Configuration Contract
The engine reads typed runtime settings from AXIOMATIC_* environment variables, with project entrypoints able to override values via CLI flags.
Schema layers are configured independently:
AXIOMATIC_SCHEMA_BRONZEAXIOMATIC_SCHEMA_SILVERAXIOMATIC_SCHEMA_GOLDAXIOMATIC_SCHEMA_ANALYTICS
This keeps medallion naming explicit and consistent across ingestion and dbt model targets.
Source Routing Contract
Source implementations now expose specific source kinds:
rest_apihttp_file
The standard project path is typed source definitions routed through axiomatic_engine.sources.factory via build_source(...).
Direct source constructors remain supported for advanced project-specific customisation.
Ingestion Resource Load Hints
Sources can provide optional per-resource hints through ResourceLoadHints:
write_disposition:append,replace, ormergeprimary_key: key used by merge semanticsschema_evolution_mode:auto,strict, ordiscard
These hints are source-agnostic contracts and are mapped by the source bridge when building dlt.resource(...).
Schema Evolution Policy
The engine supports a hybrid schema evolution policy:
auto: evolve bronze schema when new fields appearstrict: freeze schema and fail on driftdiscard: discard unexpected values while keeping rows
Projects can set this per resource so strictness can vary by endpoint.
Rerun Semantics
Replay behaviour depends on per-resource load hints:
mergewith a primary key provides idempotent upsert behaviourreplacegives deterministic snapshot tables on rerunappendpreserves full arrival history
Choose by resource based on analytical needs and source stability.
Operationally, ingestion stage gating also considers:
force_reload=Truealways triggers ingestion- otherwise storage-cache heuristics decide whether ingestion should run
Security Defaults
Current security defaults prioritise secret-safe runtime surfaces:
- dbt command environments are filtered to an allowlist instead of forwarding the full process environment
- token-like values in dbt stderr are redacted before being returned in transformation failure details
- ingestion logs avoid dumping raw loader result objects
Package Quality Gate
The package quality gate is standardised on uv and runs the same checks you should later enforce in CI:
- pre-commit checks across the repository
- unit tests
- distribution build (wheel + source distribution)
- distribution metadata checks
- wheel content validation for
src-layout packaging boundaries
Run it with both dependency groups enabled:
uv run --group dev --group test python scripts/quality_gate.py
Pre-commit Checks
Use pre-commit for fast local feedback before commits.
Install the hooks:
uv run --group dev pre-commit install
Run hooks on all files:
uv run --group dev pre-commit run --all-files
Release Publishing
Release publishing is handled by .github/workflows/release.yml.
- Trigger: push a tag matching
v*(for examplev0.1.1) - Required PyPI setup: configure a Trusted Publisher for this GitHub repository
- Workflow behaviour:
- runs the same quality gate command used locally and in CI
- builds release distributions
- uploads
dist/*as workflow artefacts - publishes with
pypa/gh-action-pypi-publishvia OIDC
Metadata
Release files for axiomatic-engine 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| axiomatic_engine-0.1.0.tar.gz | 22.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| axiomatic_engine-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.4 kB
Release files / axiomatic_engine-0.1.0.tar.gz
| Download URL | axiomatic_engine-0.1.0.tar.gz |
|---|---|
| Size | 22.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09f61be4e323744666cee0ec659c7fca9413e21ee4b0a1781a185f0497b5a3df
|
|
BLAKE2b-256 checksum How to use checksums |
698b477b087856f1533d7bc060a8a2ac42d747e67e35cf415a76951ca60f75a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 22, 2026.
Transparency logRelease files / axiomatic_engine-0.1.0-py3-none-any.whl
| Download URL | axiomatic_engine-0.1.0-py3-none-any.whl |
|---|---|
| Size | 40.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ce1aa8e851044e9d89ea15f6ede24b7a0b880180a5aaac2441880592a4fbe4e
|
|
BLAKE2b-256 checksum How to use checksums |
919c70477c6209686dccc8a7020c281e7a996cff0c8d2e2778f23fb8cb111720
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 22, 2026.
Transparency log