Skip to main content

Navigate countries and legislatures from EveryPolitician

Project description

EveryPolitician

A Python library for easy access to EveryPolitician data. This is essentially a Python port of everypolitican-ruby.

This has been tested with Python 2.7 and Python 3.5.

Installation

You can install this package from PyPi with:

pip install everypolitician

Usage

Creating a instance of the EveryPolitican class allows you to access information on countries, their legislatures and legislative periods. Each country and legislature has a slug that can be used to reference them via the country and legislature methods:

from everypolitician import EveryPolitician
ep = EveryPolitician()

australia = ep.country('Australia')
senate = australia.legislature('Senate')
senate # => <Legislature: Senate in Australia>

united_kingdom = ep.country('UK')
house_of_commons = united_kingdom.legislature('Commons')

american_samoa = ep.country('American-Samoa')
house_of_representatives = american_samoa.legislature('House')

for country in ep.countries():
    print country.name, 'has', len(country.legislatures()), 'legislatures'

By default this will get the EveryPolitician data and returns the most recent data. This data is found from the index file, called countries.json, which links to specific versions of other data files.

If you want want to point to a different countries.json file, you can override the default URL by specifying the countries_json_url keyword argument when creating the EveryPolitician object, e.g.:

EveryPolitician(countries_json_url='https://cdn.rawgit.com/everypolitician/everypolitician-data/080cb46/countries.json')

The example above is using a specific commit (indicated by the hash 080cb46). If you want to use a local copy of countries.json you can create the object with the countries_json_filename keyword argument instead, e.g.:

EveryPolitician(countries_json_filename='/home/mark/tmp/countries.json')

For more about countries.json, see this description.

Remember that EveryPolitician data is frequently updated — see this information about using EveryPolitician data.

More information on the EveryPolitician site.

Development

After cloning the repo, you can run the tests on Python 2.7 and Python 3.5 by running:

tox

Or you can create a virtualenv and install the package’s dependencies with:

pip install -e .

And run the tests on the Python version your virtualenv was based on with:

pytest

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/everypolitician/everypolitician.

License

The gem is available as open source under the terms of 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

everypolitician-0.0.13.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

everypolitician-0.0.13-py2-none-any.whl (7.1 kB view details)

Uploaded Python 2

File details

Details for the file everypolitician-0.0.13.tar.gz.

File metadata

File hashes

Hashes for everypolitician-0.0.13.tar.gz
Algorithm Hash digest
SHA256 62c036101dc6e65eca867670c49b6ab0e84c9b1192ce626952d73b7a3130ec31
MD5 480b2648653f52df59008ffe43d63ee1
BLAKE2b-256 31e072f7e77923d46d7e9ee204b4cc97288575f97ab11b57b4417c0f42b6ad6a

See more details on using hashes here.

File details

Details for the file everypolitician-0.0.13-py2-none-any.whl.

File metadata

File hashes

Hashes for everypolitician-0.0.13-py2-none-any.whl
Algorithm Hash digest
SHA256 f417f65ed44109d8e14a47c29fae5b2cc94385b0df03265e0b146f022f2caa75
MD5 49243ac9ad9d3face0048ddc0bfd943b
BLAKE2b-256 7430c00ad424f0b6a2be72a1db9351502fd1f2584564be7b9f2fbc93c6cc5167

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