/openstates

source for Open States' scrapers

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

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.

Links

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.

Testing

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.