Usar integrações¶
As integrações no Dotflow são classes de provedor (armazenamento, notificação, log, agendador) que você passa via Config ao criar DotFlow. Partes opcionais vêm como extras do pip para manter a instalação base enxuta—no mesmo espírito da documentação do Prefect sobre instalar integrações.
Instalar extras opcionais¶
Instale o extra correspondente com pip antes de importar um provedor que dependa de biblioteca de terceiros.
| Extra | Instala | Uso |
|---|---|---|
aws |
boto3 |
Storage S3 |
gcp |
google-cloud-storage |
Storage GCS |
scheduler |
croniter |
Agendador cron |
Exemplos:
pip install "dotflow[aws]"
pip install "dotflow[gcp,scheduler]"
A lista oficial de extras e versões está no pyproject.toml, em [project.optional-dependencies].
Note
Provedores integrados (armazenamento padrão, arquivo, notify/log/agendador padrão) usam só dependências core—sem extra. Telegram usa requests, já incluído no dotflow.
Usar um provedor no código¶
- Instale o extra (se a integração exigir).
- Importe
Config,DotFlowe o provedor dedotflow.providers. - Passe o provedor em
Confige crieDotFlow(config=config).
Exemplo mínimo com AWS S3:
from dotflow import Config, DotFlow
from dotflow.providers import StorageS3
def step_one():
return "ok"
config = Config(
storage=StorageS3(
bucket="my-dotflow-bucket",
prefix="workflows/",
region="us-east-1",
)
)
workflow = DotFlow(config=config)
workflow.task.add(step=step_one)
workflow.start()
O mesmo padrão vale para GCS (StorageGCS), cron (SchedulerCron em Config.scheduler), Telegram (NotifyTelegram em Config.notify) e outros—cada guia de integração mostra argumentos e autenticação.
Se o import falhar¶
Se faltar uma biblioteca, o Dotflow indica o extra (por exemplo library="dotflow[aws]"). Instale esse extra e execute de novo.
Próximos passos¶
- Visão geral — todas as integrações
- Provedores customizados — implementar storage, notify, log ou scheduler