Python Other
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE Mar 3, 2017
billy_metadata Merge pull request #1722 from jmcarp/pupa-ga May 21, 2017
manual_data/districts fix #1159 Feb 4, 2017
openstates OK: add proxy to comms too May 21, 2017
pupa2billy flake8 stray space May 21, 2017
scripts exclude popularity counts May 16, 2017
.dockerignore Switch docker environment to alpine linux. Apr 26, 2017
.gitignore OK: ignore 2018 session for now May 8, 2017
.travis.yml scrape->pupa-scrape and Feb 22, 2017 Merge remote-tracking branch 'upstream/master' into pupa-mn Mar 14, 2017 Update Mar 12, 2017
Dockerfile avoid writing PYC files in Docker, #1478 Apr 12, 2017
Dockerfile-alpine Switch docker environment to alpine linux. Apr 26, 2017
Dockerfile-pupa Move IPDB from Dockerfile to Requirements file Apr 18, 2017
LICENSE Renaming license file so GitHub will notice it. Sep 26, 2016
README.rst Pull images from dockerhub. Mar 11, 2017 allow running billy & pupa scrapers side by side w/ same docker-compose Feb 20, 2017
docker-compose.yml Back out docker-compose.yml change Mar 21, 2017 Merge pull request #1722 from jmcarp/pupa-ga May 21, 2017 Allow debugging with pupa. Mar 13, 2017
requirements-new.txt GA: Scrape people with pupa. May 16, 2017
requirements.txt billy relaxed Django requirement, ensure it is installed Apr 25, 2017
setup.cfg WY: Restore bill description and ignore events lint. Apr 1, 2017 bump setup Feb 22, 2017


The Open States Project collects and makes available data about state legislative activities, including bill summaries, votes, sponsorships and state legislator information. This data is gathered directly from the states and made available in a common format for interested developers, through a JSON API and data dumps.


Getting Started

We use Docker to provide a reproducible development environment. Make sure you have Docker installed. Inside of the directory you cloned this project into:

docker-compose run openstates <abbreviated state code>  # Scrapes the state indicated by the code e.g. "ny"

This project runs on top of billy, a scraping framework for government data. Our Docker container runs the billy-update command (billy-update docs) with whatever arguments you put at the end of docker run. For example, you can limit the scrape to Tennessee's (tn) state senators using:

docker-compose run openstates tn --upper --legislators

Check out the writing scrapers guide to understand how the scrapers work & how to contribute.


To run all tests:

docker-compose run --entrypoint=nosetests openstates /srv/openstates-web/openstates

Note that Illinois (il) is the only state with tests right now.