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

postcodeinfo的Python项目详细描述


Test resultCoverage reportCode ClimateRequirements Status

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:

  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问题中记录所有问题、问题和功能请求 这个回购的追踪器,我们会尽快查看。如果你是 报告一个bug,如果你能提供尽可能小的 再现问题的代码位。考试不及格就更好了!

贡献

  • 查看最新的主控形状以确保该功能尚未实现 或者该错误尚未修复
  • 检查问题跟踪程序以确保有人尚未请求 和/或贡献了该功能
  • 分叉项目
  • 启动功能/错误修复分支
  • 承诺并推动,直到您对自己的贡献感到满意
  • 确保您的更改被单元测试覆盖,这样我们就不会破坏它 在未来无意中。
  • 请不要弄乱setup.py、版本或历史记录。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如果打开许多Java线程,它们在Android中似乎被卡住了   尝试保存嵌套片段的状态时出现java异常[对于键安卓:target\u state,片段不再存在]   我应该使用什么API或框架在Java中实现这个消息传递系统?   java JPA和序列化行为   使用Java Spring i18n翻译长文本的最佳实践   与字符串÷x%匹配的java正则表达式   春季冬眠   java使用ArrayList在ListView中出错   java解析bufferedReader数据,在某些字符处停止   我尝试在字符串中计数字符(java),但我的解决方案不起作用   java无法为本地开发在Google App Engine上设置默认的App Identity服务帐户   在Java Swing游戏中重置倒计时计时器不工作+JDialog/JOptionPane   Maven找不到intern java文件的符号错误   java获取XML包中返回的SQLException消息?   java Datanucleus类型转换插件   java bouncycastle PKCS12密钥库“最大密码长度”   java使用“==”语句   java在一个数组中包含多个变量?   java获取HttpResponseCode=400和HttpOperationFailedException