niaopendata is a Python client for the Northern Ireland Assembly Open Data API
niaopendata is a Python client library for accessing the Northern Ireland Assembly Open Data API. niaopendata has a full test suite and aims to have 100% coverage of the API. Tests exist both to ensure that the library is working as expected, and also that the library complies with and fully implements the API specification.
niaopendata supports Python 2.6, 2.7, PyPy, 3.3 and 3.4 (and probably later versions too, but I haven’t tested on those).
- Free software: MIT license
- Documentation: https://github.com/paddycarey/niaopendata
Distribute & Pip
Installing niaopendata is simple with pip:
$ pip install niaopendata
or, with easy_install:
$ easy_install niaopendata
But, you really shouldn’t do that.
Get the Code
niaopendata is actively developed on GitHub, where the code is always available.
You can either clone the public repository:
$ git clone git://github.com/paddycarey/niaopendata.git
Or download the tarball:
$ curl -OL https://github.com/paddycarey/niaopendata/tarball/master
Once you have a copy of the source, you can embed it in your Python package, or install it into your site-packages easily:
$ python setup.py install
niaopendata aims to provide a simple, pythonic interface to Northern Ireland Assembly Open Data API. It has been designed to be easy to use, and aims to provide full coverage of the API with a consistent interface.
First you’ll need to import niaopendata.:
Retrieving data from the API
As an example of what is possible, it is easy to retrieve a list of all members.:
>>> niaopendata.all_current_members() [ OrderedDict([ (u'PersonId', u'307'), (u'AffiliationId', u'2482'), (u'MemberName', u'Agnew, Steven'), (u'MemberLastName', u'Agnew'), (u'MemberFirstName', u'Steven'), (u'MemberFullDisplayName', u'Mr S Agnew'), (u'MemberSortName', u'AgnewSteven'), (u'MemberTitle', u'MLA - North Down'), (u'PartyName', u'Green Party'), (u'PartyOrganisationId', u'111'), (u'ConstituencyName', u'North Down'), (u'ConstituencyId', u'11'), (u'MemberImgUrl', u'http://aims.niassembly.gov.uk/images/mla/307_s.jpg'), (u'MemberPrefix', u'Mr') ]), ... ] >>> len(niaopendata.all_current_members()) 107
Full API documentation
Full documentation is a work in progress, but the code itself should be easy to follow. All public functions are explicitly imported in __init__.py and all functions have appropriate docstrings.
niaopendata has a full test suite. Assuming you have a full source checkout of the niaopendata repository, running the tests is simple with tox:
$ pip install tox $ tox
It is recommended that you use a virtualenv when developing or running the tests to ensure that system libraries do not interfere with the tests.
TIP: If you’re using Ubuntu, you can find older/newer versions of python than the one shipped with your distribution here. You can install as many as you like side by side without affecting your default python install.