Skip to content

Releases: LAMP-LUCAS/AutoSINAPI

Release v0.4.0-beta.0

25 May 04:26

Choose a tag to compare

🚀 AutoSINAPI Toolkit v0.4.0-beta.0: A Era da Rastreabilidade e Inteligência de Dados

O motor do AutoSINAPI acaba de atingir um novo patamar de maturidade. Nesta versão, focamos em transformar o processo de ETL (Extração, Transformação e Carga) em uma operação de classe empresarial, garantindo que cada centavo calculado tenha uma origem auditável e cada arquivo processado seja tratado com inteligência superior.

✨ O que há de novo (Destaques Técnicos)

  • 🔍 Rastreabilidade Total (Data Lineage): Implementamos um sistema de logs de auditoria profundo. Cada execução agora gera um Run ID único, permitindo rastrear exatamente qual versão do SINAPI populou cada linha do seu banco de dados.
  • 🛡️ SSoT Hardening (Integridade Referencial): Acabamos com as inconsistências. O toolkit agora detecta e resolve automaticamente itens ausentes no catálogo oficial, criando placeholders inteligentes para garantir que suas composições nunca fiquem "orfãs".
  • 🧠 Smart Discovery: Chega de renomear arquivos. O motor agora identifica automaticamente arquivos ZIP do SINAPI em sua pasta de downloads, filtrando apenas o que importa (XLSX) e ignorando ruídos (PDFs).
  • 🏗️ Inteligência AEC Ampliada: Suporte nativo para processamento de planilhas de Famílias de Insumos e Mix de Mão de Obra, abrindo caminho para análises de BI muito mais sofisticadas.
  • ⚡ Políticas UPSERT: Cargas de dados mais inteligentes e rápidas que evitam duplicação e garantem que retificações da CAIXA sejam aplicadas corretamente sobre dados antigos.

🌐 Como usar?

Você pode experimentar o poder deste motor de duas formas:

  1. MundoAEC Hub: Veja os dados processados em tempo real na nossa vitrine oficial: mundoaec.com/autosinapi
  2. Self-Hosted: Desenvolvedores e empresas de engenharia podem rodar este motor de forma privada para processar volumes massivos de dados com total soberania.

Acelere sua tomada de decisão com dados em que você pode confiar. 🏗️📈

What's Changed

  • 🚀 [v0.4.0-beta.0] Rastreabilidade Total & SSoT Hardening by @LAMP-LUCAS in #12

Full Changelog: v0.3.0-beta.1...v0.4.0-beta.0

🚀 AutoSINAPI Release/v0.3.0-beta.1 — Seu Pipeline ETL Está Pronto para Produção

18 Sep 00:32

Choose a tag to compare

🛠️ Sua nova ferramenta de planejamento!

Chegou a hora de aposentar as planilhas manuais e abraçar uma base de dados SINAPI verdadeiramente automatizada. Nesta versão beta, o AutoSINAPI entrega um pipeline ETL completo, testado e modular, projetado para transformar qualquer ZIP do SINAPI em tabelas limpas e prontas para uso imediato.

“Menos horas perdidas no tratamento de dados. Mais decisões embasadas e estratégicas.”


🌟 O que muda de verdade?

Pipeline ETL de Nova Geração
Redesenhamos o etl_pipeline.py para ter um único ponto de entrada (run_etl), suporte a variáveis de ambiente e tratamento de erros consistente. Agora seus workflows são previsíveis, fáceis de debugar e totalmente configuráveis.

Modularidade Máxima
Transformamos o antigo script pre_processador.py em um módulo Python desacoplado. Cada etapa — download, extração, transformação e carga — pode ser reutilizada, estendida ou substituída sem dor de cabeça.

Suíte de Testes Inquebrável
Revisamos fixtures, adicionamos MagicMock onde fazia sentido e atualizamos as asserções para refletir os novos retornos do pipeline. Seus builds CI/CD agora validam cada parte do processo, garantindo zero regressões.

Docker e Docs Alinhados
O Dockerfile, o Makefile e o DataModel.md foram atualizados para refletir a nova arquitetura. Em um único docker-compose up, você tem um ambiente isolado com PostgreSQL e o ETL rodando, pronto para popular sua base.


📦 Uso & Integração

  1. Stand-alone

    • Clone o repositório
    • Ajuste seu .env ou JSON de configuração
    • Execute python tools/autosinapi_pipeline.py --config tools/meu_config.json
      Seu banco SINAPI estará limpo, versionado e pronto para dashboard, BI ou auditoria.
  2. Com outras aplicações
    Se você já usa a [AutoSINAPI_API](https://github.com/LAMP-LUCAS/AutoSINAPI_API), basta apontar a DATABASE_URL para o mesmo PostgreSQL onde o ETL rodou. Em minutos, sua API REST estará servindo dados fresquinhos e estruturados.


🔧 Changelog Técnico

  • Refactor

    • etl_pipeline.py reestruturado com run_etl centralizado
    • Tratamento de erros unificado em todo o pipeline
    • pre_processador.py convertido em módulo importável
  • Feature

    • Suíte de testes revisada e fixtures simplificadas com MagicMock
    • Ajustes em test_pipeline.py, test_file_input.py e test_downloader.py
  • Docs

    • Atualização do DataModel.md à nova estrutura
  • Chore

    • Dockerfile e Makefile alinhados ao pipeline
    • Workflow CI (tests.yml) ajustado para a nova suíte de testes

🔍 Histórico de Implementações

  • Merge branch 'release/v0.3.0-beta.1' — @LAMP-LUCAS (commit 0399303)
  • feat(docker): adiciona suporte para ambiente containerizado — @LAMP-LUCAS
  • docs: diretrizes de contribuição e documentação atualizada — @LAMP-LUCAS
  • chore: trigger release drafter — @LAMP-LUCAS
  • Feature/refactor etl interface | Refatora pipeline ETL e estabiliza suíte de testes — @LAMP-LUCAS ([PR #11](#11))

🔗 [Veja o changelog completo](v0.2.0-alpha.1...v0.3.0-beta.1)


📣 Teste, Valide, Contribua

Esta é a versão beta: estável o bastante para produção leve, mas aberta ao feedback da comunidade.
Abra issues, envie PRs e compartilhe como o AutoSINAPI acelerou seu fluxo. Juntos vamos chegar à v1.0.0 mais rápido — e com mais qualidade.

O futuro da automação dos dados SINAPI começa aqui.


Release v0.2.0-alpha.1

03 Sep 21:15

Choose a tag to compare

Pre-release

🔥 Nova versão do autoSINAPI saindo do forno!

É com grande satisfação que lançamos a segunda versão alpha do autoSINAPI! Se a primeira versão foi sobre criar a visão, esta é sobre construir a fundação. Realizamos uma profunda refatoração em toda a arquitetura do projeto, aplicando princípios de Clean Code e SOLID para garantir que o autoSINAPI seja mais estável, manutenível e pronto para crescer.

Além disso, esta release introduz um ecossistema de desenvolvimento moderno com suporte a Docker, testes automatizados e um pipeline de CI/CD, preparando o terreno para entregas mais rápidas e confiáveis para a comunidade.

Principais Destaques da Versão

  • 🧱 Arquitetura Renovada: O core do projeto foi reescrito para ser mais modular e desacoplado, tornando o código mais limpo e fácil de entender.
  • 🐳 Suporte a Docker: Agora é possível executar todo o pipeline em um ambiente containerizado, garantindo consistência e facilitando a configuração para novos contribuidores.
  • ⚙️ Automação de CI/CD e Releases: Implementamos um fluxo de trabalho com GitHub Actions para automação de testes e preparação de releases, garantindo a qualidade do código.
  • 🐛 Correção Crítica no Processamento de Dados: Resolvemos a falha na extração de códigos de planilhas de custos que utilizavam a fórmula HYPERLINK, garantindo 100% de precisão na ingestão dos dados.
  • 📚 Documentação Abrangente: Criamos e aprimoramos as diretrizes de contribuição, o modelo de dados e o README para facilitar o uso e a colaboração.

Changelog Técnico Detalhado

Abaixo estão as principais mudanças técnicas desde a última versão, com base no histórico de commits:

🚀 Novas Funcionalidades (Features)

  • Automação de Releases e CI/CD (#10, #3): Implementado um fluxo completo com GitHub Actions para automação de testes, CI/CD e um processo semi-automatizado para criação de releases.
  • Suporte a Docker (#4): Adicionado Dockerfile e docker-compose.yml para permitir a execução do pipeline em um ambiente containerizado, incluindo o banco de dados e ferramentas de gerenciamento.
  • Versionamento Dinâmico (#3): Adotado o setuptools-scm para automatizar a versão do pacote a partir das tags do Git, eliminando a necessidade de atualizações manuais.
  • Processamento de Dados Aprimorado (#4): Introduzido um pré-processamento para converter planilhas de custos em CSV, otimizando a ingestão e a robustez do ETL.

🐛 Correções de Bugs (Fixes)

  • Processador de Dados (#4): Corrigida a extração de códigos das fórmulas HYPERLINK nas planilhas de custos, que anteriormente resultava em dados inválidos.
  • Pipeline de CI/CD (#9): Realizados ajustes nos workflows do GitHub Actions para corrigir falhas e garantir a execução estável da suíte de testes.
  • Leitura de Planilhas (#4): Ajustada a leitura do cabeçalho da planilha "Analítico" para uma posição fixa, aumentando a confiabilidade do parser.

🔧 Melhorias e Refatorações (Refactor)

  • Arquitetura Core (#3): O pipeline foi completamente refatorado para uma arquitetura modular, com responsabilidades claras para os módulos de downloader, processor e database.
  • Banco de Dados (#4): O módulo de banco de dados foi reestruturado para ser mais flexível, com logging detalhado, políticas de salvamento de dados (upsert/append) e recriação de tabelas.
  • Código e Estrutura: Aplicados princípios de Clean Code e SOLID em todo o core do projeto para melhorar a legibilidade e manutenibilidade.

📚 Documentação (Docs)

  • Diretrizes de Contribuição (#8, #10): Adicionado um guia completo (CONTRIBUTING.md) com os padrões de versionamento, branches, commits e o novo fluxo de release.
  • Modelo de Dados e README (#7, #4): A documentação do modelo de dados foi reescrita e o README.md foi aprimorado para refletir a nova arquitetura e facilitar o onboarding de novos usuários.

Agradecemos a todos que contribuíram para esta release! Continuamos na fase alpha e seu feedback é fundamental para o futuro do projeto. Vamos juntos! 🚧✨

🚀 autoSINAPI v0.1.0-alpha.1 — O Futuro da Automação SINAPI Começa Agora!

29 Aug 16:28
1c1e071

Choose a tag to compare

O autoSINAPI está sendo lançado!

É com grande entusiasmo que anunciamos o lançamento da primeira versão alpha do autoSINAPI! Este projeto nasce para revolucionar o dia a dia dos profissionais que trabalham com orçamentos, planejamento e análise de custos de obras públicas, trazendo automação, praticidade e confiabilidade ao processo de manipulação dos dados do SINAPI.

O que o autoSINAPI entrega para você?

  • Automação Completa do Pipeline SINAPI
    Baixe, processe e organize os dados do SINAPI de forma automática, eliminando tarefas manuais repetitivas e reduzindo erros.

  • Processamento Inteligente de Dados
    Transforme planilhas e arquivos do SINAPI em estruturas de dados prontas para análise, integração e uso em sistemas próprios.

  • Foco em Produtividade e Eficiência
    Ganhe tempo e aumente a precisão dos seus orçamentos, com ferramentas que facilitam a atualização e o uso das tabelas SINAPI.

  • Código Aberto, Transparente e Testado
    Projeto 100% open source, com testes automatizados, documentação clara e arquitetura pensada para facilitar contribuições e customizações.

  • Pronto para Evoluir com Você
    O autoSINAPI foi desenhado para crescer: novas funcionalidades, integrações e melhorias já estão no nosso roadmap!

Para quem é o autoSINAPI?

  • Engenheiros, arquitetos e orçamentistas que precisam de dados SINAPI atualizados e organizados.
  • Analistas de dados e desenvolvedores que desejam integrar o SINAPI a sistemas próprios.
  • Gestores públicos e privados que buscam transparência e agilidade na análise de custos de obras.

O que vem por aí?

Esta é uma versão alpha: queremos ouvir você! Teste, explore, contribua e nos ajude a tornar o autoSINAPI ainda mais completo. Em breve, teremos novas integrações, melhorias de performance e muito mais.


Agradecemos a todos que apoiaram e colaboraram até aqui. O autoSINAPI é feito para a comunidade — e com a comunidade!

Vamos juntos transformar a forma como lidamos com o SINAPI! 🚧✨