A Python API wrapper for the OpenElections metadata API.
Project description
# Metadata
A Python library that provides a thin wrapper to the [OpenElections Metadata API](http://docs.openelections.net/metadata-api/), which contains information about elections and the nature and availability of results data. The [API provides JSON endpoints for individual states](http://blog.openelections.net/an-improved-metadata-api/) and Metadata provides a way to search for and filter elections within a state.
Metadata has been tested under Python 2.7.X.
## Installation
` pip install openelections-metadata `
## Usage
Metadata offers two classes, Request and Election, for accessing the information in the API. You do not need an API key.
### Request
To make a request, you’ll need to specify the state you’re interested in and any or none of three optional parameters: start_date, end_date and offset. Metadata uses the two dates as a range; it will search for elections on or after the start_date and on or before the end_date. For example, to make a request for elections that occurred in Maryland in 2014, you would do the following:
`python >>> import metadata >>> r = metadata.Request('MD', '2014-01-01') `
Request objects retain details about the parameters and also save the API url and the JSON response, if needed. Calling the parse method on the Request object creates individual Election objects, which have the same attributes as the API, with one addition - it has a generated_filename attribute that we use in the data processing pipeline.
`python >>> elections = r.parse() >>> elections[0] <metadata.election.Election object at 0x103ffff10> >>> elections[0].start_date u'2014-11-04' >>> elections[0].race_type u'general' `
## Running tests
` python setup.py test `
## Issues
To report an bug or request a feature, please [create a new issue](https://github.com/openelections/metadata/issues) describing the situation, providing as much detail as possible. We welcome contributions: feel free to fork the code and submit pull requests.
License
Metadata is released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file openelections-metadata-0.1.1.tar.gz
.
File metadata
- Download URL: openelections-metadata-0.1.1.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6e31348126204adaa882ce04926dcc3c962a5f201670064246c0691589deeef |
|
MD5 | d0e22b8febe4f2fc9379a1a8124bbf52 |
|
BLAKE2b-256 | ba5599d852d3c5fd802db0afc83bcf04d6d8037f9c4a3be0acaa2802a43f36e1 |
File details
Details for the file openelections_metadata-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: openelections_metadata-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bf9d966eee9f3dab2152e0697e3e8f9049375666264bb12bd8cd3edebf24c06 |
|
MD5 | 422ada014c2cd94a233c1472c0dc9c6b |
|
BLAKE2b-256 | 978f36d64fc0a33ba8c2909168ea23b367ff7cc548c5d31aa31235be5f4bb5b1 |