camaradeputadosapi provides a clean interface in R for querying the Brazilian House of Representatives open data RESTful API.
You can install the latest development version from Github with:
install.packages("devtools")
devtools::install_github("pedrodrocha/camaradeputadosapi")
camaradeputadosapi functions are divided in eight categories, one for each data type provided by the Brazilian House of Representatives API:
Use functions on this category for querying data on representatives that are or were in office in any moment of time at the Brazilian House of Representatives.
The basic function for this category is deputados()
which by default returns all representatives that are currently in office.
# Return all representatives that are currently in office at the Brazilian House of Representatives API
deputados()
To have more control over the results you can use further parameters from the API, such as ‘idLegislatura’ which matches a legislative period by its Id and return all representatives that were part of that specific legislative period. To access legislative periods ids you can use legislaturas_id()
.
# Get the id for a legislative period active in '1900-01-01'
leg <- legislaturas_id(date = "1900-01-01")
# Get a list of representatives for that legislative period
rep <- deputados(idLegislatura = leg)
There are six more functions on this category for querying data on a specific representative: deputados_despesas()
,deputados_discursos()
, deputados_eventos()
, deputados_frentes()
, deputados_info()
and deputados_orgaos()
. Each one receives a representative unique identifier that can be obtained running deputados_id()
.
# Get Rodrigo Maia's id
id <- deputados_id(name = "Rodrigo Maia")
# Get his expenditures in 2020
deputados_despesas(id = id, year = 2020)
Reference and metadata for this category can be accessed with deputados_referencias()
.
Use functions on this category for querying data on events that occurred or are on schedule at the Brazilian House of representatives.
The basic function for this category is eventos()
and by default it returns events from 5 days before and after the query, but you can use further parameters from the official API for controlling the time interval.
# Get events ocurred in '2020-12-01'
eventos(dataInicio = "2020-12-01", dataFim = "2020-12-01")
There are five more functions on this category for querying data on a specific event: eventos_deputados()
, eventos_orgaos()
, eventos_pauta()
, eventos_votacoes()
and eventos_info()
. Each one receives an event unique identifier.
# Get a list of representatives that attended a specific event
eventos_deputados(id = 60027)
Reference and metadata for this category can be accessed with eventos_referencias()
.
Use functions on this category for querying data on parliamentary fronts created after 2003 at the Brazilian House of Representatives.
The basic function for this category is eventos()
and it can be used to query data on parliamentary fronts active in on or more legislative periods. For getting the id from a legislative period you can run legislaturas_id()
.
# Get id for active legislative period in '2005-01-01'
id <- legislaturas_id(date = '2005-01-01')
frentes(idLegislatura = id)
There are two more functions on this category for querying data on a specific parliamentary front: frentes_info()
and frentes_membros()
. Each receives a parliamentary front unique identifier that can be obtained running frentes_id()
.
# Get a parliamentary front id
id <- frentes_id(nome = "fortalecimento do sus", idLegislatura = 56)
# Ger information on members of a specific parliamentary front
frentes_membros(id = id)
Use functions on this category for querying data on legislative periods for the Brazilian House of Representatives.
The basic function for this category is legislaturas()
which retunrs by default a complete list of legislative periods.
This category has one more function for querying data on speakers of the House for a particular legislative period.
# Get id for active legislative period in '2020-01-01'
id <- legislaturas_id(date = '2020-01-01')
# Get info on speakers of the House.
legislaturas_mesa(id = id)
Use functions on this category for querying data on Brazilian political parties.
The basic function for this category is partidos()
which by default return representatives in office and its political parties in the currently legislative period.
partidos()
There are four more functions on this category for querying data on a specific political party: partidos_blocos()
, partidos_id()
, partidos_info()
and partidos_membros()
. Each one receives a political party unique identifier.
# Get a political party unique identifier
id <- partidos_id(abbr = 'PT')
# Get info on a political party
partidos_info(id = id)
Use functions on this category for querying data on propositions presented at the Brazilian House of Representatives.
The basic function for this category is proposicoes()
which by default return a list of propositions active 30 days prior to the query.
There are six more functions on this category for querying data on a specific proposition: proposicoes_autores()
, proposicoes_historico()
, proposicoes_info()
, proposicoes_relacionadas()
, proposicoes_temas()
, proposicoes_votacoes()
. Each one receives a proposition unique identifier.
# Get a proposition id
id <- proposicoes_id(type = "PL",number = 1665, year = 2020)
# Get historical record for a proposition
proposicoes_historico(id)
Reference and metadata for this category can be accessed with proposicoes_referencias()
.
Use functions on this category for querying data on voting processes at several bodies and commissions from the Brazilian House of Representatives.
The basic function for this category is votacoes()
which returns by default a list of voting procedures from the last 30 days.
votacoes()
There are three more functions on this category for querying data on a specific voting processes: votacoes_info()
, votacoes_orientacoes()
, votacoes_votos()
. Each one receives a voting unique identifier.
# Voting records at voting process "2265603-43"
votacoes_votos(id = "2265603-43")
Use functions on this category for querying data on bodies and commissions from the Brazilian House of Representatives.
The basic function for this category is orgaos()
which returns a list of bodies and commissions.
orgaos()
There are three more functions on this category for querying data on a specific voting processes: orgaos_eventos()
, orgaos_info()
, orgaos_membros()
, orgaos_votacoes()
. Each one receives a voting unique identifier.
# Get a body or commission unique identifier
id <- orgaos_id(abbr = 'PLEN')
# Get general info on a specific body or commission
orgaos_info(id = id)
Reference and metadata for this category can be accessed with orgaos_referencias()
Check the Brazilian House of Representatives RESTful API official documentation for further reference.
Click here for accessing camaradeputadosapi changelog.


Madhukar's Blog
About me
Category: spark
Understanding Spark Connect API - Part 5: Dataframe Sharing Across Spark Sessions
Understanding Spark Connect API - Part 4: PySpark Example
Understanding Spark Connect API - Part 3: Scala API Example
Understanding Spark Connect API - Part 2: Introduction to Architecture
Understanding Spark Connect API - Part 1: Shortcomings of Spark Driver Architecture
Pandas API on Apache Spark - Part 2: Hello World
Pandas API on Apache Spark - Part 1: Introduction
Barrier Execution Mode in Spark 3.0 - Part 2 : Barrier RDD
Barrier Execution Mode in Spark 3.0 - Part 1 : Introduction
Distributed TensorFlow on Apache Spark 3.0
Introduction to Spark 3.0 - Part 10 : Ignoring Data Locality in Spark
Data Source V2 API in Spark 3.0 - Part 6 : MySQL Source
Introduction to Spark 3.0 - Part 9 : Join Hints in Spark SQL
Introduction to Spark 3.0 - Part 8 : DataFrame Tail Function
Adaptive Query Execution in Spark 3.0 - Part 2 : Optimising Shuffle Partitions
Adaptive Query Execution in Spark 3.0 - Part 1 : Introduction
Spark Plugin Framework in 3.0 - Part 5: RPC Communication
Spark Plugin Framework in 3.0 - Part 4 : Custom Metrics
Spark Plugin Framework in 3.0 - Part 3 : Dynamic Stream Configuration using Driver Plugin
Introduction to Spark 3.0 - Part 7 : Dynamic Allocation Without External Shuffle Service
Spark Plugin Framework in 3.0 - Part 2 : Anatomy of the API
Spark Plugin Framework in 3.0 - Part 1: Introduction
Introduction to Spark 3.0 - Part 6 : Min and Max By Functions
Introduction to Spark 3.0 - Part 5 : Easier Debugging of Cached Data Frames
Introduction to Spark 3.0 - Part 4 : Handling Class Imbalance Using Weights
Data Source V2 API in Spark 3.0 - Part 5 : Anatomy of V2 Write API
Introduction to Spark 3.0 - Part 3 : Data Loading From Nested Folders
Introduction to Spark 3.0 - Part 2 : Multiple Column Feature Transformations in Spark ML
Introduction to Spark 3.0 - Part 1 : Multi Character Delimiter in CSV Source
Data Source V2 API in Spark 3.0 - Part 4 : In-Memory Data Source with Partitioning
Data Source V2 API in Spark 3.0 - Part 3 : In-Memory Data Source
Data Source V2 API in Spark 3.0 - Part 2 : Anatomy of V2 Read API
Data Source V2 API in Spark 3.0 - Part 1 : Motivation for New Abstractions
Writing Apache Spark Programs in JavaScript
ClickHouse Clustering for Spark Developer
Data Modeling in Apache Spark - Part 2 : Working With Multiple Dates
Data Modeling in Apache Spark - Part 1 : Date Dimension
Dynamic Shuffle Partitions in Spark SQL
Auto Scaling Spark in Kubernetes - Part 3 : Scaling Spark Workers
Auto Scaling Spark in Kubernetes - Part 2 : Spark Cluster Setup
Auto Scaling Spark in Kubernetes - Part 1 : Introduction
Multi Source Data Analysis using Spark and Tellius : Meetup Video
Migrating to Spark 2.4 Data Source API
Multiple Column Feature Transformations in Spark ML
Parallel Cross Validation in Spark
Spark on Kubernetes : Native Kubernetes Integration for Spark
Exploring Spark DataSource V2 - Part 8 : Transactional Writes
Exploring Spark DataSource V2 - Part 7 : Meetup Talk
Exploring Spark DataSource V2 - Part 6 : Anatomy of V2 Write API
Exploring Spark DataSource V2 - Part 5 : Filter Push
Exploratory Data Analysis in Spark with Jupyter
Exploring Spark DataSource V2 - Part 4 : In-Memory DataSource with Partitioning
Exploring Spark DataSource V2 - Part 3 : In-Memory DataSource
Exploring Spark DataSource V2 - Part 2 : Anatomy of V2 Read API
Exploring Spark Data Source V2 - Part 1 : Limitations of Data Source V1 API
Converting Spark ML Vector to Numpy Array
Introduction to Spark Structured Streaming - Part 15: Meetup Talk on Time and Window API
Class Imbalance in Credit Card Fraud Detection - Part 3 : Undersampling in Spark
Class Imbalance in Credit Card Fraud Detection - Part 2 : Undersampling in Python
Class Imbalance in Credit Card Fraud Detection - Part 1 : Understanding Effect on Model Accuracy
Analysing Kaggle Titanic Survival Data using Spark ML
Introduction to Spark Structured Streaming - Part 14 : Session Windows using Custom State
Introduction to Spark Structured Streaming - Part 13: Meetup Talk
Introduction to Spark Structured Streaming - Part 12 : Watermarks
Introduction to Spark Structured Streaming - Part 11 : Event Time
Introduction to Spark Structured Streaming - Part 10 : Ingestion Time
Introduction to Spark Structured Streaming - Part 9 : Processing Time Window
Introduction to Spark Structured Streaming - Part 8 : Time Abstraction
Introduction to Spark Structured Streaming - Part 7 : Checkpointing State
Introduction to Spark Structured Streaming - Part 6 : Stream Enrichment using Static Data Join
Introduction to Spark Structured Streaming - Part 5 : File Streams
Introduction to Spark Structured Streaming - Part 4 : Stateless Aggregations
Introduction to Spark Structured Streaming - Part 3 : Stateful WordCount
Introduction to Spark Structured Streaming - Part 2 : Source and Sinks
Introduction to Spark Structured Streaming - Part 1 : DataFrame Abstraction to Stream
Migrating to Spark 2.0 - Part 10 : Second Meetup Talk
Migrating to Spark 2.0 - Part 9 : Hive Integration
Migrating to Spark 2.0 - Part 8 : Catalog API
Migrating to Spark 2.0 - Part 7 : SubQueries
Migrating to Spark 2.0 - Part 6 : Spark ML Transformer API
Migrating to Spark 2.0 - Part 5 : Meetup Talk
Migrating to Spark 2.0 - Part 4 : Cross Joins
Migrating to Spark 2.0 - Part 3 : DataFrame to Dataset
Scalable Spark Deployment using Kubernetes - Part 9 : Service Update and Rollback
Scalable Spark Deployment using Kubernetes - Part 8 : Meetup Talk
Migrating to Spark 2.0 - Part 2 : Built-in CSV Connector
Migrating to Spark 2.0 - Part 1 : Scala Version and Dependencies
Scalable Spark Deployment using Kubernetes - Part 7 : Dynamic Scaling and Namespaces
Scalable Spark Deployment using Kubernetes - Part 6 : Building Spark 2.0 Two Node Cluster
Scalable Spark Deployment using Kubernetes - Part 5 : Building Spark 2.0 Docker Image
Scalable Spark Deployment using Kubernetes - Part 4 : Service Abstractions
Scalable Spark Deployment using Kubernetes - Part 3 : Kubernetes Abstractions
Scalable Spark Deployment using Kubernetes - Part 2 : Installing Kubernetes Locally using Minikube
Scalable Spark Deployment using Kubernetes - Part 1 : Introduction to Kubernetes
Statistical Data Exploration using Spark 2.0 - Part 3 : Outlier Detection using Quantiles
Statistical Data Exploration using Spark 2.0 - Part 2 : Shape of Data with Histograms
Statistical Data Exploration using Spark 2.0 - Part 1 : Five Number Summary
Interactive Workflow Management using Azkaban : API Driven Workflow Management for Spark
Anatomy of Spark Catalyst - Part 2 : Meetup Talk
Anatomy of Spark Catalyst - Part 1 : Meetup Talk
Introduction to Spark 2.0 - Part 7 : Meetup Talk on Spark 2.0 API
Evolution of Apache Spark : Journey of Spark in 1.x Series
Introduction to Spark 2.0 - Part 6 : Custom Optimizers in Spark SQL
Introduction to Spark 2.0 - Part 5 : Time Window in Spark SQL
Introduction to Spark 2.0 - Part 4 : Introduction to Catalog API
Introduction to Spark 2.0 - Part 3 : Porting Code from RDD API to Dataset API
Introduction to Spark 2.0 - Part 2 : Wordcount in Dataset API
Introduction to Spark 2.0 - Part 1 : Spark Session API
Apache Beam : Next Step in Big Data Unification
What's New in Spark : Tales from Spark Summit East - Framework Improvements
Introduction to Spark 2.0 : A Sneak Peek At Next Generation Spark
Building Distributed Systems from Scratch - Part 2 : Handling third party libraries
Introduction to Hadoop (HDFS & Map/Reduce) for Spark developers
Introduction to Apache Flink - Meetup talk
Introduction to Apache Flink for Spark Developers : Flink vs Spark
Building Distributed Systems from Scratch - Part 1
Introduction to Machine learning with Spark
Improving Mobile payments with Real time Spark
Anatomy of Data Frame API : Deep dive into Spark SQL Data Frame API
Anatomy of Data Source API : Deep dive into Spark SQL Data Source API
Structured data processing with Spark SQL - Meetup Video
Analysing CSV data in Spark : Introduction to Spark Data Source API - Part 2
Introduction to Spark Data Source API - Part 1
An Introduction to Spark Streaming- Meetup Video
Handling empty batches in Spark streaming
Anatomy of RDD : Deep dive into spark RDD abstraction - Meetup video
Extending Spark API
Introduction to Apache Spark - Meetup video
Apache Spark is not a one-trick pony : Going beyond in-memory processing
Pipe in Spark
History of Apache Spark : Journey from Academia to Industry
sizeof operator for Java/Scala
Kryo disk serialization in Spark
Evaluating Spark RDD's for side effects
Fold in spark
Converting Matlab file to Spark RDD
Glom in spark


--- layout: slide --- {{{ slide.content }}} {{{ slide.question.html }}} Submit and Compare Clear {{# slide.blocks }}


{% extends 'base.html' %} {% import 'macros.html' as macro %} {% block content %}
Welcome to this news application. This application uses New API to fetch and generate News for you from various news sources.Use the above links to check for latest top news from various news sources. To search for top news from an existing News Source ,other than the ones provided, please provide the correct domain name for searching below. Enjoy!


One App for the Happiest of Hours
How cities have gone without a decent Happy Hour search app is beyond us, but we went ahead and made one just for you - the hard-working citizen on the hunt for a quality drink at a damn good price!
We aren't going to waste more hot air explaining what this app is good for. You already know! So jump in and start searching. While you do, we will keep making improvements. Cheers to good drinks, good food, good friends, and an app that actually works!
Codebreakers
Three of us make the Codebreakers team, a quirky trio of developers with a passion for code and making sweet simple tech products for your everyday life. True to our name, we like to break code - we like to build, break and improve our work.
Reach out to us if you are interested. Tell us if you like our work or if you don't. Or just say hi! Building is fun for us and helpful to you. So chime in.


Welcome to Shah Web Sols Providing you with the best Web Application solutions
Follow Us onI am a Web Developer, Designer, Entrepreneur. I have about two Years of Experience in Web Programming feild. In the beginning of my career I worked as Team Head in a software house. At Present I am working as a Freelance Web developer. I have experties HTML, CSS, JavaScript, PHP, jquery, Laravel, Angular and some others. My aim is to provide my customers with best solutions Possible.
Contact Me onContact me if you require any of my services. I'll be happy to help you with my knowledge


If you have any questions, please don't hesitate to contact me!
Email and twitter are the best way to reach me. Please user phone contact only for urgent inquiries.


This is a website where you can have intellectual arguements with others about politics and current events. Remember to be polite and read up before you enter an arguement. Have fun!
Debate! »