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 umaSQLQuerycom 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,
.envou 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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97500e0244a3d4dcb6003e88ae1eaf581f14439ef9ff73f28c5878c2974f5a06
|
|
| MD5 |
2b4bfa07a1f0a74a73a17574c2dbdd52
|
|
| BLAKE2b-256 |
eee0b4a3392790c60074a988015f9b79e6df9b37438c50861c1fb54a44fb74af
|
File details
Details for the file relatorios_sivwin-0.2.1-py3-none-any.whl.
File metadata
- Download URL: relatorios_sivwin-0.2.1-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dc4f0a8b116fa9b1b692ad810506c9489f16a499b61995e1e803728fc6a2f00
|
|
| MD5 |
73308f0d884fe6a976c544c66f73f294
|
|
| BLAKE2b-256 |
9c53e602443cb15a08d910a43e469e5101727f5b0df749178511a2f2339e2b39
|