Contexto
O brverse é um repositório que agrega 41 pacotes R para acesso a dados brasileiros, mantido pelo IPEA. Desses, 34 são pacotes de acesso a dados (excluindo utilitários como deflateBR, numbersBR, metaphonebr, SoundexBR, genderBR, nomesbr, enderecobr).
Esta issue propõe integrar essas fontes de dados ao ecossistema Python, dividindo entre:
- raspe (~20 pacotes): os que acessam APIs REST, portais web ou arquivos públicos
- brverse-py (projeto separado, ~14 pacotes): os que envolvem dados espaciais, microdados complexos ou lógica difícil de reimplementar
A recomendação é reimplementar nativamente em Python (não usar rpy2), seguindo a arquitetura de scrapers do raspe. Para os pacotes complexos (espaciais, microdados), considerar rpy2 apenas como fallback no projeto brverse-py separado.
Triagem: raspe vs brverse-py
Para o raspe (~20 pacotes)
Pacotes que acessam APIs REST documentadas, portais web, ou arquivos CSV/Excel públicos — encaixam na arquitetura BaseScraper/HTMLScraper:
| Domínio |
Pacotes |
| Economia |
ipeadatar, BacenAPI, rbcb, GetTDData, bndesr, orcamentoBR, siconvr, BETS |
| Eleitorais |
electionsBR, speechbr |
| Espaciais |
cepR |
| Meio Ambiente |
BrazilMet, brclimr |
| População |
brpop |
| Saúde |
microdatasus, PNSIBGE, COVIDIBGE |
| Segurança |
BrazilCrime, ispdata |
| Transportes |
flightsbr, aopdata |
| Outros |
owdbr, abjData, aebdata, sidrar, basedosdados |
Para o brverse-py (~14 pacotes)
Pacotes com processamento complexo, dados espaciais pesados, ou lógica difícil de reimplementar:
- Espaciais: geobr, geocodebr, odbr (dados geográficos pesados, dependência de GeoPandas)
- Microdados complexos: censobr, PNADcIBGE (pesos amostrais, arquivos de largura fixa)
- Taxonomia: flora, florabr (lógica de resolução taxonômica complexa)
- Multi-fonte: datazoom.amazonia (agregação de PRODES, INPE, IBGE, etc.)
Mapeamento de equivalentes Python existentes
Equivalente direto em Python (12/34)
| R Package |
Python Equivalent |
PyPI |
| ipeadatar |
ipeadatapy |
link |
| BacenAPI |
BacenAPI |
link |
| rbcb |
python-bcb |
link |
| electionsBR |
electionsBR |
link |
| geobr |
geobr |
link |
| cepR |
brazilcep |
link |
| BrazilMet |
inmetpy |
link |
| brpop |
PySUS |
link |
| PNADcIBGE |
pynad |
link |
| microdatasus |
PySUS + datasus-fetcher |
link |
| sidrar |
sidrapy |
link |
| basedosdados |
basedosdados |
link |
Equivalente parcial (6/34)
| R Package |
Python Parcial |
Notas |
| GetTDData |
tesouro-direto-br |
Foco diferente (portfolio vs dados) |
| BETS |
python-bcb + brazilian-data |
BETS agrega muitas fontes |
| speechbr |
camaraPy |
Parcial, só Câmara |
| censobr |
ibge-parser |
Parcial |
| PNSIBGE |
lerMicrodados |
Parcial |
| COVIDIBGE |
lerMicrodados |
Parcial |
Sem equivalente Python (16/34)
orcamentoBR, siconvr, bndesr, geocodebr, brclimr, florabr, flora, BrazilCrime, ispdata, flightsbr, odbr, aopdata, owdbr, abjData, aebdata, datazoom.amazonia
Categorização detalhada por domínio
Economia e Finanças (8 pacotes)
| Pacote |
Equivalente Python |
API Pública? |
Dificuldade |
Notas |
| ipeadatar |
ipeadatapy (oficial) |
Sim - REST API documentada |
Fácil |
Port direto |
| orcamentoBR |
Nenhum |
Sim - SIOP SPARQL endpoint |
Médio |
SPARQL, não REST |
| siconvr |
Nenhum |
Parcial - Plataforma +Brasil CSV |
Médio |
Sem REST API limpa |
| BacenAPI |
BacenAPI (Python) |
Sim - BCB SGS API |
Fácil |
Port oficial |
| rbcb |
python-bcb |
Sim - BCB OData API |
Fácil |
Bem mantido |
| GetTDData |
tesouro-direto-br (parcial) |
Sim - Excel files públicos |
Fácil |
Escopo diferente |
| bndesr |
Nenhum |
Sim - BNDES CKAN com API |
Fácil |
Exemplos Python no GitHub |
| BETS |
python-bcb + brazilian-data |
Sim - BCB/IBGE/IPEA públicos |
Médio |
Agrega múltiplas fontes |
Eleitorais (2 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| electionsBR |
electionsBR (Python) |
Fácil |
TSE + CepespData API |
| speechbr |
camaraPy (parcial) |
Fácil |
Câmara REST API documentada |
Espaciais (3 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| geobr |
geobr (Python oficial) |
Difícil |
Dados espaciais, geopandas |
| geocodebr |
Nenhum (geopy genérico) |
Difícil |
Geocoding complexo, CNEFE |
| cepR |
brazilcep |
Fácil |
API ViaCEP pública |
Meio Ambiente (4 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| brclimr |
Nenhum |
Médio |
Parquet no Zenodo |
| BrazilMet |
inmetpy |
Fácil |
API INMET pública |
| florabr |
Nenhum |
Médio |
Flora e Funga do Brasil |
| flora |
Nenhum |
Médio |
Flora 2020 checklist |
População (3 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| censobr |
ibge-parser (parcial) |
Difícil |
Microdados censo, Arrow/Parquet |
| brpop |
PySUS |
Fácil |
Estimativas populacionais |
| PNADcIBGE |
pynad |
Médio |
FTP, pesos amostrais |
Saúde (3 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| microdatasus |
PySUS + datasus-fetcher |
Médio |
FTP DataSUS, formato DBC |
| PNSIBGE |
lerMicrodados (parcial) |
Médio |
Microdados PNS |
| COVIDIBGE |
lerMicrodados (parcial) |
Médio |
PNAD COVID |
Segurança (2 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| BrazilCrime |
Nenhum |
Médio |
SINESP, sem API estável |
| ispdata |
Nenhum |
Fácil |
ISP-RJ CSV downloads |
Transportes (3 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| flightsbr |
Nenhum |
Médio |
ANAC API |
| odbr |
Nenhum |
Médio |
Pesquisas OD, dados espaciais |
| aopdata |
Nenhum |
Médio |
IPEA CSV/geopackage |
Miscelânea (6 pacotes)
| Pacote |
Equivalente |
Dificuldade |
Notas |
| owdbr |
Nenhum |
Fácil |
Transparencia.gov.br Swagger API |
| abjData |
Nenhum |
Fácil |
Datasets estáticos |
| aebdata |
Nenhum |
Médio |
Atlas do Estado Brasileiro |
| sidrar |
sidrapy |
Fácil |
IBGE SIDRA API |
| basedosdados |
basedosdados (oficial) |
Fácil |
BigQuery, precisa GCP |
| datazoom.amazonia |
Nenhum |
Difícil |
Multi-fonte (PRODES, INPE, IBGE) |
Priorização para implementação no raspe
Tier 1: Implementar primeiro (sem equivalente + fácil + alta demanda)
- owdbr — API REST do Portal da Transparência com documentação Swagger
- ispdata — Downloads CSV simples do ISP-RJ (segurança pública do Rio)
- bndesr — Portal CKAN do BNDES com API e exemplos em Python
Tier 2: Quick wins (já tem equivalente Python para encapsular)
- ipeadata — ipeadatapy já existe no PyPI
- sidrar — sidrapy já existe no PyPI
- BacenAPI — python-bcb já existe no PyPI
Tier 3: Estratégicos (sem equivalente, valor alto)
- flightsbr — Dados de aviação da ANAC
- brclimr — Dados climáticos/meteorológicos
- orcamentoBR — Orçamento federal via SIOP SPARQL
- BrazilCrime — Dados de segurança pública do SINESP
Estatísticas gerais
| Métrica |
Valor |
| Total de pacotes analisados |
34 (excluindo utilitários) |
| Com equivalente Python direto |
12 (35%) |
| Com equivalente parcial |
6 (18%) |
| Sem equivalente |
16 (47%) |
| Dificuldade fácil |
16 (47%) |
| Dificuldade média |
13 (38%) |
| Dificuldade difícil |
5 (15%) |
Fases de implementação propostas
Fase 1: APIs REST simples
- Pacotes: ipeadata, BacenAPI, sidrar, owdbr, ispdata, bndesr
- Escopo: 6-8 scrapers
Fase 2: Portais e APIs complexas
- Pacotes: flightsbr, aopdata, brclimr, orcamentoBR
- Escopo: 4 scrapers
Fase 3: Pacotes complexos (brverse-py separado)
- Pacotes: censobr, geobr, PNADcIBGE, flora, datazoom.amazonia
- Escopo: Repositório separado, rpy2 como fallback
Pacotes Python unificados relacionados
Vale considerar como referência ou dependência: