Skip to content
Python client for the Consul HTTP API ,Continue develop on cablehead/python-consul
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Python client for

Build Status License Status Pypi Status Pyversions Status Docs Status Coverage 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-consul2

Note: When using python-consul library in environment with proxy server, setting of http_proxy, https_proxy and no_proxy environment variables can be required for proper functionality.


This python-consul author may be a little busy, I will maintain a version python-consul2, welcome to use. The new consul version was used(v1.6.1). Progressively implement all API interfaces in the future

There's a few API endpoints still to go to expose all features available in Consul v1.6.1. If you need an endpoint that's not in the documentation, just open an issue and I'll try and add it straight away.

Mailing List


python-consul2 is currently maintained by:

  • @poppyred

Please reach out if you're interested in being a maintainer as well. Otherwise, open a PR or Issue we'll try and respond as quickly as we're able.

Issue Labels

today!:Some triaging is in progress and this issue should be taken care of in a couple of hours!
priority:There's a clear need to address this issue and it's likely a core contributor will take it on. Opening a PR for these is greatly appreciated!
help wanted:This issue makes sense and would be useful. It's unlikely a core contributor will get to this though, so if you'd like to see it addressed please open a PR.
question:The need for the issue isn't clear or needs clarification, so please follow up. Issues in this state for a few months, without responses will likely will be closed.


Pull requests are very much appreciated! When you create a PR please ensure:

  1. All current tests pass, including flake8
  2. To add tests for your new features, if reasonable
  3. To add docstrings for new api features you add and if needed link to these docstrings from the sphinx documentation


# 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
You can’t perform that action at this time.