Repository navigation
v1.6
Fragua v1.6
Overview
Version v1.6 introduces a significant architectural refinement focused on declarative pipelines, clear separation of responsibilities, and improved environment ergonomics.
This release consolidates Fragua’s execution model by fully decoupling pipeline definitions from runtime execution artifacts, while strengthening support for macros and reusable step catalogs.
Key Highlights
1. Declarative Pipelines as First-Class Citizens
Pipelines are now stored and managed exclusively as dictionary-based definitions.
FraguaSetno longer persistsFraguaPipelineruntime objects- Pipeline definitions (
dict[str, Any]) are easier to edit, validate, and replace - Compiled
FraguaPipelineobjects are now ephemeral runtime artifacts
This change improves correctness, debuggability, and user experience when iterating on pipelines.
2. Unified Pipeline Execution Entry Point
A new high-level API was introduced:
execute_pipeline(pipeline)Supported inputs:
FraguaPipeline→ executed directlystr→ resolved from registry, compiled, then executeddict→ compiled inline, then executed
This centralizes routing logic and eliminates ambiguity between compilation and execution.
3. Automatic StepBuilder Indexing from Sets
The environment now supports bulk registration of sets with automatic step exposure.
- New
add_sets(...)API - Callable items inside a
FraguaSetautomatically generateFraguaStepBuildertemplates - Respect for
step_enabledflag StepIndexis populated eagerly and consistently
Macros (e.g. transform_chain) now resolve steps reliably without manual registration.
4. Separation of Registration Responsibilities
The previous generic register behavior was split into explicit, intention-revealing APIs:
add_functions(...)add_pipeline_defs(...)add_sets(...)
Each method now has a single responsibility, improving clarity and maintainability.
5. Pipeline Update & Replace Support
New CRUD-style operations for pipeline definitions:
Replace Pipeline
- Fully replaces an existing pipeline definition
- Equivalent to delete + add
Update Pipeline
- Partially updates an existing pipeline definition
- Preserves unspecified fields
- Enforces immutability of pipeline name
This enables safe iteration and correction without redefining pipelines from scratch.
6. Improved Logging
Structured logging was added to critical execution paths:
- Pipeline compilation
- Pipeline execution
- Registration events
- Error scenarios
This improves observability and debugging during development and runtime.
Architectural Outcome
With v1.6, Fragua now enforces a clean and explicit separation between:
- Functions → callable ETL logic
- Steps → runtime execution units
- Pipeline Definitions → declarative configuration
- Execution → isolated, stateless runtime process
This release lays a strong foundation for future features such as versioned pipelines, validation tooling, and declarative exports.
Compatibility Notes
- Existing users storing
FraguaPipelineinstances in registry sets must migrate to dictionary-based pipeline definitions - Runtime behavior remains consistent once pipelines are compiled
Summary
Fragua v1.6 is a structural maturity release.
It simplifies mental models, removes hidden state, and reinforces Fragua’s core philosophy:
explicit, declarative, and predictable ETL orchestration.