niaopendata是北爱尔兰程序集open data api的python客户机

niaopendata的Python项目详细描述


Latest PyPI versionTravis CI build status

niaopendata是用于访问Northern Ireland Assembly Open Data API的python客户机库。niaopendata有一个完整的测试套件,目标是100%覆盖api。测试既保证了库的正常工作,也保证了该库符合并完全实现了API规范。

niaopendata支持python 2.6、2.7、pypy、3.3和3.4(可能还有更高版本,但我还没有测试过)。

安装

分发&pip

使用pip

安装niaopendata很简单
$ pip install niaopendata

或者,使用easy_install

$ easy_install niaopendata

但是,你真的shouldn’t do that

获取代码

niaopendata是在github上开发的,代码是always available

您可以克隆公共存储库:

$ git clone git://github.com/paddycarey/niaopendata.git

或者下载tarball

$ curl -OL https://github.com/paddycarey/niaopendata/tarball/master

一旦有了源代码的副本,就可以将其嵌入到python包中,或者轻松地将其安装到站点包中:

$ python setup.py install

用法

niaopendata的目标是为北爱尔兰的程序集open data api提供一个简单的pythonic接口。它被设计为易于使用,并且旨在提供具有一致接口的api的完整覆盖范围。

首先,您需要导入niaopendata.:

import niaopendata

从api检索数据

作为可能的示例,检索所有成员的列表很容易。

>>> 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

完整的API文档

完整的文档是一个正在进行的工作,但代码本身应该很容易遵循。所有公共函数都显式地导入到__init__.py中,并且所有函数都有适当的docstring。

测试

niaopendata有一个完整的测试套件。假设您对niaopendata存储库有一个完整的源代码签出,那么使用tox

$ pip install tox
$ tox

建议在开发或运行测试时使用virtualenv,以确保系统库不会干扰测试。

tip:如果您使用的是ubuntu,那么您可以找到比您的发行版here附带的python版本旧/新的版本。在不影响默认python安装的情况下,可以并排安装任意数量的内容。


热门话题
Ruby/Java中的OData提供程序   Java Box类中的方法   java NoClassDefFoundError:scala/math/Ordering with springkafkatest 2.5.7   如何读取本地Java软件中交换的协议消息?   java为Android webview隔离网站DIV   java Tomcat使用HSQLDB数据库部署应用程序,提供JDBCConnectionException   检查可选和返回字符串Java Stream API中是否存在null属性   JavaJMS队列轮询示例   来自Java的Windows 10上的通知   java IllegalArgumentException:布局:showcaseview中的998896<0   java如何克隆同步的集合?   java如何根据您在上一个活动中所做的操作显示另一个活动的对话框   数据库中的java更新项,但未在ContentValues中设置所有列