Skip to content
Go to file


Failed to load latest commit information.
Latest commit message
Commit time


Python client for


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

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.


There's a few API endpoints still to go to expose all features available in Consul v0.6.0. 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-consul is currently maintained by:

  • @matusvalo
  • @abn
  • @cablehead

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.