Consul的Python客户端 (http://www.consul.io/)
项目描述
Consul.io的Python客户端
文档
状态
示例
import consul
c = consul.Consul()
# poll a key for updates
index = None
while True:
index, data = c.kv.get('foo', index=index)
print data['Value']
# in another process
c.kv.put('foo', 'bar')
安装
pip install python-consul
注意: 当在带有代理服务器的环境中使用python-consul库时,可能需要设置http_proxy、https_proxy和no_proxy环境变量,以实现正常功能。
状态
还有一些API端点尚未提供,以公开Consul v0.6.0中所有可用的功能。如果您需要文档中未列出的端点,只需提交一个issue,我将立即尝试添加它。
邮件列表
贡献
python-consul目前由以下人员维护:
@matusvalo
@abn
@cablehead
如果您有兴趣成为维护者,请与我们联系。否则,请提交一个PR或Issue,我们会尽快回应。
Issue 标签
- 今天!:
正在进行一些问题分类工作,这个问题将在几个小时内得到处理!
- 优先级:
明确需要解决这个问题,很可能是核心贡献者会负责。对这些提交PR非常受欢迎!
- 需要帮助:
这个问题是有意义的,也很有用。但核心贡献者可能不会处理它,所以如果您希望看到它得到解决,请提交PR。
- 问题:
问题的需求不明确或需要澄清,请跟进。这个问题在几个月内没有回应,很可能会被关闭。
PRs
非常欢迎PR!当您创建PR时,请确保
所有当前测试通过,包括flake8
如果合理,为您的新的功能添加测试
为添加的新API功能添加文档字符串,如果需要,从sphinx文档链接到这些文档字符串
版本发布
# release the current version, eg: 0.6.1-dev -> 0.6.1
bumpversion release
# prepare the next patch (z-stream) version, eg: 0.6.1 -> 0.6.2-dev
bumpversion --no-tag patch
# else, prepare the next minor (y-stream) version, eg: 0.6.1 -> 0.7.0-dev
bumpversion --no-tag minor
变更日志
1.1.0
为目录和健康端点添加对nodemeta的支持(感谢 @ibrahimmenem)
更新Check.script以使用args,因为Consul 1.1已经弃用了script参数
1.0.1
不支持Python 3.4(抱歉)
添加对Consul 1.0.0的支持(感谢 @matusvalo!)
暴露所有400错误并添加常见回调处理程序的测试(感谢 @bagerard)
0.7.2
向HTTP检查添加头参数(感谢 @matusvalo)
添加基本事务HTTP API支持(感谢 @iandyh)
修复指定凭据时通过主机指定无效URL的错误(Issue #167)
0.7.1
添加不同HTTP客户端之间共享功能的一个通用基础客户端(感谢 @abn)
修复请求引号问题(感谢 @abn)
修复由于aiohttp仅适用于Python>=3.4.2而导致的安装问题(感谢 @abn)
添加对当前版本aiohttp的支持(感谢 @eaterek)
改进Tornado示例(感谢 @chriswue)
在Event.fire中添加并使用ACL令牌(感谢 @illenseer)
添加客户端证书支持(感谢 @brocade-craig)
将令牌参数添加到目录注册中(感谢 @gregdurham)
添加对DeregisterCriticalServiceAfter的支持(感谢 @daroot)
提高测试套件的可靠性(感谢 @daroot!)
更新CI:将py35和py36添加到测试中(感谢 @Poogles)
0.7.0
功能
添加Operator端点(感谢 @bantonj!)
0.6.2
错误修复
与None值相关的Tornado后端编码错误(感谢 @plredmond)
python-consul不支持python 2.6(感谢 @lowzj)
维护
将最大TTL更新为86400以符合consul(感谢 @philloooo)
在ACL创建/更新中更正错误信息(感谢 @Crypto89)
功能
目录API应支持令牌(感谢 @racktear!)
允许启用标记覆盖(感谢 @shalev67!)
0.6.1
功能
在目录和健康检查中添加坐标端点和near支持(感谢 @shalev67!)
重新设计所有端点以使用通用的回调处理程序,以确保对响应的一致处理(感谢 @shalev67)
添加查询API支持(感谢 @shalev67)
为健康端点添加令牌支持(感谢 @morpheu!)
强制请求客户端使用UTF-8编码的响应(感谢 @maxnasonov)
维护
将readthedocs链接从.org迁移到.io(感谢 @adamchainz)
0.6.0
功能
添加对新的TCP和Docker健康检查的支持(感谢 @abn)
添加对join和force-leave的支持(感谢 @abn)
使用标准的Consul环境变量覆盖配置(感谢 @amayausky)
维护
测试二进制文件更新到Consul 0.6.4
对Consul API的微小更新进行微调
0.4.7
功能
为agent.service.register和agent.check.register添加ACL令牌支持
0.4.6
功能
添加健康检查端点,更新健康TODO(感谢@cruatta!)
改进返回HTTP 503状态码时的错误(感谢@raboof!)
为event.list添加索引和wait参数(感谢@max0d41!)
0.4.5
功能
允许禁用SSL证书验证(感谢@jgadling!)
使用requests.session以提高性能(感谢@msabramo!)
支持所有阻塞查询的“wait”参数(感谢@rmt!)
在删除时使用std(requests)库时去重查询字符串(感谢@sduthil!)
0.4.4
功能
支持使用显式ID创建ALC。(感谢@KyleJamesWalker)
0.4.3
功能
支持健康端点的“dc”参数(感谢@etuttle!)
0.4.2
功能
添加状态端点(感谢@cruatta!)
0.4.1
功能
添加health.node(感谢@davidbirdsong!)
0.4.0
API更改(向后不兼容)
已弃用旧的健康检查ttl_pass调用已被删除
弃用松散参数script、interval、ttl、http和timeout,现在可以通过agent.service.register和agent.check.register配置检查。这两种方法现在都接受一个参数来指定检查。已添加方便的consul.Check来创建检查。
0.3.20
功能
添加节点和服务维护(感谢@cruatta!)
错误修复
consul.aio中的未关闭连接器异常(感谢@jettify!)
0.3.19
错误修复
修复六个依赖项(感谢@pawlowskimichal!)
0.3.18
功能
添加将检查与服务注册的能力(感谢@cruatta!)
错误修复
修复consul.aio的python3分发(感谢@mbachry!)
0.3.17
功能
为agent.service.register添加地址参数
0.3.16
功能
为kv.delete添加cas参数(感谢@qix)
0.3.15
功能
将标签参数添加到health.service()(感谢@reversefold)
0.3.14
功能
将keys和separator参数添加到kv.get(感谢@Heuriskein)
添加对事件API的支持(感谢@Heuriskein!)
0.3.13
功能
添加HTTP检查支持(感谢@JoeHazzers)
在kv.get 500响应码上引发ConsulException(感谢@jjpersch)
为kv.get添加wait参数
0.3.12
功能
为session.create添加behavior和ttl
添加session.renew
0.3.11
功能
添加health.state端点(感谢@pete0emerson!)
将测试二进制文件升级到0.5.0
0.3.9
错误修复
如果asyncio不可用,则排除consul.aio,避免安装时出现错误信息,尝试编译该模块
0.3.8
API更改(向后不兼容)
重新排列命名参数以使其更一致。如果可用,则index始终是第一个命名参数,dc现在是最后一个命名参数。
0.3.7
功能
为kv调用添加dc支持;添加为整个客户端会话设置默认dc的能力(感谢@angad)
添加异步客户端(感谢@jettify)
0.3.6
功能
添加https支持(感谢@pete0emerson)
为agent.members添加wan参数(感谢@sgargan)
0.3.5
错误修复
修复在检查上设置备注时的拼写错误(感谢@ShaheedHaque!)
0.3.4
功能
添加对Agent.Check的支持(感谢@sgargan和@ShaheedHaque)
已弃用
health.check.ttl_pass已移动到agent.check.ttl_pass
0.3.3
功能
添加对Session API的支持(Consul.Session)
错误修复
修复从KV存储检索文件夹节点时的错误 https://github.com/cablehead/python-consul/pull/6#issue-48589128 感谢@zacman85
0.3.2
功能
添加对Python 3.4的支持
0.3.1
功能
添加对目录API的支持(Consul.Catalog)
添加为整个客户端会话设置默认一致性模式的能力
将一致性模式传递给kv.get
0.3.0
功能
添加对ACLs的支持(Consul.ACL)
API更改(向后不兼容)
对于Consul.Agent.Service.register,将check参数重命名为script