Skip to main content

Consultas SQL reutilizaveis para o ecossistema SivWin/Otimiza.

Project description

Relatorios SivWin

Biblioteca Python para centralizar consultas SQL do ecossistema SivWin/Otimiza.

Instalacao

pip install relatorios-sivwin

O nome publicado usa hifen, mas o import Python usa underscore:

from relatorios_sivwin import RelatoriosSivWin

Objetivo

  • Concentrar consultas SQL em um unico lugar.
  • Reduzir duplicacao de regras SQL entre projetos.
  • Facilitar o uso das mesmas consultas em Django, scripts e outros servicos.

Estrutura

  • relatorios_sivwin.SQLQuery: contrato padrao para consultas parametrizadas.
  • relatorios_sivwin.RelatoriosSivWin: hub principal de acesso aos dominios.
  • relatorios_sivwin.RelatoriosGeraisQueries: consultas gerais, como declaracoes e ARTs.
  • relatorios_sivwin.RelatoriosServicosQueries: consultas do dominio de servicos e inspecoes.
  • relatorios_sivwin.dbapi: helpers opcionais para executar uma SQLQuery com um cursor ja aberto.

Exemplo Rapido

from relatorios_sivwin import RelatoriosSivWin

relatorios = RelatoriosSivWin()
consulta = relatorios.gerais.relatorio_art(120000, 120999)

print(consulta.sql)
print(consulta.params)
print(consulta.columns)

Por padrao, a representacao SQL bruta usa otimiza como banco:

relatorios = RelatoriosSivWin(database="sivwin_homolog")
consulta = relatorios.servicos.relatorio_completo("2026-02-01", "2026-02-28")

print(consulta.to_sql_raw())

Uso Com Django

from django.db import connections
from relatorios_sivwin import RelatoriosSivWin, fetch_all

relatorios = RelatoriosSivWin()
consulta = relatorios.servicos.relatorio_completo("2026-02-01", "2026-02-28")

with connections["otimiza"].cursor() as cursor:
    dados = fetch_all(cursor, consulta)

Nesse formato:

  • o Django continua responsavel pela conexao;
  • o pacote so define a consulta;
  • o mesmo objeto pode ser reutilizado em outros contextos.

Uso Fora Do Django

from relatorios_sivwin import RelatoriosSivWin

relatorios = RelatoriosSivWin()
consulta = relatorios.gerais.relatorio_declaracoes(123456)

cursor.execute(consulta.sql, consulta.params)
linhas = cursor.fetchall()

Principios Do Pacote

  • Sem acoplamento com conexao, .env ou credenciais.
  • Sem dependencias pesadas para gerar SQL.
  • Metodos de dominio retornam SQLQuery.
  • Queries sempre parametrizadas, sem interpolacao direta de valores.
  • Cada relatorio relevante tem sua propria SQL, escrita de forma explicita.
  • Reaproveitamento existe apenas onde ele realmente simplifica, como constantes SQL e bloco de contato.

Convencao De Aliases

A partir da versao 0.2.2, os aliases seguem o padrao <entidade><eventoOuAtributo><tipo>, em camelCase.

Exemplos:

  • osNumero
  • inspecaoConclusaoDataHora
  • documentoVencimentoData
  • veiculoPlaca
  • proprietarioCpfCnpj

Campos de data/hora preservam o valor temporal original do banco quando a coluna de origem for DataHora. A formatacao para exibicao deve ser feita pelo consumidor.

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

relatorios_sivwin-0.2.2.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

relatorios_sivwin-0.2.2-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file relatorios_sivwin-0.2.2.tar.gz.

File metadata

  • Download URL: relatorios_sivwin-0.2.2.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for relatorios_sivwin-0.2.2.tar.gz
Algorithm Hash digest
SHA256 725836353732a9576579877479720e6db6c6ebf1aa5bba1897dad5e8ac19e673
MD5 2042390891cda7b7c4cf8fb6fbea70ef
BLAKE2b-256 40a10b4656c78df8aec0ccc47ffe948c5c1e3dde8419a143b7bd32da256bd982

See more details on using hashes here.

File details

Details for the file relatorios_sivwin-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for relatorios_sivwin-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bb491166630833ee94996474536d583c0775ca8d7bd0ac0e86414a8aa9f7b270
MD5 88a9f0104485747b317c8445e6c11a09
BLAKE2b-256 00c7433d15022640230ea17fe4869516c527cbd2526d29ab9e3cc1053566ce3f

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