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)

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.0.tar.gz (9.7 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.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: relatorios_sivwin-0.2.0.tar.gz
  • Upload date:
  • Size: 9.7 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.0.tar.gz
Algorithm Hash digest
SHA256 0d85c5529bf3281388ce32f5f8de095ef262185370235bd7a246440f009d7da3
MD5 3e2de9f314b646a156daabdaf102de09
BLAKE2b-256 435160f026ef5951e2f5fd3345ab56703939a252c72fd70af15eb567898decc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for relatorios_sivwin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 babf18b8564c9749d0ae1a98ec863149c53af5687c27a6afa99954c97ea75fe1
MD5 ba685d2bf365e2e78352f4975eb423c7
BLAKE2b-256 0450bc3b9b0e18912aa98ac7a94455fdf06381e6ca73a20ac86c5a83ce83c8bc

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