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.
Release files for camaraPy 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| camaraPy-0.0.5.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| camaraPy-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.1 kB
Release files / camaraPy-0.0.5.tar.gz
| Download URL | camaraPy-0.0.5.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97e6402859645887d67f9a00fb9aae05bd7175d20105255115cd559938db3401
|
|
BLAKE2b-256 checksum How to use checksums |
73e9107e78b2820d1326c32928b001bbe579f8964da805f257f7f053b1ad7584
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7
|
Release files / camaraPy-0.0.5-py3-none-any.whl
| Download URL | camaraPy-0.0.5-py3-none-any.whl |
|---|---|
| Size | 21.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b198f114a7504d6a32cb1881897978e786fc3a8f1367982b265c3778519259c
|
|
BLAKE2b-256 checksum How to use checksums |
561bcd53d3bb18658f64fb502985cc8f0c30fa0662ba924b5628368a12a431cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7
|