Skip to main content

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


Download files

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

Source Distribution

openelections-metadata-0.1.1.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

openelections_metadata-0.1.1-py2.py3-none-any.whl (6.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file openelections-metadata-0.1.1.tar.gz.

File metadata

File hashes

Hashes for openelections-metadata-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b6e31348126204adaa882ce04926dcc3c962a5f201670064246c0691589deeef
MD5 d0e22b8febe4f2fc9379a1a8124bbf52
BLAKE2b-256 ba5599d852d3c5fd802db0afc83bcf04d6d8037f9c4a3be0acaa2802a43f36e1

See more details on using hashes here.

File details

Details for the file openelections_metadata-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for openelections_metadata-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6bf9d966eee9f3dab2152e0697e3e8f9049375666264bb12bd8cd3edebf24c06
MD5 422ada014c2cd94a233c1472c0dc9c6b
BLAKE2b-256 978f36d64fc0a33ba8c2909168ea23b367ff7cc548c5d31aa31235be5f4bb5b1

See more details on using hashes here.

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