Engine-agnostic medallion facade on ETLantic (native authoring + SparkForge IR migrate).
Project description
Medallantic
Engine-agnostic medallion facade on ETLantic: native bronze/silver/gold
authoring plus a SparkForge IR migrate path. Prefer medallantic over the
deprecated etlantic-sparkforge redirect.
Medallantic owns bronze/silver/gold authoring conventions; ETLantic owns the portable contracts, graph, validation, planning, execution lifecycle, and plugin coordination underneath it. ETLantic core never gains medallion types.
The current 0.34 (M6) line includes native authoring, portable quality gates, importable transform execution, lifecycle/write semantics, PySpark and Delta differential coverage, SQLAlchemy relational parity, observability providers, durable run history, event consumers, and production conformance. Native PySpark Column and Moltres rules remain explicitly capability-gated.
Documentation:
Install
pip install medallantic
Native authoring
from medallantic import MedallionBuilder
defn = (
MedallionBuilder("ecommerce", schema="demo")
.bronze("orders", asset="bronze_orders")
.silver("clean", source="orders", asset="silver_orders")
.gold("kpis", source="clean", asset="gold_kpis", write_mode="merge")
.build()
)
Migration bridges
Feed SparkForgePipelineSpec (JSON/YAML fixtures or hand-built dataclasses)
via adapt_pipeline or medallantic.migrate.sparkforge. Existing live
builders can use:
from medallantic.migrate.sparkforge import from_pipeline_builder
from medallantic.migrate.sql import from_sql_pipeline_builder
The adapted result supplies an ordinary ETLantic pipeline and profile; select
execution plugins such as Profile.spark_engine="pyspark" separately.
Production profiles must allowlist every trusted execution plugin.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file medallantic-0.35.0.tar.gz.
File metadata
- Download URL: medallantic-0.35.0.tar.gz
- Upload date:
- Size: 56.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0521907a038c7009bf652d0c5b56fd11576bdfe7d8404ed3b92b473867214893
|
|
| MD5 |
bb4d1237cc5a9c18d0dc728a52a9dd7f
|
|
| BLAKE2b-256 |
23fbafbded7760d80ae54cb022d433fcd7379b23dcb78f06431fc06905be282e
|
File details
Details for the file medallantic-0.35.0-py3-none-any.whl.
File metadata
- Download URL: medallantic-0.35.0-py3-none-any.whl
- Upload date:
- Size: 56.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25e7211cec5bfac5bba63d1a4d6cc5e4ccbbe2d5039d336bb86be799fc379187
|
|
| MD5 |
3315c10ab9313a91fc4c3c36d09415f7
|
|
| BLAKE2b-256 |
ec7e7577db246ccfde406ed5c1c51236e4ff171963cde04ebb96d803d2b5909a
|