https://github.com/ministryofjustice/postcodeinfo 的API客户端
项目描述
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
如果您将 env 参数传递给构造函数(例如:client = postcodeinfo.Client("YOUR-API-TOKEN", env="staging")),它将使用该参数作为 api_urls 映射的参考。
如果您在环境中设置了 DJANGO_SETTINGS_MODULE,它将尝试在该模块中找到以下设置
POSTCODEINFO_API_URL POSTCODEINFO_API_TOKEN POSTCODEINFO_API_TIMEOUT
否则它将默认为 development
支持
此源代码按原样提供,不提供事件响应或支持级别。请将所有问题、问题和功能请求记录在Github问题跟踪器中,我们会尽快查看。如果您正在报告一个错误,那么如果您能提供最小的代码来重现问题,那就非常有帮助了。一个失败的测试甚至更好!
贡献
查看最新的master分支,以确保功能尚未实现或错误尚未修复
检查问题跟踪器,以确保没有人已经请求和/或贡献了这个功能
分支项目
开始一个功能/错误修复分支
提交并推送,直到您对您的贡献满意
确保您的更改被单元测试覆盖,这样我们就不会在将来无意中破坏它。
请勿修改 setup.py、版本或历史记录。
版权
版权所有 © 2015 HM Government(司法部数字服务部)。有关详细信息,请参阅 LICENSE。
项目详情
postcodeinfo-0.2.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c84e735bea0ae7aeecdb0a79843edd56bba2461590f0b2d1e4cb4ec208bd42ca |
|
MD5 | d9f6fc90a29076c587908cafe505ac1d |
|
BLAKE2b-256 | b2d79e1007afb838f29ff941c14bd70a2118eabae2c919309eb43f1db09c4fdf |