https://github.com/anderson-ufrj/transparenciabr-analytics
🇧🇷 Análise de transparência governamental com IA e ML via API do Portal da Transparência.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.4%) to scientific vocabulary
Repository
🇧🇷 Análise de transparência governamental com IA e ML via API do Portal da Transparência.
Basic Info
Statistics
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
TransparenciaBR-Analytics 🇧🇷
🚀 Acessar Dashboard | 📚 Documentação
Uma plataforma completa para análise de dados do Portal da Transparência do Governo Federal Brasileiro, com foco em Machine Learning e visualizações interativas.
📊 Status do Projeto
🎯 Objetivos
- Coletar e processar dados públicos do Portal da Transparência
- Analisar padrões em gastos públicos, contratos e licitações
- Detectar anomalias usando técnicas de Machine Learning
- Visualizar insights através de dashboards interativos
- Democratizar o acesso à informação pública
🚀 Início Rápido
Pré-requisitos
- Python 3.8 ou superior
- Git
- Conta e chave de API do Portal da Transparência
Instalação
Clone o repositório:
bash git clone https://github.com/anderson-ufrj/TransparenciaBR-Analytics.git cd TransparenciaBR-AnalyticsCrie um ambiente virtual: ```bash python -m venv venv source venv/bin/activate # Linux/Mac
ou
venv\Scripts\activate # Windows ```
Instale as dependências:
bash pip install -r requirements.txtConfigure as variáveis de ambiente: ```bash cp .env.template .env
Edite o arquivo .env com suas credenciais
```
Valide a instalação:
bash python scripts/validate_setup.py
📊 Estrutura do Projeto
TransparenciaBR-Analytics/
├── data/ # Dados coletados e processados
│ ├── raw/ # Dados brutos da API
│ ├── processed/ # Dados processados
│ └── cache/ # Cache de requisições
├── notebooks/ # Notebooks Jupyter para análise
│ ├── 00_setup_validation.ipynb
│ ├── 01_exploratory/ # Análises exploratórias
│ └── 02_analysis/ # Análises avançadas
├── src/ # Código fonte principal
│ ├── api/ # Cliente da API
│ ├── data/ # Pipeline de dados
│ ├── models/ # Modelos de ML
│ ├── dashboard/ # Dashboard Streamlit
│ └── utils/ # Funções auxiliares
├── tests/ # Testes automatizados
├── scripts/ # Scripts utilitários
├── docs/ # Documentação
└── reports/ # Relatórios gerados
🔧 Uso Básico
1. Exploração da API
```python from src.api.client import TransparenciaAPIClient
Inicializar cliente
client = TransparenciaAPIClient()
Buscar contratos
contratos = client.get_contratos(pagina=1, quantidade=100)
Buscar pagamentos
pagamentos = client.get_pagamentos(ano=2024) ```
2. Coleta de Dados
```python from src.data.collector import DataCollector
Coletar dados de múltiplos endpoints
collector = DataCollector() results = collector.collect_all( endpoints=["contratos", "pagamentos", "licitacoes"], incremental=True ) ```
3. Processamento de Dados
```python from src.data.processor import DataProcessor
Processar dados coletados
processor = DataProcessor() dfprocessed = processor.processdataset("contratos") ```
4. Executar Dashboard
bash
streamlit run src/dashboard/app.py
📈 Funcionalidades
API Client
- ✅ Rate limiting automático (30 req/min)
- ✅ Sistema de retry com backoff exponencial
- ✅ Cache inteligente com TTL configurável
- ✅ Suporte a todos os endpoints principais
- ✅ Paginação automática
Pipeline de Dados
- ✅ Coleta incremental de dados
- ✅ Processamento e limpeza automatizados
- ✅ Armazenamento eficiente em Parquet
- ✅ Validação de qualidade de dados
- ✅ Feature engineering
Análises
- 📊 Análise exploratória de dados
- 🔍 Detecção de anomalias
- 📈 Previsão de gastos
- 🗺️ Visualizações geográficas
- 📱 Dashboard interativo
🧪 Testes
Execute os testes com:
```bash
Todos os testes
pytest
Com cobertura
pytest --cov=src tests/
Apenas testes de API
pytest tests/testapiconnection.py -v ```
📚 Documentação
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma feature branch (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📊 Exemplos de Uso
Análise de Contratos por Órgão
```python import pandas as pd from src.api.client import TransparenciaAPIClient
client = TransparenciaAPIClient()
Coletar contratos
contratos = client.paginate( client.getcontratos, maxpages=10, ano=2024 )
Analisar por órgão
df = pd.DataFrame(contratos) analise = df.groupby('nomeOrgao')['valorInicial'].agg(['sum', 'count', 'mean']) print(analise.sort_values('sum', ascending=False).head(10)) ```
Detecção de Anomalias em Pagamentos
```python from src.models.anomaly_detector import AnomalyDetector
detector = AnomalyDetector() anomalias = detector.detectpaymentanomalies(df_pagamentos) ```
🗺️ Roadmap
- [x] Cliente API com rate limiting
- [x] Pipeline de coleta de dados
- [x] Notebooks de análise exploratória
- [ ] Modelos de detecção de anomalias
- [ ] Dashboard interativo completo
- [ ] API REST própria
- [ ] Análises preditivas
- [ ] Integração com outras fontes de dados
📝 Licença
⚠️ AVISO IMPORTANTE: Este projeto está sob Licença de Uso Restrito (proprietária).
Uso Permitido ✅
- Visualização do código para avaliação técnica
- Execução local para testes e demonstração
- Referência em portfolio profissional
- Avaliação por recrutadores
Uso NÃO Permitido ❌
- Uso comercial sem autorização
- Redistribuição do código
- Criação de trabalhos derivados
- Modificação sem permissão
Para detalhes completos, consulte o arquivo LICENSE.
Para permissões comerciais ou dúvidas: andersonhs90@hotmail.com
🙏 Agradecimentos
- Portal da Transparência pela disponibilização dos dados
- Comunidade open source pelos pacotes utilizados
👨💻 Autor
Anderson Henrique Silva
🔗 Links do Projeto: - 🌐 Landing Page - 🚀 Demo Online - 📚 Documentação Completa - 💻 Código Fonte
🇧🇷 Feito com ❤️ para aumentar a transparência pública no Brasil
Owner
- Name: Anderson Henrique Da Silva
- Login: anderson-ufrj
- Kind: user
- Location: Brasil
- Company: Ruvixx, Inc
- Twitter: neural_thinker
- Repositories: 1
- Profile: https://github.com/anderson-ufrj
GitHub Events
Total
- Watch event: 1
- Push event: 8
- Create event: 1
Last Year
- Watch event: 1
- Push event: 8
- Create event: 1
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- black >=23.9.0
- click >=8.1.0
- flake8 >=6.1.0
- ipykernel >=6.25.0
- isort >=5.12.0
- jupyterlab >=4.0.0
- matplotlib >=3.7.0
- notebook >=7.0.0
- numpy >=1.24.0
- pandas >=2.0.0
- plotly >=5.17.0
- psycopg2-binary >=2.9.0
- pyarrow >=14.0.0
- pytest >=7.4.0
- pytest-cov >=4.1.0
- python-dotenv >=1.0.0
- pyyaml >=6.0.0
- requests >=2.31.0
- scikit-learn >=1.3.0
- scipy >=1.11.0
- seaborn >=0.12.0
- sphinx >=7.2.0
- sphinx-rtd-theme >=1.3.0
- sqlalchemy >=2.0.0
- statsmodels >=0.14.0
- streamlit >=1.28.0
- tqdm >=4.66.0
- urllib3 >=2.0.0