rbr-prefect
Utilitário de deploy de flows Prefect para a RBR Asset Management.
Instalação
pip install rbr-prefect
Ou para desenvolvimento local:
pip install -e .
Uso Básico
from rbr_prefect import DefaultDeploy
from flows.my_flow import my_flow
deploy = DefaultDeploy(
flow_func=my_flow,
name="my-flow-prod",
tags=["dados-externos"],
)
deploy.parameters = deploy.override(country_name="Brazil")
deploy.deploy()
Para flows de scraping com Playwright:
from rbr_prefect import ScrapeDeploy
from flows.scraper import scraper_flow
deploy = ScrapeDeploy(
flow_func=scraper_flow,
name="scraper-prod",
tags=["BTG", "scraping"],
)
deploy.deploy()
Agendamento
from cronexpressions import every
deploy = DefaultDeploy(
flow_func=my_flow,
name="my-flow-prod",
tags=["dados-externos"],
)
deploy.schedule(cron=every().weekday.at("09:00"))
deploy.deploy()
Documentação
- Deploy não-interativo (agentes de IA e automação) — como rodar o deploy de forma autônoma sem perder as proteções dos prompts.
- Deploy em worker process (
ProcessDeploy) — como rodar flows direto no worker, sem Docker. - Migração para auto-install de dependências (1.0.0) — o que mudou na gestão de dependências e como migrar.
Release: Bump de Versão e Publicação no PyPI
O processo de publicação é inteiramente local, sem pipeline de CI/CD.
Pré-requisitos
-
bump2version instalado:
uv add --dev bump2version
-
Credenciais do PyPI configuradas localmente via variável de ambiente:
export UV_PUBLISH_TOKEN="pypi-xxxxxxxxxxxxxxxxxxxx"
Ou via arquivo
~/.pypirc:[distutils] index-servers = pypi [pypi] username = __token__ password = pypi-xxxxxxxxxxxxxxxxxxxx
Fluxo Completo de Release
# 1. Garantir que o branch main está limpo e atualizado
git checkout main
git pull origin main
git status # deve estar limpo
# 2. Executar os testes (quando implementados)
uv run pytest
# 3. Bumpar a versão
# Escolher: patch (0.1.0 → 0.1.1) | minor (0.1.0 → 0.2.0) | major (0.1.0 → 1.0.0)
bump2version patch
# O bump2version automaticamente:
# - Atualiza a versão em pyproject.toml e rbr_prefect/__init__.py
# - Cria o commit: "Bump version: 0.1.0 → 0.1.1"
# - Cria a tag: "v0.1.1"
# 4. Push do commit e da tag
git push origin main
git push origin --tags
# 5. Build dos artifacts
uv build
# 6. Publicação no PyPI
uv publish
Tipos de Bump
| Comando | Exemplo | Quando usar |
|---|---|---|
bump2version patch |
0.1.0 → 0.1.1 | Bug fixes, pequenas correções |
bump2version minor |
0.1.0 → 0.2.0 | Novas funcionalidades retrocompatíveis |
bump2version major |
0.1.0 → 1.0.0 | Breaking changes |
Verificando a Versão
import rbr_prefect
print(rbr_prefect.__version__)
Ou via importlib:
import importlib.metadata
print(importlib.metadata.version("rbr-prefect"))
Licença
MIT
Metadata
Release files for rbr-prefect 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rbr_prefect-1.1.0.tar.gz | 219.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rbr_prefect-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 265.3 kB
Release files / rbr_prefect-1.1.0.tar.gz
| Download URL | rbr_prefect-1.1.0.tar.gz |
|---|---|
| Size | 219.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d0b23192e3c2afefffa219f401dd78ed71b2a74a2f101b81e41d958d30074343
|
|
BLAKE2b-256 checksum How to use checksums |
35966b9b16456c5968234526dfb70e9e98328cf391b9f91f5038c0a9209eb4a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / rbr_prefect-1.1.0-py3-none-any.whl
| Download URL | rbr_prefect-1.1.0-py3-none-any.whl |
|---|---|
| Size | 46.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7b272a45b9b99760a7582e527d8ae09df6b3cf5b4a4fe5aaba7fd7910c5de3c
|
|
BLAKE2b-256 checksum How to use checksums |
4e95097559fe7b29787302a22a4dca9994b39dc3f57d3c52572ac297c77b9f4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|