Skip to main content

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.example to projects/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_BRONZE
  • AXIOMATIC_SCHEMA_SILVER
  • AXIOMATIC_SCHEMA_GOLD
  • AXIOMATIC_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_api
  • http_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, or merge
  • primary_key: key used by merge semantics
  • schema_evolution_mode: auto, strict, or discard

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 appear
  • strict: freeze schema and fail on drift
  • discard: 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:

  • merge with a primary key provides idempotent upsert behaviour
  • replace gives deterministic snapshot tables on rerun
  • append preserves full arrival history

Choose by resource based on analytical needs and source stability.

Operationally, ingestion stage gating also considers:

  • force_reload=True always 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 example v0.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-publish via 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)

Source distribution for axiomatic-engine 0.1.0
File Size Uploaded
axiomatic_engine-0.1.0.tar.gz 22.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for axiomatic-engine 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page