TSE Eleições
by @olegantonov
Cliente Python assíncrono para as APIs do TSE (Tribunal Superior Eleitoral). Integra DivulgaCandContas REST (candidatos, eleições, prestação de contas em tem...
clawhub install tse-eleicoes📖 About This Skill
name: tse-eleicoes description: > Cliente Python assíncrono para as APIs do TSE (Tribunal Superior Eleitoral). Integra DivulgaCandContas REST (candidatos, eleições, prestação de contas em tempo real) e CKAN Dados Abertos (datasets para download em massa). 30+ métodos cobrindo: eleições ordinárias e suplementares, candidatos (detalhe, bens, foto, redes sociais, filtros por partido e situação), prestação de contas, ranking de doadores, datasets CKAN e URLs de download. Sem autenticação. Python 3.11+, httpx, retry com backoff exponencial. version: 1.0.0 author: olegantonov license: MIT homepage: https://clawhub.ai repository: https://github.com/olegantonov/tse-eleicoes tags: - tse - eleicoes - candidatos - brasil - dados-abertos - api - async
SKILL: tse-eleicoes
Use esta skill para acessar dados eleitorais do TSE (Tribunal Superior Eleitoral) diretamente via Python assíncrono.
Quando Usar
Como Usar
import asyncio
from tse_client import get_tse_client, ELEICOES_ORDINARIAS, nome_cargoasync def main():
client = get_tse_client()
try:
# Eleições disponíveis
anos = await client.get_anos_eleitorais()
# Candidatos a prefeito em SP — Municipais 2024
candidatos = await client.get_candidatos(
ano=2024,
municipio_cod="71072",
eleicao_id=ELEICOES_ORDINARIAS["2024"],
cargo_cod="11"
)
# Dados abertos
datasets = await client.get_datasets_candidatos()
url_zip = await client.get_url_download_candidatos(2024)
finally:
await client.close()
asyncio.run(main())
Instalação
git clone https://github.com/olegantonov/tse-eleicoes.git
cd tse-eleicoes
pip install -r requirements.txt
APIs Integradas
https://divulgacandcontas.tse.jus.br/divulga/rest/v1https://dadosabertos.tse.jus.br/api/3/actionPrincipais Métodos
Eleições
get_eleicoes_ordinarias() — lista eleições ordináriasget_anos_eleitorais() — anos disponíveisget_cargos_municipio(eleicao_id, municipio_cod) — cargos por municípioget_eleicoes_suplementares(ano, uf) — eleições suplementaresCandidatos
get_candidatos(ano, municipio_cod, eleicao_id, cargo_cod) — lista candidatosget_candidato(ano, municipio_cod, eleicao_id, candidato_id) — detalhe completobuscar_candidato_por_nome(nome, ...) — busca por nomeget_bens_candidato(...) — bens declaradosget_candidatos_eleitos(...) — só eleitosget_candidatos_por_partido(sigla, ...) — filtra por partidoPrestação de Contas
get_prestacao_contas(eleicao_id, ano, municipio_cod, cargo_cod, candidato_id)get_ranking_doadores(...) — top doadores ordenados por valorDados Abertos (CKAN)
get_datasets() — lista todos os datasetsbuscar_datasets(termo) — busca por palavra-chaveget_datasets_candidatos() / get_datasets_resultados() / get_datasets_eleitorado()get_url_download_candidatos(ano) / get_url_download_resultados(ano) — URLs dos ZIPsConstantes Úteis
from tse_client import ELEICOES_ORDINARIAS, CARGOS, nome_cargo, nome_eleicaoELEICOES_ORDINARIAS # {'2024': '2045202024', '2022': '2040602022', ...}
CARGOS # {'11': 'Prefeito', '13': 'Vereador', ...}
nome_cargo("11") # "Prefeito"
nome_eleicao("2045202024") # "2024"