Gov Hub BR MCID
Início Entregas

Tudo o que foi entregue

O histórico completo das entregas do Ministério das Cidades, do trimestre mais recente ao primeiro. Cada item traz a descrição escrita pelo autor no pull request, quando existe, e o link para a evidência.

15 entregas · dez/2024 — ago/2026

Onde começa esta história. O repositório é um fork de data-application-gov-hub, criado em 13/abr/2026, e herdou o histórico da plataforma base. O pipeline do Ministério das Cidades, porém, nasceu depois do fork: não há um único commit no projeto dbt mcid anterior a essa data. Por isso todas as entregas abaixo são pull requests deste repositório, com a descrição escrita pelo autor. O que veio de antes foram fontes de ingestão já existentes na plataforma — IBGE e BACEN entre elas — reaproveitadas pelo domínio de Conjuntura.

2026T3

  1. Adiciona script de dif entre Minio e sftp

    Juan-Ricarte · outro
  2. melhoras no script de snapshot

    gusrberto · refatoração

    Adiciona ao script sftp_snapshot.py a capacidade de detectar cópia de arquivos entre diretórios do SFTP. - Um arquivo novo cujo nome+tamanho coincide com um arquivo ainda presente em outro path é classificado como copiado (origem -> destino), não como novo.

  3. ingestão dos dados do sftp

    gusrberto · funcionalidade

    Foram feitos dois scripts: - [x] Script de inserção de dados do SFTP no banco do projeto; - [x] Script de snapshots para descobrir alterações que ocorreram no SFTP entre períodos diferentes.

    Resolve as issues #91 e #92

2026T2

  1. #86 Entidades

    pipeline dbt da linha entidades (FDS) do MCMV

    gusrberto · funcionalidade

    Resolve as issues #78, #79 e #80

    Criação das 3 camadas do pipeline de transformação dos dados do MCMV Entidades. - [x] Camada bronze com tratamanto e normalização das tabelas; - [x] Camada silver com cruzamentos e integração das tabelas; - [x] Camada gold com tabelas criadas a partir da silvers para consumo no Superset;

  2. #76 Conjuntura

    Fixture/ajustes conjuntura

    bottinolucas · outro

    Descrição

    Adiciona rastreabilidade completa de datas em todos os modelos dbt do pipeline de conjuntura, permitindo identificar quando cada dado foi coletado e quando cada camada foi materializada. O que foi feito:

    O que foi feito?

    • Criado macro add_metadata_timestamps(layer, has_ingest_date) em macros/add_metadata_timestamps.sql, que padroniza a inserção das colunas de auditoria em todos os modelos Silver e Gold
    • Adicionado dt_ingest (propagado da Bronze), dt_silver (current_timestamp na materialização) em todos os 19 modelos Silver
    • Adicionado dt_ingest, dt_silver e dt_gold (current_timestamp na materialização) em todos os 20 modelos Gold
    • Bronzes com inserção manual (sem pipeline) recebem NULL::timestamp em dt_ingest — sinalizando explicitamente a ausência de rastreabilidade de coleta
    • Modelos com GROUP BY propagam dt_ingest via MAX(dt_ingest); modelos com múltiplas fontes utilizam GREATEST(a.dt_ingest, b.dt_ingest) para refletir a ingestão mais recente
    • Queries do dashboard Superset atualizadas com dt_ingest AS "Data Atualização" em todos os charts implementados

    Impacto

    Nenhuma coluna existente foi alterada ou removida — apenas adição de colunas novas. Sem breaking changes.

  3. #23 Empreendimento FAR

    evolucao financeira da obra FAR

    gusrberto · funcionalidade

    Resolve a issue #20

    Cria as camadas bronze, silver e gold de evolução financeira que:

    • [x] Limpar e tipar os dados brutos da tabela financeiro_mensal (bronze)
    • [x] Agregar as liberações por APF e mês, calcular o desembolso acumulado e fazer o JOIN com os empreendimentos (silver);
    • [x] Expor os dados ao Superset em formato display-ready, seguindo a convenção do projeto onde apenas modelos gold são consumidos pelo BI (gold)
  4. #16 Conjuntura

    Feat/conjuntura dbt

    MilenaFRocha · outro

    refs #216 refs #217

  5. #13 Empreendimento FAR

    agregacao de empreendimentos far por estado

    gusrberto · funcionalidade
    • [x] Nova tabela gold de panorama_estadual que agrega as informações dos empreendimentos do Novo MCMV FAR em diferentes tipos de charts;
    • [x] Criação de nova aba Estados na Dashboard do FAR no Superset para visualização da gold criada;
  6. #10 Conjuntura

    Ingestão FipeZAP — Índice de Locação Residencial

    bottinolucas · outro

    Descrição

    Implementa a ingestão do Índice FipeZAP de locação residencial a partir do XLSX histórico disponibilizado publicamente pela FIPE.

    Arquivos adicionados

    • airflow_lappis/plugins/cliente_fipezap.py
    • airflow_lappis/dags/data_ingest/fipezap/fipezap_historico_ingest_dag.py
    • airflow_lappis/dags/data_ingest/fipezap/fipezap_trimestral_ingest_dag.py

    Dados ingeridos

    • imoveis_residenciais_locacao_var_mensal_total — variação mensal (%) da locação residencial
    • imoveis_residenciais_locacao_var_ano_total — variação em 12 meses (%) da locação residencial

    Decisões técnicas

    • XLSX baixado em memória via BytesIO — nenhum arquivo salvo em disco
    • DAG trimestral regrava a série completa a cada execução via upsert — captura revisões retroativas automaticamente (comportamento confirmado durante o mapeamento)
    • DAG histórica com schedule_interval=None — execução manual única
    • Tratamento de exceções do Airflow: AirflowFailException para falha no download, AirflowSkipException para XLSX vazio

    Tabela destino

    fipezap.indice_locacao

  7. #9 Conjuntura

    Ingestão ABECIP - Caderneta de poupança SBPE Mensal

    bottinolucas · outro

    Descrição

    Implementa a ingestão dos dados de Saldo da Caderneta de Poupança SBPE Mensal da ABECIP, a partir do XLSX disponibilizado publicamente no site da associação.

    Arquivos adicionados

    • airflow_lappis/plugins/cliente_abecip.py
    • airflow_lappis/dags/data_ingest/abecip/abecip_poupanca_historico_ingest_dag.py
    • airflow_lappis/dags/data_ingest/abecip/abecip_poupanca_trimestral_ingest_dag.py

    Dados ingeridos — aba SBPE_Mensal

    • deposito — R$ milhões
    • retirada — R$ milhões
    • captacao_liquida_valor — R$ milhões
    • captacao_liquida_pct — %
    • rendimento — R$ milhões
    • saldo — R$ milhões

    Decisões técnicas

    • Cliente faz scraping da página ABECIP antes do download para obter sempre a URL atual do XLSX — o nome do arquivo muda a cada atualização (ex: cp-historico-marco20261.xlsxcp-historico-abril20261.xlsx)
    • XLSX baixado em memória via BytesIO — nenhum arquivo salvo em disco
    • Filtro de linhas futuras — descarta meses preenchidos com zero sem saldo no XLSX
    • Filtro de linhas anuais — descarta registros Total.YYYY mantendo apenas registros mensais
    • DAG trimestral regrava a série completa via upsert — captura revisões retroativas
    • Tratamento de exceções do Airflow: AirflowFailException para falha no scraping ou download, AirflowSkipException para XLSX vazio
    • Valores em R$ milhões — conversão de unidade é responsabilidade do dbt
    • Cliente estruturado para receber novos datasets da ABECIP (ex: SBPE de financiamento) via novos métodos fetch_and_transform_* sem necessidade de criar um novo cliente

    Tabela destino

    abecip.poupanca_sbpe_mensal

  8. #14 Conjuntura

    Feat/ingestao infomoney

    MilenaFRocha · outro

    refs #220 https://github.com/GovHub-br/data-application-gov-hub/issues/220

  9. #3 Conjuntura

    Cidades relatorio

    mat054 · outro

    Ingestões do IBGE + BACEN relacionado à Conjuntura

    Documentação das ingestões do ibge: https://docs.google.com/document/d/1CQq1vLgNtc5YN_aFODu8TttZhleq7Mx-NnIQkh1kD8E/edit?tab=t.0

    Variables do airflow: Key: IBGE_CONFIGURACOES Value: [ {"agregado": 5932, "variaveis": "6564|6563|6562|6561", "tabela": "pib_construcao", "periodos": "-20", "classificacao_id": 11255, "categoria": 90694}, {"agregado": 2296, "variaveis": "48|1196|1197|1198", "tabela": "sinapi", "periodos": "-30"}, {"agregado": 2072, "variaveis": "933", "tabela": "pib_consolidado_trimestral_bruto", "periodos": "-20"}, {"agregado": 1846, "variaveis": "585", "tabela": "pib_corrente_milhoes_brl", "periodos": "-20", "classificacao_id": 11255, "categoria": "all"}, {"agregado": 585, "variaveis": "632|1908|1924", "tabela": "paic_resultados", "periodos": "-10"}, {"agregado": 586, "variaveis": "631|1816|673|1780", "tabela": "paic_pessoal_salarial", "periodos": "-10"}, {"agregado": 591, "variaveis": "1930|1931|1932", "tabela": "paic_obras", "periodos": "-10"}, {"agregado": 6323, "variaveis": "4090", "tabela": "pnad_trabalho_construcao", "periodos": "-12", "classificacao_id": 888, "categoria": "47946|47949"}, {"agregado": 6391, "variaveis": "5932", "tabela": "pnad_rendimento_construcao", "periodos": "-12", "classificacao_id": 888, "categoria": "47946|47949"}, {"agregado": 7521, "variaveis": "606", "tabela": "pnadc_populacao_decis_renda", "periodos": "-5", "classificacao_id": 1019, "categoria": "all"}, {"agregado": 7531, "variaveis": "10824", "tabela": "pnadc_rendimento_domiciliar_real", "periodos": "-5", "classificacao_id": 1019, "categoria": "all"}, {"agregado": 6821, "variaveis": "162|10114", "tabela": "pnadc_habitacao_condicao", "periodos": "-5", "classificacao_id": 63, "categoria": "4343|1055|2519|1058"} ]

  10. #8 Empreendimento FAR

    DBTs bronze, silver e gold para empreendimentos far

    gusrberto · funcionalidade

    Resolve a issue #7

  11. #4 Conjuntura

    dags para extracao de indices MRV

    gusrberto · funcionalidade
    • [x] DAG airflow_lappis/dags/data_ingest/mrv/lancamentos_ingest_dag.pypara extração dos Lançamentos trimestrais (e anuais) da MRV a partir de um arquivo XLSX obtido do site da MRV;
    • [x] DAG airflow_lappis/dags/data_ingest/mrv/vendas_ingest_dag.py para extração das Vendas Líquidas trimestrais (e anuais) da MRV a partir de um arquivo XLSX obtido do site da MRV;
  12. #2 Conjuntura

    dags para extração de indices FGV

    gusrberto · funcionalidade
    • [x] DAG airflow_lappis/dags/data_ingest/fgv/incc_m_ingest_dag.pypara extração do índice INCC-M da FGV a partir de um arquivo XLSX do site da Sinduscon-PR;
    • [x] DAG airflow_lappis/dags/data_ingest/fgv/icst_ingest_dag.py para extração do índice ICST da FGV a partir de um CSV obtido a partir de um scraper no site FGVDados;

    OBS: Para a segunda DAG é necessário ter uma conta na plataforma FGVDados, e colocar as credenciais na parte de "Variables" do Airflow com os nomes dados_fgv_email e dados_fgv_password:

    <img width="684" height="85" alt="image" src="https://github.com/user-attachments/assets/cb89864d-576e-402a-adaa-fefb25dfdde9" />