跳转到主要内容

Consul的Python客户端 (http://www.consul.io/)

项目描述

Consul.io的Python客户端

文档

Read the Docs

状态

Build Status

示例

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时,请确保

  1. 所有当前测试通过,包括flake8

  2. 如果合理,为您的新的功能添加测试

  3. 为添加的新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调用已被删除

  • 弃用松散参数scriptintervalttlhttptimeout,现在可以通过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)

错误修复

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

项目详情


下载文件

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

源代码分发

python-consul-1.1.0.tar.gz (25.7 kB 查看哈希值)

上传时间 源代码

构建分发

python_consul-1.1.0-py2.py3-none-any.whl (24.3 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者

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