Skip to content

Pipelines

Running Pipelines

import fabias

ws = fabias.workspace("GENESIS")
pipeline = ws.pipeline("Daily ETL")

# Run with default parameters
job = pipeline.run()
job.wait()
print(f"Status: {job.status}")

# Run with parameters
job = pipeline.run(parameters={
    "StartDate": "2025-01-01",
    "EndDate": "2025-01-31"
})

Listing Pipelines

ws = fabias.workspace("GENESIS")

for pipeline in ws.pipelines():
    print(f"{pipeline.name}: {pipeline.id}")

Creating Pipelines

ws = fabias.workspace("GENESIS")

new_pipeline = ws.pipelines.add(
    name="New ETL Pipeline",
    description="Daily data processing"
)

Job Tracking

job = pipeline.run()

# Check status
print(job.status)  # InProgress, Succeeded, Failed

# Wait with callback
job.wait(callback=lambda j: print(f"Progress: {j.status}"))

# Check if successful
if job.successful:
    print("Pipeline completed successfully!")