跳转到主要内容

https://github.com/ministryofjustice/postcodeinfo 的API客户端

项目描述

Test result Coverage report Code Climate Requirements Status

Python包,提供对 https://github.com/ministryofjustice/postcodeinfo 的API客户端支持,该客户端包含根据开放政府许可证v2.0授权的公共部门信息

安装

pip install postcodeinfo

用法

身份验证

您需要一个 身份验证令牌(auth token)。如果您使用MOJ DS的Postcode Info服务器,可以通过发送电子邮件至 platforms@digital.justice.gov.uk 并简要说明

  • 您的身份

  • 您打算使用它的项目

  • 您预计每天将进行多少次查找

如果您正在运行自己的服务器,请参阅 https://github.com/ministryofjustice/postcodeinfo#auth_tokens 了解创建令牌的说明。

快速入门

在您的代码中

>>> import postcodeinfo

>>> # create a client
>>> client = postcodeinfo.Client("YOUR-ACCESS-TOKEN")

>>> # lookup a postcode
>>> postcode = client.lookup_postcode("SW1A 1AA")

>>> # postcode details
>>> postcode.valid
True

>>> postcode.latitude
51.50100893654096

>>> postcode.longitude
-0.141587558526369

>>> postcode.local_authority
{
    'gss_code': 'E09000033',
    'name': 'Westminster'
}

>>> postcode.country
{
    "name": "England",
    "gss_code": "E92000001"
}

>>> postcode.addresses
[
    {
        "uprn": "10033544614",
        "organisation_name": "BUCKINGHAM PALACE",
        "department_name": "",
        "po_box_number": "",
        "building_name": "",
        "sub_building_name": "",
        "building_number": None,
        "thoroughfare_name": "",
        "dependent_thoroughfare_name": "",
        "dependent_locality": "",
        "double_dependent_locality": "",
        "post_town": "LONDON",
        "postcode": "SW1A 1AA",
        "postcode_type": "L",
        "formatted_address": "Buckingham Palace\nLondon\nSW1A 1AA",
        "point": {
            "type": "Point",
            "coordinates": [
                -0.141587558526369,
                51.50100893654096
            ]
        }
    }
]

配置

除了认证令牌外,API客户端还需要一个其他参数 - api_url

显式 api_url

您可以通过将其传递给 Client 构造函数来显式设置 api_url

# create a client
client = postcodeinfo.Client("YOUR-API-TOKEN", api_url="https://some.dom.ain")

或者在现有的客户端上设置它,如下所示

client = postcodeinfo.Client("YOUR-API-TOKEN")
client.api_url = "https://some.dom.ain"

隐式 api_url

如果您没有将 api_url 传递给构造函数,它将尝试从环境中推断一个。客户端具有内置的环境名称到URL的映射。

>>> postcodeinfo.Client.api_urls
{
    'development': 'http://localhost:8000',
    'test': 'http://localhost:8000',
    'staging': 'https://postcodeinfo-staging.dsd.io',
    'production': 'https://postcodeinfo.service.justice.gov.uk'
}

它将使用以下规则来推断URL

  1. 如果您将 env 参数传递给构造函数(例如:client = postcodeinfo.Client("YOUR-API-TOKEN", env="staging")),它将使用该参数作为 api_urls 映射的参考。

  2. 如果您在环境中设置了 DJANGO_SETTINGS_MODULE,它将尝试在该模块中找到以下设置

    POSTCODEINFO_API_URL
    POSTCODEINFO_API_TOKEN
    POSTCODEINFO_API_TIMEOUT
  3. 否则它将默认为 development

支持

此源代码按原样提供,不提供事件响应或支持级别。请将所有问题、问题和功能请求记录在Github问题跟踪器中,我们会尽快查看。如果您正在报告一个错误,那么如果您能提供最小的代码来重现问题,那就非常有帮助了。一个失败的测试甚至更好!

贡献

  • 查看最新的master分支,以确保功能尚未实现或错误尚未修复

  • 检查问题跟踪器,以确保没有人已经请求和/或贡献了这个功能

  • 分支项目

  • 开始一个功能/错误修复分支

  • 提交并推送,直到您对您的贡献满意

  • 确保您的更改被单元测试覆盖,这样我们就不会在将来无意中破坏它。

  • 请勿修改 setup.py、版本或历史记录。

项目详情


下载文件

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

源分布

postcodeinfo-0.2.2.tar.gz (6.7 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面