Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Principle:Ucbepic Docetl Pipeline Configuration

From Leeroopedia


Knowledge Sources
Domains Data_Engineering, Configuration
Last Updated 2026-02-08 01:40 GMT

Overview

A declarative specification principle that defines the structure, operations, and data flow of an ETL pipeline through configuration schemas.

Description

Pipeline Configuration is the practice of describing an entire data processing pipeline declaratively—specifying datasets, operations, execution steps, and output targets without writing procedural code. In DocETL, this is achieved through YAML configuration files validated against Pydantic schemas. The declarative approach enables:

  • Separation of pipeline logic from execution infrastructure
  • Validation of pipeline structure before execution
  • Optimization and rewriting of pipeline configurations by automated tools
  • Portability between CLI, Python API, and playground environments

The key schemas are PipelineStep (which sequences operations), PipelineOutput (which configures where results are written), and PipelineSpec (which combines steps and output into a complete specification).

Usage

Apply this principle when defining a new DocETL pipeline. Every pipeline requires at minimum: one dataset, one or more operations, pipeline steps that reference those operations, and an output configuration.

Theoretical Basis

Declarative pipeline configuration follows a schema-validated approach:

  1. Schema Definition: Define typed schemas for all configuration components
  2. Composition: Combine schemas into a complete pipeline specification
  3. Validation: Use schema validators to catch errors before execution
  4. Interpretation: Pipeline runner interprets the validated configuration
# Pseudo-code for declarative pipeline configuration
schema = validate(yaml_config)
pipeline = PipelineSpec(
    steps=[PipelineStep(name, operations, input) for step in schema.steps],
    output=PipelineOutput(type, path)
)

Related Pages

Implemented By

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment