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.

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.1.tar.gz (10.0 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.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: relatorios_sivwin-0.2.1.tar.gz
  • Upload date:
  • Size: 10.0 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.1.tar.gz
Algorithm Hash digest
SHA256 97500e0244a3d4dcb6003e88ae1eaf581f14439ef9ff73f28c5878c2974f5a06
MD5 2b4bfa07a1f0a74a73a17574c2dbdd52
BLAKE2b-256 eee0b4a3392790c60074a988015f9b79e6df9b37438c50861c1fb54a44fb74af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for relatorios_sivwin-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7dc4f0a8b116fa9b1b692ad810506c9489f16a499b61995e1e803728fc6a2f00
MD5 73308f0d884fe6a976c544c66f73f294
BLAKE2b-256 9c53e602443cb15a08d910a43e469e5101727f5b0df749178511a2f2339e2b39

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