Prefect je orchestrační framework zaměřený na jednoduchost. Dekorátor na funkci a máte workflow s retry, logováním a monitoringem.
Prefect — orchestrace pro Python vývojáře¶
Stačí @flow a @task dekorátory — žádná speciální infrastruktura.
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")
Porovnání orchestrátorů¶
- Prefect — nejjednodušší start, malé týmy
- Airflow — největší ekosystém, enterprise standard
- Dagster — asset-oriented, datové platformy
Shrnutí¶
Prefect je ideální pro rychlou orchestraci Python workflow bez zbytečné komplexity.
prefectorchestraceworkflowpython