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)
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
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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d85c5529bf3281388ce32f5f8de095ef262185370235bd7a246440f009d7da3
|
|
| MD5 |
3e2de9f314b646a156daabdaf102de09
|
|
| BLAKE2b-256 |
435160f026ef5951e2f5fd3345ab56703939a252c72fd70af15eb567898decc2
|
File details
Details for the file relatorios_sivwin-0.2.0-py3-none-any.whl.
File metadata
- Download URL: relatorios_sivwin-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.5 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 |
babf18b8564c9749d0ae1a98ec863149c53af5687c27a6afa99954c97ea75fe1
|
|
| MD5 |
ba685d2bf365e2e78352f4975eb423c7
|
|
| BLAKE2b-256 |
0450bc3b9b0e18912aa98ac7a94455fdf06381e6ca73a20ac86c5a83ce83c8bc
|