Prefect ist ein Orchestrierungs-Framework mit Fokus auf Einfachheit. Ein Dekorator auf einer Funktion und Sie haben einen Workflow mit Retry, Logging und Monitoring.
Prefect — Orchestrierung für Python-Entwickler¶
Es reichen @flow und @task Dekoratoren — keine spezielle Infrastruktur nötig.
from prefect import flow, task
@task(retries=3)
def extract(url: str) -> dict:
import httpx
return httpx.get(url).json()
@task
def transform(raw: dict) -> list:
return [{**r, 'czk': r['eur'] * 25.2} for r in raw['data']]
@task
def load(records: list) -> int:
save_to_db(records)
return len(records)
@flow(name="Sales Pipeline", log_prints=True)
def pipeline():
raw = extract("https://api.example.com/sales")
data = transform(raw)
print(f"Loaded {load(data)} records")
Vergleich der Orchestratoren¶
- Prefect — einfachster Einstieg, kleine Teams
- Airflow — größtes Ökosystem, Enterprise-Standard
- Dagster — Asset-orientiert, Datenplattformen
Zusammenfassung¶
Prefect ist ideal für schnelle Orchestrierung von Python-Workflows ohne unnötige Komplexität.
prefectorchestraceworkflowpython