Skip to content
This repository has been archived by the owner on Aug 5, 2021. It is now read-only.

russss/ukparliament

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Installing

The package can be installed in the usual way with pip:

pip install ukparliament

Examples

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}