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.3.tar.gz (170.4 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.3-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rbr_prefect-0.3.3.tar.gz
  • Upload date:
  • Size: 170.4 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.3.tar.gz
Algorithm Hash digest
SHA256 56921d39f1de8cb41728cc112bc840bb7795317e1a8acc17fb1a511619c806f1
MD5 3df42f4d11850cf22799bf0331d7b683
BLAKE2b-256 2215a51a129845ba0b869ca193137cd4a54db396a1cddf18279fe7f4e9cb378d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rbr_prefect-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 22.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8450a87b93a278de1387f8d306ccf556436ee9c5dae075293785206f91e478e4
MD5 31e7f4fc7e4b758fc7bd6a5b00ec75b9
BLAKE2b-256 d4dc4339ea413bbe80b89f89953c380d3d9422aa6304ea7598673437fec51edd

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