跳转到主要内容

政府数字服务提供的登记处数据读取客户端

项目描述

用法

openregister_client.registers.OpenRegister 是访问单个寄存器的基类,它忽略字段数据类型信息。openregister_client.registers.Registeropenregister_client.registers.AlphaRegister 使用“register”寄存器来发现可用的寄存器及其项目应包含的字段数据类型。返回的记录、条目和项目(记录中实际包含的数据)是 dict 子类,提供了类型化的属性以便更容易地访问寄存器数据。

目前仅兼容 Python 3.6 及以上版本。

使用 pip install openregister-client 进行安装。

使用示例

# direct register usage; field types will not have correct types, but data can be loaded more simply
from openregister_client.registers import OpenRegister

country_register = OpenRegister(name='country')
country_record = country_register.get_record('GB')
print('The official name for GB is %s' % country_record.item.official_name)
if not country_record.item.is_current:
    print('This country is not currently recognised')

# using register auto-discovery to process fields and datatypes
from openregister_client.registers import Register

register = Register()
territory_register = register.get_register('territory')
territory_items = sorted(map(lambda record: record.item, territory_register.get_records()), key=lambda item: item.territory)
for territory in territory_items:
    print('The official name for territory %s is %s' % (territory.territory, territory.official_name))

# make a Django model class; works best when using auto-discovery
from openregister_client.django_compat.model_factory import ModelFactory
from openregister_client.registers import Register

country_register = Register().get_register('country')
with open('models.py', 'wt') as f:
    f.write(ModelFactory(country_register).get_model_code())

# an API key can be provided when instantiating a register class
country_register = OpenRegister(name='country', api_key='YOUR API KEY')

未实现缓存。库的用户可以存储查询结果或继承 OpenRegister.request 来添加缓存。

不支持消费非 JSON 输入格式,可能也不需要。

开发

https://github.com/ministryofjustice/openregister-client/workflows/Run%20tests/badge.svg?branch=master

请向 GitHub 报告错误和发起 pull 请求。

使用 python setup.py test 运行所有测试。

通过更新 openregister_client/__init__.py 中的 VERSION 元组并在 GitHub 上发布版本来分发新版本(这将触发 GitHub Actions 工作流程以自动上传)。或者,在本地运行 python setup.py sdist bdist_wheel upload

待办事项

  • 由于已知条目和记录的数量,请不要分页超过末尾。

  • 可能将最低 Python 版本降低到 3.4 或 3.5;使用 typing 模块

参考

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

openregister-client-0.4.tar.gz (14.6 kB 查看哈希

上传时间

构建分发

openregister_client-0.4-py2.py3-none-any.whl (14.7 kB 查看哈希

上传时间 Python 2 Python 3

由以下支持