用于https://github.com/ministryofjustice/postcodeinfo的API客户端
postcodeinfo的Python项目详细描述
为https://github.com/ministryofjustice/postcodeinfo提供api客户端的python包 其中包含根据开放式政府许可证v2.0授权的公共部门信息
安装
pip install postcodeinfo
用法
认证
您需要一个身份验证令牌(auth令牌)。如果你用的是魔药 邮政编码信息服务器,您可以通过电子邮件获取令牌 platforms@digital.justice.gov.uk摘要如下:
- 你是谁
- 您将在哪个项目上使用它
- 大概每天要做多少次查找
如果运行自己的服务器,请参见 https://github.com/ministryofjustice/postcodeinfo#auth_tokens用于说明 如何创建令牌。
快速启动
在您的代码中:
>>>importpostcodeinfo>>># create a client>>>client=postcodeinfo.Client("YOUR-ACCESS-TOKEN")>>># lookup a postcode>>>postcode=client.lookup_postcode("SW1A 1AA")>>># postcode details>>>postcode.validTrue>>>postcode.latitude51.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]}}]
配置
除了auth令牌之外,只有一个其他参数api client 需要-api_url。
显式api_url
您可以通过将api url显式地传递给Client构造函数来设置它
# create a clientclient=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,它将尝试推断 一个来自环境。客户端有一个内置的环境名称映射 网址。
>>>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问题中记录所有问题、问题和功能请求 这个回购的追踪器,我们会尽快查看。如果你是 报告一个bug,如果你能提供尽可能小的 再现问题的代码位。考试不及格就更好了!
贡献
- 查看最新的主控形状以确保该功能尚未实现 或者该错误尚未修复
- 检查问题跟踪程序以确保有人尚未请求 和/或贡献了该功能
- 分叉项目
- 启动功能/错误修复分支
- 承诺并推动,直到您对自己的贡献感到满意
- 确保您的更改被单元测试覆盖,这样我们就不会破坏它 在未来无意中。
- 请不要弄乱setup.py、版本或历史记录。
版权所有
版权所有©2015英国政府(司法部数字服务)。见 许可证了解更多详细信息。