Skip to main content

everypolitician-popolo for Python

This is a port of the Ruby gem everypolitician-popolo to Python. Even this README is strongly based on that gem.

Installation

You can install this package with:

pip install everypolitician-popolo

Usage

You can download a Popolo file manually from EveryPolitician (although there’s another library if you want to automate that: See also: the everypolitician package).

The following example uses Åland Lagting (which is the legislature of the Åland islands, available as JSON data from the EveryPolitician page for Åland).

First you’ll need to require the library and read in a file from disk.

from popolo_data.importer import Popolo
popolo = Popolo.from_filename('ep-popolo-v1.0.json')

All Popolo classes used by EveryPolitician are implemented:

There are methods defined for each property on a class, e.g. for a Person:

len(popolo.persons) # => 60
person = popolo.persons.first
person.id # => u'e3aab23e-a883-4763-be0d-92e5936024e2'
person.name # => u'Aaltonen Carina'
person.image # => u'http://www.lagtinget.ax/files/aaltonen_carina.jpg'
person.wikidata # => u"Q4934081"

You can also find individual records or collections based on their attributes:

popolo.persons.get(name="Aaltonen Carina")
    # => <Person: Aaltonen Carina>

popolo.organizations.filter(classification="party")
    # => [<Organization: Liberalerna>,
    #     <Organization: Liberalerna på Åland r.f.>,
    #     <Organization: Moderat Samling>,
    #     <Organization: Moderat Samling på Åland r.f.>,
    #     <Organization: Moderat samling>,
    #     <Organization: Moderaterna på Åland>,
    #     <Organization: Obunden Samling>,
    #     <Organization: Obunden Samling på Åland>,
    #     <Organization: Ålands Framtid>,
    #     <Organization: Ålands Socialdemokrater>,
    #     <Organization: Ålands framtid>,
    #     <Organization: Ålands socialdemokrater>,
    #     <Organization: Åländsk Center>,
    #     <Organization: Åländsk Center r.f.>,
    #     <Organization: Åländsk Demokrati>,
    #     <Organization: Åländsk center>]

Development

After checking out the repo, install the dependencies with:

pip install -r requirements.txt

You can then run the tests with:

tox

To release a new version, update the version number in setup.py and add notes to the CHANGES.txt describing the fixes or new features.

See also: the everypolitician package

In the example above, the Popolo data comes from a downloaded file (ep-popolo-v1.0.json), which is the kind of file you can get from the EveryPolitician website. But your Ruby application can also interact directly with the EveryPolitician data using the everypolitician package, so you don’t need to handle JSON files at all. The value returned from the Legislature.popolo method is a Popolo object, which you can use as above. For example, you can install the package with:

pip install everypolitician

And then use it as follows:

from everypolitician import EveryPolitician

australia = EveryPolitician().country('Australia')
australia.code # => u'AU'
senate = australia.legislature('Senate')
senate.popolo().persons.get(name='Aden Ridgeway') # => <Person: Aden Ridgeway>

Contributing

Bug reports and pull requests are welcome on GitHub at <https://github.com/everypolitician/everypolitician-popolo-python>.

License

The gem is available as open source under the terms of the MIT License.

Metadata

Release files for everypolitician-popolo 0.0.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for everypolitician-popolo 0.0.11
File Size Uploaded
everypolitician-popolo-0.0.11.tar.gz 15.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for everypolitician-popolo 0.0.11
File Interpreter ABI Platform
everypolitician_popolo-0.0.11-py2-none-any.whl Python 2 none any Details

Total release size: 36.1 kB

Release files / everypolitician-popolo-0.0.11.tar.gz

Download URL everypolitician-popolo-0.0.11.tar.gz
Size 15.4 kB
Tags Source
SHA-256 checksum
How to use checksums
655be1ccb957ccad65a2e38179df459425be4598a9392b9c4a71e5c9e237ce6b
BLAKE2b-256 checksum
How to use checksums
8ad8c461cfe6290afbd0e6ffd3cfa4c600afa6d2c0c8db2e96c9eda762a1c547
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / everypolitician_popolo-0.0.11-py2-none-any.whl

Download URL everypolitician_popolo-0.0.11-py2-none-any.whl
Size 20.7 kB
Tags Python 2
SHA-256 checksum
How to use checksums
b485f38b66a6f81743a66c5b49321c35df7e0f3452439821bb47aa1e995361b9
BLAKE2b-256 checksum
How to use checksums
341c1f9dc7b1ed0c0e8d7cf1717ad417f3e1e7c376bc843302e4a89977f9d19d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.11 This release

2 release files

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page