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.10.tar.gz (160.9 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.10-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rbr_prefect-0.3.10.tar.gz
  • Upload date:
  • Size: 160.9 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.10.tar.gz
Algorithm Hash digest
SHA256 dd4bcdba6786c0412288e6e62a3a135789fb8f54fd6ab2a8e5f4e3ad6cb4fcad
MD5 4e0022a9e6ad8f6bab108f060ea9ee21
BLAKE2b-256 cc392b58183102b70aec5167620cf10c1ae36a368c3eb4feee9da81bca2f43f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rbr_prefect-0.3.10-py3-none-any.whl
  • Upload date:
  • Size: 25.6 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3f245822a8c5f3671847511911ac343b71868b40a9574fd839a68ade8505a143
MD5 02460ec6c9f9676f7ccaec6bce217d4f
BLAKE2b-256 f2c8c9cd3c566fbabb7c46fd44ac0052b969a097fb44ad671c0b7114cdb6031b

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