DEPRECATED: The data.parliament.uk API is now unmaintained and is outdated in many cases, so this package is also now deprecated.
A client for the UK Parliament API. Python 3 only, contributions welcome.
Currently supports:
- Commons and Lords divisions
- Commons and Lords membership
- Early Day Motions
The package can be installed in the usual way with pip:
pip install ukparliament
Firstly, import and create the client:
>>> from ukparliament import Parliament
>>> parliament = Parliament()
Getting membership of houses:
>>> mps = parliament.commons.members.current()
>>> len(mps)
650
Lists of members can be broken down by party, but otherwise behave as normal Python lists:
>>> mps.by_party()
{<Party "Labour Party">: 257,
<Party "Conservative Party">: 315,
<Party "Scottish National Party">: 35,
<Party "Sinn Féin">: 7,
None: 1,
<Party "Liberal Democrats">: 12,
<Party "Democratic Unionist Party">: 10,
<Party "Plaid Cymru">: 4,
<Party "Independent">: 8,
<Party "Green Party">: 1}
Fetching divisions for a house:
>>> divisions = parliament.commons.recent_divisions(limit=4)
>>> division = divisions[0]
>>> division
<Commons division: "draft Double Taxation Relief and International Tax Enforcement (Jersey) Order 2018" on 2018-11-21>
Divisions contain vote totals:
>>> division.ayes, division.noes, division.passed
(302, 238, True)
You can also get the full lists of who voted:
>>> division.votes['aye'].by_party()
{<Party "Conservative Party">: 293,
<Party "Independent">: 3,
<Party "Democratic Unionist Party">: 6}