https://github.com/anderson-ufrj/transparenciabr-analytics

🇧🇷 Análise de transparência governamental com IA e ML via API do Portal da Transparência.

https://github.com/anderson-ufrj/transparenciabr-analytics

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
Last synced: 10 months ago · JSON representation

Repository

🇧🇷 Análise de transparência governamental com IA e ML via API do Portal da Transparência.

Basic Info
  • Host: GitHub
  • Owner: anderson-ufrj
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 71.3 KB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License

README.md

TransparenciaBR-Analytics 🇧🇷

🚀 Acessar Dashboard | 📚 Documentação

Tests Basic Validation Python Code style: black License: Proprietary API GitHub last commit GitHub issues GitHub stars

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

GitHub repo size Lines of code GitHub language count GitHub top language

🎯 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

Instalação

  1. Clone o repositório: bash git clone https://github.com/anderson-ufrj/TransparenciaBR-Analytics.git cd TransparenciaBR-Analytics

  2. Crie um ambiente virtual: ```bash python -m venv venv source venv/bin/activate # Linux/Mac

    ou

    venv\Scripts\activate # Windows ```

  3. Instale as dependências: bash pip install -r requirements.txt

  4. Configure as variáveis de ambiente: ```bash cp .env.template .env

    Edite o arquivo .env com suas credenciais

    ```

  5. 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:

  1. Fork o projeto
  2. Crie uma feature branch (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. 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

👨‍💻 Autor

Anderson Henrique Silva

LinkedIn GitHub Email

🔗 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

GitHub Events

Total
  • Watch event: 1
  • Push event: 8
  • Create event: 1
Last Year
  • Watch event: 1
  • Push event: 8
  • Create event: 1

Dependencies

.github/workflows/basic-validation.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/tests.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
pyproject.toml pypi
requirements.txt pypi
  • 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
setup.py pypi