Este repositório é um projeto que acompanha a polarização política na Câmara dos Deputados a partir de votos nominais.
A ideia é medir comportamento real de votação, transformar isso em rede e disponibilizar os resultados em API, dashboard e grafo interativo.
Artigo: Quantificando Polarização, Coesão e Permeabilidade na Câmara dos Deputados do Brasil (WebMedia 2025).
- Cada deputado é um nó da rede.
- Para cada par de deputados:
- se votam igual, a conexão soma
+1; - se votam diferente, a conexão soma
-1.
- se votam igual, a conexão soma
- Com o acúmulo das votações, surge uma rede com arestas positivas (concordância) e negativas (discordância).
- O pipeline aplica filtros e métricas para destacar estrutura política da rede, incluindo backbone, layout, PageRank e índice de polarização por triângulos de relação.
Em termos práticos: quanto mais a rede se organiza em blocos opostos e coesos, maior a polarização estrutural.
services/web: frontendapi: APIpipeline: ingestão, transformação, construção dos grafos e cálculo das métricas
libs/termopol_db: camada de acesso ao banco (queries e repositórios)
ops/- infraestrutura e operação (nginx, postgres, migrations e scripts de deploy)
Na raiz do repositório:
docker compose up -d --buildPrincipais serviços:
- Web:
http://localhost:3000 - API:
http://localhost:8000 - Docs da API:
http://localhost:8000/docs
Para parar:
docker compose down# Banco
POSTGRES_DB=termopol
POSTGRES_USER=...
POSTGRES_PASSWORD=...
POSTGRES_PORT=5432
POSTGRES_HOST=...
POSTGRES_SCHEMA=termopol
PIPELINE_SCHEDULE_CRON="0 3 * * *"
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_FROM=email
SMTP_USER=email
SMTP_PASSWORD=password
PIPELINE_NOTIFY_EMAIL_TO=emailpython services/pipeline/run.py