Migration 0.13 → 0.14¶
ETLantic 0.14.0 adds portable Pandas compilation and publishes the portable transform compiler conformance suite. Polars and PySpark relational claims from 0.13 remain available.
Install¶
Pin core and every official plugin to 0.14.0:
pip install --upgrade \
'etlantic==0.14.0' \
'etlantic-polars==0.14.0' \
'etlantic-pandas==0.14.0' \
'etlantic-pyspark==0.14.0'
Install only the engine packages your pipeline uses. Extras resolve their
official plugins at ==0.14.0.
What changed¶
| Area | 0.13 | 0.14 |
|---|---|---|
| Pandas portable compiler | Not available | Kernel + portable-relational/1, eager and index-neutral |
| Public compiler conformance | Deferred | Available through etlantic.testing |
| Reference-engine coverage | Polars + PySpark | Polars + PySpark + Pandas |
| Differential CI | Two engines | Three engines |
Pandas pipelines using portable_transform_policy="require" can now compile
without @implementation("pandas") when the portable plan fits the compiler's
claims. Unsupported lazy, type, action, function, or semantic modes continue to
fail closed during planning.
Third-party compiler action¶
Run the public suite against the compiler object:
from etlantic.testing import run_portable_transform_conformance_suite
run_portable_transform_conformance_suite(create_transform_compiler())
The suite selects fixtures from the exact profiles, actions, and functions the compiler advertises. Remove unsupported claims or fix their semantics before releasing the plugin.
Pin the suite and core to the ETLantic minor your plugin certifies against.
Continue to fail closed from analyze() for unsupported modes, and keep plans,
diagnostics, and explain payloads secret-free.
Upgrade checklist¶
- Upgrade core and official plugins together to
==0.14.0. - Re-plan portable pipelines and inspect the selected compiler and support summary.
- Run the portable conformance suite for each third-party compiler.
- Run application-level differentials for the engines your project supports.
- Retain native implementations for capabilities outside kernel +
portable-relational/1.
Documentation and navigation¶
- Start with What's New in 0.14 for the adopter-facing release summary.
- Treat Capabilities as the current shipped boundary.
- Use Portable Transformations for supported semantics and Testing Plugins for the public suite.
- Replace links to the 0.11 → 0.12 migration as the latest upgrade path with this guide. Keep older migration pages for historical upgrades.
Review the complete 0.14 changelog.