U.S. election and government metadata
Project description
us-elections 🇺🇸
A package for working with US elections metadata. Like python-us, but for elections!
Quickstart
$ pip install us-elections
Exploring election data
from elections import ElectionYear
# GET A SPECIFIC YEAR'S ELECTIONS AND DATA:
election_year = ElectionYear(2020)
election_year
# <ElectionYear: 2020 (Presidential cycle)>
# GET ELECTIONS IN THIS YEAR:
election_year.elections
# [
# <DemocraticPrimaryElection: Iowa (Feb. 03, 2020)>,
# <RepublicanPrimaryElection: Iowa (Feb. 03, 2020)>,
# ...
# <GeneralElection: Alabama Nov. 03, 2020>,
# <GeneralElection: Alaska Nov. 03, 2020>,
# ...
# ]
election_year.elections.primaries
# [
# <DemocraticPrimaryElection: Iowa (Feb. 03, 2020)>,
# <RepublicanPrimaryElection: Iowa (Feb. 03, 2020)>,
# <DemocraticPrimaryElection: New Hampshire (Feb. 11, 2020)>,
# <RepublicanPrimaryElection: New Hampshire (Feb. 11, 2020)>,
# ...
# ]
election_year.elections.primaries.republican
# [
# <RepublicanPrimaryElection: Iowa (Feb. 03, 2020)>,
# <RepublicanPrimaryElection: New Hampshire (Feb. 11, 2020)>,
# <RepublicanPrimaryElection: Alabama (Mar. 03, 2020)>,
# <RepublicanPrimaryElection: Arkansas (Mar. 03, 2020)>,
# ...
# ]
election_year.elections.general_elections
# [
# <GeneralElection: Alabama (Nov. 03, 2020)>,
# <GeneralElection: Alaska (Nov. 03, 2020)>,
# <GeneralElection: Arizona (Nov. 03, 2020)>,
# <GeneralElection: Arkansas (Nov. 03, 2020)>,
# ...
# ]
# You can also filter by type of primary:
# election_year.elections.presidential_primaries
# election_year.elections.presidential_primaries.democratic
# election_year.elections.downticket_primaries
# election_year.elections.downticket_primaries.republican
# GET GOVERNMENTS BY LEVEL:
election_year.federal
# <FederalGovernment: United States of America>
election_year.states
# [
# <StateGovernment: Alabama>,
# <StateGovernment: Alaska>,
# <StateGovernment: Arizona>,
# <StateGovernment: Arkansas>,
# ...
# ]
election_year.states.alabama
# <StateGovernment: Alabama>
election_year.states.new_jersey
# <StateGovernment: New Jersey>
# GET A BRANCH WITHIN A GOVERNMENT:
election_year.federal.legislative
# <LegislativeBranch: U.S. Congress>
election_year.states.delaware.executive
# <ExecutiveBranch: Delaware>
# GET SEATS UP FOR ELECTION:
election_year.federal.legislative.seats
# [
# <HouseSeat: Alaska U.S. House seat, at-large district>,
# ...
# <SenateSeat: Alaska U.S. Senate seat, class II>,
# ...
# ]
election_year.states.delaware.executive.seats
# [
# <ExecutiveSeat: Delaware Governor>,
# <ExecutiveSeat: Delaware Lieutenant Governor>,
# ...
# ]
# GET SEATS FROM A SPECIFIC LEGISLATIVE CHAMBER:
election_year.federal.legislative.seats.senate
# [
# <SenateSeat: Alabama U.S. Senate seat, class II>,
# <SenateSeat: Alaska U.S. Senate seat, class II>,
# <SenateSeat: Arizona U.S. Senate seat, class III>,
# <SenateSeat: Arkansas U.S. Senate seat, class II>,
# ...
# ]
election_year.federal.legislative.seats.house
# [
# <HouseSeat: Alaska U.S. House seat, at-large district>,
# <HouseSeat: Alabama U.S. House seat, 1st district>,
# <HouseSeat: Alabama U.S. House seat, 2nd district>,
# <HouseSeat: Alabama U.S. House seat, 3rd district>,
# ...
# ]
# FILTER BY STATE:
election_year.elections_for_state('TX')
# [
# <DemocraticPrimaryElection: Texas (Mar. 03, 2020)>,
# <RepublicanPrimaryElection: Texas (Mar. 03, 2020)>,
# <GeneralElection: Texas (Nov. 03, 2020)>
# ]
election_year.federal.legislative.seats_for_state('TX')
# [
# <SenateSeat: Texas U.S. Senate seat, class II>,
# <HouseSeat: Texas U.S. House seat, 1st district>,
# <HouseSeat: Texas U.S. House seat, 2nd district>,
# <HouseSeat: Texas U.S. House seat, 3rd district>,
# ...
# ]
election_year.federal.legislative.seats_for_state('GA').senate
# [
# <SenateSeat: Georgia U.S. Senate seat, class II>,
# <SenateSeat: Georgia U.S. Senate seat, class III>
# ]
Class-by-class reference
ElectionYear
Model docs TK.
GovernmentLevel
Variants: FederalGovernment
and StateGovernment
(for now).
Model docs TK.
GovernmentBranch
Variants: LegislativeBranch
and ExecutiveBranch
(for now).
Model docs TK.
PrimaryElection
Party-specific variants: DemocraticPrimaryElection
and RepublicanPrimaryElection
.
Model docs TK.
PrimaryRunoffElection
Party-specific variants: DemocraticPrimaryRunoffElection
and RepublicanPrimaryRunoffElection
.
Model docs TK.
GeneralElection
Model docs TK.
ElectoralZone
Variants: DistrictElectoralZone
and StateElectoralZone
.
Model docs TK.
SenateSeat
Model docs TK.
HouseSeat
Model docs TK.
ExecutiveSeat
Variants: HeadOfGovernmentSeat
.
Model docs TK.
Party
Model docs TK.
Contributing data
- Add data to one of the CSVs in the
db/
directory. - Build the package data files:
$ python build.py
- Submit a pull request!
Influences
This project borrows most of its software design from python-us.
Its data models are also heavily inspired by the DNC election data project.
Testing
$ pipenv install -d
$ pipenv run pytest
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 us-elections-0.5.0.tar.gz
.
File metadata
- Download URL: us-elections-0.5.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d2be87269d4e6e13b7448dea0bbb6df5e91ae53afbf97487b08c3f01e3cc1f8 |
|
MD5 | 8741ba57a9f0078bf87d82a87e322b3b |
|
BLAKE2b-256 | a808f643df3f33d1da14115a8156247acdc81d9fcff55103b8950a8bb990d053 |
File details
Details for the file us_elections-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: us_elections-0.5.0-py3-none-any.whl
- Upload date:
- Size: 160.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42260facbba062da2d18b0a904d388dfd21e05568b946c8728aa06c6c0e42f80 |
|
MD5 | e11c64af33fcc2003707692c602529ac |
|
BLAKE2b-256 | 9e6b2ec52f78f571554371a067b220b4699154119152ddd941f2ad2287eef10e |