Pular para conteúdo

Referência

Emendas e orçamento (SPARQL)

siopy.siop_emendas(exercicio, tipo=('individual', 'bancada', 'comissao', 'relator'), *, client=None, **filtros)

Dotações de emendas parlamentares (RP 6/7/8/9) de um exercício.

tipo: "individual" (RP6), "bancada" (RP7), "comissao" (RP8), "relator" (RP9) ou uma lista. Demais filtros como em :func:siop_orcamento.

O RDF do SIOP não identifica autor nem número de emenda — para isso use :func:siopy.pt_emendas (Portal da Transparência).

siopy.siop_orcamento(exercicio, *, particionar=None, client=None, **filtros)

Linhas de despesa (loa:ItemDespesa) de um exercício, com classificação e valores.

Filtros aceitos (códigos como texto, valor único ou lista): esfera, orgao, uo, funcao, subfuncao, programa, acao, localizador, po, fonte, categoria, gnd, modalidade, elemento, iduso, rp. Ex.: siop_orcamento(2025, orgao="26000", rp=["6", "7"]).

particionar: quando True (padrão se nenhum filtro for dado) consulta órgão a órgão para evitar respostas gigantes/timeouts.

siopy.siop_sparql(query, *, format='csv', endpoint=SPARQL_ENDPOINT, timeout=300.0, client=None)

Executa uma consulta SPARQL e devolve um DataFrame.

format="csv" (padrão) pede text/csv ao Virtuoso — bem mais leve que JSON. format="json" usa application/sparql-results+json e preserva os datatypes.

Atenção: o Virtuoso limita ORDER BY + OFFSET a 10 000 linhas; prefira consultas sem ORDER BY e particione por órgão/UO quando o resultado for muito grande.

Metadados do RDF

siopy.siop_orgaos(exercicio, *, client=None)

Órgãos orçamentários presentes no grafo de um exercício (código e nome).

siopy.siop_exercicios(*, client=None)

Exercícios disponíveis no endpoint e a data da última carga de cada grafo.

siopy.siop_ultima_atualizacao(exercicio=None, *, client=None)

Data da última atualização do grafo RDF (todas ou de um exercício).

CSVs oficiais do SIOP

Catálogo dos arquivos publicados na página de Dados Abertos do SIOP.

Colunas: categoria (rdf, acompanhamento, cadastro_acoes, creditos, regionalizacao), subtipo (acoes/localizadores/planos_orcamentarios), tipo (dados/dicionario), exercicio, titulo, formato, url.

siopy.siop_download(url, *, refresh=False, client=None)

Baixa (com cache em disco) um arquivo dos Dados Abertos e devolve o caminho local.

siopy.siop_cadastro_acoes(exercicio, tipo='acoes', *, refresh=False, client=None)

Cadastro de ações ("acoes"), localizadores ou planos orçamentários de um exercício.

siopy.siop_creditos(exercicio, *, refresh=False, client=None)

Alterações orçamentárias (créditos) de um exercício, com valores numéricos.

siopy.siop_acompanhamento(exercicio, *, refresh=False, client=None)

Acompanhamento físico-financeiro das ações (CSV anual dentro de ZIP).

siopy.siop_regionalizacao(exercicio, *, refresh=False, client=None)

Regionalização das ações do orçamento (execução por UF/município/recorte).

Portal da Transparência

siopy.pt_emendas(ano=None, *, autor=None, tipo=None, codigo=None, numero=None, funcao=None, subfuncao=None, max_paginas=None, client=None)

Emendas parlamentares (/api-de-dados/emendas), todas as páginas.

autor é um ou mais nomes de parlamentar (busca textual); acentos são removidos e o nome vai em maiúsculas automaticamente — a busca da API não encontra nomes acentuados ("Túlio Gadêlha" vira "TULIO GADELHA"). Com vários autores, as buscas são feitas uma a uma e emendas repetidas (a busca é parcial) são deduplicadas pelo código. tipo como na API (ex.: "Emenda Individual - Transferências com Finalidade Definida"). Valores em R$ numéricos.

siopy.pt_emenda_documentos(codigo_emenda, *, max_paginas=None, client=None)

Documentos (empenho/liquidação/pagamento) ligados a emendas (/emendas/documentos/{codigo}).

Aceita um ou mais códigos e devolve um único DataFrame, com a coluna codigo_emenda na frente.

siopy.pt_despesa_documento(codigo_documento, *, client=None)

Detalhe de documentos de despesa (/despesas/documentos/{codigo}): favorecido, UG, UO, classificação.

Aceita um ou mais códigos e devolve um único DataFrame (uma linha por documento).

siopy.pt_documentos_relacionados(codigo_documento, fase, *, client=None)

Documentos relacionados (fase: 1 empenho, 2 liquidação, 3 pagamento); um ou mais códigos.

siopy.pt_favorecidos_finais(codigo_documento, *, max_paginas=None, client=None)

Favorecidos finais (/despesas/favorecidos-finais-por-documento); um ou mais códigos.

siopy.pt_set_key(key)

Define a chave da API em memória (prioridade sobre a variável de ambiente).

siopy.pt_has_key()

Cruzamento

siopy.emendas_execucao(ano, *, autor=None, tipo=None, detalhar=True, max_emendas=None, client=None)

Emendas + documentos (+ detalhe de cada documento): uma linha por documento.

Combina :func:pt_emendas, :func:pt_emenda_documentos e, se detalhar=True, :func:pt_despesa_documento. Custo: 1 req por página de emendas + ≥1 por emenda (+1 por documento quando detalhar). O rate limit interno (90/min) é respeitado.

Utilidades

siopy.set_verbose(verbose)

Liga ou desliga as mensagens informativas (success/step/inform/progress).

Apoio (Câmara, IBGE, CNPJ)

siopy.camara_deputados(uf=None, legislatura=None)

Deputados federais (GET /deputados dos Dados Abertos da Câmara), com paginação.

Sem filtros, devolve os deputados em exercício. Colunas: id, nome, sigla_partido, sigla_uf, id_legislatura, email.

siopy.ibge_municipios(uf=None)

Municípios (API de localidades do IBGE), com a grafia oficial dos nomes.

uf = None devolve o Brasil inteiro. Colunas: codigo (7 dígitos, texto), nome e uf.

siopy.cnpj_municipio(cnpj)

Município e UF da sede de cada CNPJ (https://minhareceita.org).

Resolve favorecidos de nome genérico ("FUNDO MUNICIPAL DE SAUDE") nos documentos de despesa. CNPJs não encontrados vêm com NA.

siopy.sem_acento(x)

Troca caracteres acentuados do português pelos equivalentes ASCII.

Útil para casar nomes entre fontes — a busca textual do Portal da Transparência, por exemplo, não encontra nomes acentuados.