Skip to main content

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

  1. bump2version instalado:

    uv add --dev bump2version
    
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rbr_prefect-0.3.12.tar.gz (161.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rbr_prefect-0.3.12-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file rbr_prefect-0.3.12.tar.gz.

File metadata

  • Download URL: rbr_prefect-0.3.12.tar.gz
  • Upload date:
  • Size: 161.8 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

Hashes for rbr_prefect-0.3.12.tar.gz
Algorithm Hash digest
SHA256 8cbda10c4c14a9ff9a647a05db69214c370488ed53563a435bb02feacd7a817a
MD5 99fd2e06a48a50478566268a56ec588e
BLAKE2b-256 572d4767ab1a6f13aa2c9880850ae54f22227755cec77a21e6da531f403d8fe0

See more details on using hashes here.

File details

Details for the file rbr_prefect-0.3.12-py3-none-any.whl.

File metadata

  • Download URL: rbr_prefect-0.3.12-py3-none-any.whl
  • Upload date:
  • Size: 26.2 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

Hashes for rbr_prefect-0.3.12-py3-none-any.whl
Algorithm Hash digest
SHA256 d608539004411eba3305b7d94a4ff00655b5a9c96bca2bff663eea088c59aa91
MD5 b50750d3f01e5bebd068df3a8017f1ed
BLAKE2b-256 344950a74eed5158830a37f5ed41bf186f5a2c5ce3192f32cc0c4f8818a9b2d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page