Skip to main content

A wrapper for the Brazilian House of Representatives public data API

Project description

camaraPy

O pacote camaraPy é um wrapper, ainda em estágio inicial de desenvolvimento, para as APIs da Câmara dos Deputados.

Agora, em vez de montar a requisição manualmente usando pacotes como urrlib ou requests, você pode simplesmente instalar o camaraPy e fazer tudo em poucas linhas de código:

from camaraPy.api_original import proposicoes

# Define parâmetros para a consulta
params = {
    "Tipo"   : "PEC",
    "Numero" : "666",
    "Ano"    : "2019"
}

# Acessa as votações da proposta
dados = proposicoes.ObterVotacaoProposicao(params)

Por enquanto, o módulo funciona apenas com a API original, que é mais estável e inclui o resultado das votações em plenário, dado que ainda não está disponível no novo serviço.

Como usar?

Todas as requsições descritas na documentação da Câmara foram implementadas, exatamente com a mesma grafia. O nome dos webservices, porém, é grafado seguindo um padrão lowercase_com_underlines.

Assim, para acessar o método ListarDiscursosPlenario do Webservice SessoesReunioes, o usuário precisa executar o seguinte código, no qual a variável params é um dicionário com os parâmetros que deseja passar para a requisição.

from camaraPy.api_original import sessoes_reunioes

params = { "DataIni" : "10/10/2018", "DataFim" : "13/10/2018" }
dados = sessoes_reunioes.ListarDiscursosPlenario(params)

De maneira semelhante, para acessar o método ObterDeputados do Webservice Deputados, o código seria o seguinte:

from camaraPy.api_original import deputados

dados = deputados.ObterDeputados()

Os dados já vêm parseados em um dicionário no estilo JSON, embora a API retorne os valores em formato XML. Isso é possível porque o camaraPy usa o fenomenal pacote xmltodictpara fazer a conversão. :heart:

O camaraPy funciona só para o Python 3.6 ou superior.

Como instalar?

pip install camaraPy

Coisas técnicas:

O código consiste, basicamente, em um script genérico que faz solicitações variadas para a API. Ele está disponível no diretório core. A partir desse programa, foram criadas funções encapsuladoras em deputados.py, orgaos.py, sessoes_reunioes.py e votacoes.py. Elas apenas chamam as funções definidas em core.py com os parâmetros corretos.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

camaraPy-0.0.5.tar.gz (7.9 kB view hashes)

Uploaded Source

Built Distribution

camaraPy-0.0.5-py3-none-any.whl (21.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page