ExIbge é um cliente Elixir amigável e moderno para as APIs do IBGE.
Desenvolvido para ser simples e fácil de integrar em qualquer projeto Elixir.

Hex.pm Docs

Instalação

Adicione ex_ibge à sua lista de dependências no mix.exs:

def deps do
  [
    {:ex_ibge, "~> 0.4.0"}
  ]
end

Como Usar

A biblioteca facilita a busca por municípios permitindo o uso de atoms (como :sp, :rj) para identificar estados, além de suportar filtros nativos da API.

Buscando Municípios

alias ExIbge.Locality.Municipality

# Buscar um município pelo ID
iex> Municipality.find(3550308)
%ExIbge.Geography.Municipality{
  id: 3550308,
  name: "São Paulo",
  microregion: %ExIbge.Geography.Microregion{id: 35052, name: "São Paulo"},
  immediate_region: %ExIbge.Geography.ImmediateRegion{id: 35001, name: "São Paulo"}
}

# Buscar municípios ordenados por nome
iex> Municipality.all(order_by: :name)
[
  %ExIbge.Geography.Municipality{
    id: 3550308,
    name: "São Paulo",
    microregion: %ExIbge.Geography.Microregion{id: 35052, name: "São Paulo"},
    immediate_region: %ExIbge.Geography.ImmediateRegion{id: 35001, name: "São Paulo"}
  },
  ...
]

Estruturas de Dados

Os retornos são structs Elixir devidamente mapeadas, facilitando o pattern matching:

%ExIbge.Geography.Municipality{
  id: 3550308,
  name: "São Paulo",
  microregion: %ExIbge.Geography.Microregion{...},
  immediate_region: %ExIbge.Geography.ImmediateRegion{...}
}

Funcionalidades

Localidades

Outras APIs


Próximos Passos

Criar novas funcionalidades

  • [ ] Banco de Dados Geodésicos
  • [x] BNGB (Banco de Nomes Geográficos do Brasil)
  • [x] Calendário (Cronograma de ações e publicações)
  • [ ] CNAE (Classificação Nacional de Atividades Econômicas)
  • [ ] hgeoHNOR (Conversão de altitudes)
  • [ ] Malhas Geográficas
  • [ ] Metadados (Metadados de pesquisas)
  • [ ] Notícias (Agência IBGE Notícias)
  • [ ] Países (Indicadores socioeconômicos globais)
  • [ ] Pesquisas (Censo, Brasil Cidades, etc.)
  • [ ] PPP (Posicionamento por Ponto Preciso)
  • [ ] Produtos (Estatística e geociências)
  • [ ] ProGriD (Transformação de coordenadas)
  • [ ] Publicações (Biblioteca do IBGE)
  • [ ] RBMC (Rede Brasileira de Monitoramento Contínuo)
  • [ ] RMPG (Rede Maregráfica Permanente para Geodésia)

Melhorias

  • [ ] Exemplos práticos com Elixir & Gleam: Criar exemplos de uso real da biblioteca demonstrando análise de dados geográficos e estatísticos do IBGE.

Contribuindo

Contribuições são muito bem-vindas! Seja corrigindo bugs, adicionando novas funcionalidades ou melhorando a documentação.

Para detalhes sobre como colaborar, por favor leia nosso Guia de Contribuição.

Sinta-se livre para abrir PRs implementando qualquer um dos itens acima!