Sobre o projeto

O Licitarium é um programa de computador para Windows que espelha, na máquina do órgão, o que o município publica no PNCP (Portal Nacional de Contratações Públicas). Reúne contratações (editais e avisos), contratos, atas de registro de preços, o Plano de Contratações Anual (PCA) e os itens de cada compra, com preço unitário pago e fornecedor vencedor. O acervo fica pesquisável, offline e permanente — resolveria a necessidade de consultar o histórico processo a processo no portal, que não é pesquisável nem disponível sem internet. O piloto roda em Orindiúva-SP e nada é fixo no código quanto ao município. Acervo e interface A interface traz cinco abas com busca, filtros por ano, modalidade, situação e órgão, ordenação por clique, colunas ajustáveis e exportação em .xlsx: Contratações (editais e avisos das modalidades da Lei 14.133), Contratos (fornecedor, valor global, vigência e selo de situação vigente/vence em 60 dias/encerrado), Atas (objeto e vigência, com o mesmo selo), PCA (itens do plano de cada órgão) e Preços (busca por item, resumo estatístico com mediana, quartis e alerta de outlier, seleção e descarte com motivo, e municípios de referência). Clicar numa linha abre o detalhe completo, incluindo o registro integral em JSON como consta no PNCP e link direto para o processo oficial. A tela inicial exibe três indicadores clicáveis (total de contratações, valor homologado no ano, contratos vigentes) e alertas de vencimento em 60 dias e de propostas em aberto. Montagem do PCA O módulo de PCA usa o histórico de itens já contratados para sugerir o plano do exercício seguinte: agrupa itens semelhantes por radical da descrição, descartando prefixos burocráticos, e funde grupos de radical diferente com descrição muito sobreposta; corrige valores pela série do IPCA (Banco Central) antes de projetar; projeta o quantitativo por média, último ano, maior valor, soma ou tendência por regressão linear; estima o preço por mediana, média, valor mais recente ou menor; aplica margem de segurança padrão de 10%, editável por item; classifica em curva ABC e agrupa por família; e sinaliza unidade divergente, ocorrência única, preço disperso, item já coberto por ata vigente e variação contra o plano anterior. Permite mesclar e dividir grupos, com preço ponderado pelo volume, e preserva ajustes manuais em nova geração. A entrega é uma minuta para revisão humana, não um arquivo de importação. Relatórios São descritos oito relatórios em HTML timbrado (prontos para impressão em PDF) e, quando aplicável, também em .xlsx: Relação de Contratações, Relação de Contratos, Relação de Atas, Resumo Executivo Anual, Alerta de Fracionamento (autocontrole que agrupa dispensas por similaridade de objeto e acompanha limites do art. 75, com janela por exercício ou período móvel), Minuta do PCA e Pesquisa de Preços (subsídio ao art. 23). A impressão sai sempre clara, independentemente do tema escolhido na tela. Sincronização e operação Na primeira execução o usuário escolhe o município (tabela IBGE embutida com 5.571 municípios) e o programa baixa o histórico publicado desde 2021. A cada abertura sincroniza apenas o que mudou, respeitando intervalo de 10 minutos desde a última coleta; o botão Sincronizar coleta sempre. Os órgãos do município são descobertos automaticamente a partir das contratações, e outros podem ser adicionados por CNPJ. Os dados ficam num banco SQLite local em %LOCALAPPDATA%\Licitarium, tratado como cache reconstruível. Sem internet, o programa abre com os dados locais e avisa que não atualizou. O README relata que a sincronização no acervo do piloto levou 33 segundos com 69 consultas ao portal, com três fases em paralelo e reconsulta apenas de itens alterados. Em caso de falha do portal, o cliente tenta cinco vezes com espera crescente (30 a 90 s), sorteia o intervalo entre tentativas e reduz conexões simultâneas sob sobrecarga; o que falha é registrado e refeito na coleta seguinte. Painel A tela inicial resume o exercício em quatro visões (Execução, Análise, Vigilância e Economia), com alertas acima delas que levam à lista já filtrada. Os gráficos são SVG desenhados pelo próprio programa, sem biblioteca e sem rede, em paleta descrita como validada para daltonismo e contraste, e podem ser impressos em A3 paisagem. O README menciona que a consulta que alimenta as quatro visões custa cerca de 120 ms num acervo de 114 MB (3.360 contratações, 25 mil itens) e que os gráficos são redesenhados quando a janela muda de tamanho. Privacidade O programa apenas lê dados públicos do PNCP: não envia dados do computador, não tem telemetria nem conta de usuário e não abre porta de rede. As únicas conexões de saída são para pncp.gov.br e para a API pública do GitHub, usada para checar versões novas. Instalação e arquitetura A via recomendada é o executável da página de releases, sem instalação, sem Python e sem direitos de administrador; o README observa que o SmartScreen pode alertar por ser executável novo e não assinado, e que o Smart App Control do Windows 11 bloqueia binários sem assinatura digital, desativando a atualização automática nesse caso. Alternativamente, roda-se a partir do código com pip install -r requirements.txt e python licitarium.py, em Windows 10/11 com WebView2; as dependências externas citadas são pywebview, openpyxl e motor_pncp, com todo o resto na biblioteca padrão do Python, e a versão indicada é Python 3.12. A arquitetura é de um processo único: janela pywebview/WebView2 conversando com Python por uma ponte js_api, sem servidor HTTP, porta ou firewall; o JSON bruto de cada registro é guardado como fonte da verdade e as colunas do banco são projeção dele. O repositório inclui licitarium.py, pncp.py, pca_builder.py, relatorios.py, arquivos de interface em ui/ (com quatro temas por data-theme e fontes vendorizadas), testes em tests/ com pytest e HTTP mockado, testes de interface em tests-e2e/ com Playwright, além de DESIGN.md, design/IDENTIDADE.md e design/DASHBOARD.md. O CI roda testes de Python e de interface no Windows a cada push e, ao marcar tag v*, compila o executável e o anexa à release via PyInstaller. Em Configurações, Salvar cópia… e Restaurar cópia… guardam e devolvem o acervo inteiro em .zip, conferindo o arquivo e preservando o banco anterior. Autoria e licença A licença é MIT (© 2026 Túlio Ribeiro de Moura e Silva). Cada versão recebe DOI no Zenodo, com citação sugerida no README. Os dados exibidos são públicos, originários do PNCP, nos termos da Lei 14.133/2021 e da Lei de Acesso à Informação, e o projeto declara não ser produto oficial do PNCP nem do Governo Federal.