Utilitário de deploy de flows Prefect para a RBR Asset Management.
Project description
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()
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rbr_prefect-0.3.9.tar.gz.
File metadata
- Download URL: rbr_prefect-0.3.9.tar.gz
- Upload date:
- Size: 161.0 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f449449e15e853cc6725f1fafd68f240b0185fb5a7a2a9a868b5d690c8ff3b4
|
|
| MD5 |
6e0a4be281ee0b3208634b9e5a61dfe3
|
|
| BLAKE2b-256 |
e167077b486a85fda571e781be7a34e2b5f04630a136c18463621e6764c2b6b9
|
File details
Details for the file rbr_prefect-0.3.9-py3-none-any.whl.
File metadata
- Download URL: rbr_prefect-0.3.9-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aae2742ebebf26c0fa2bf7faf3aa6c44d1ce4fc88f113d5044330562d0a3355
|
|
| MD5 |
e880cda278e36175d76369333bd9f512
|
|
| BLAKE2b-256 |
1571026eb47da45c7766db12846f654d68de3481e13bdffc4d0cb1a35d5d090f
|