Skip to main content
https://travis-ci.org/deliveryhero/distconfig.svg?branch=master Documentation Status

distconfig

Library to manage distributed configuration using either ZooKeeper or Etcd or Consul.

Rational

When you have to manage configuration of a given services that are distributed across nodes, you may want to consider using either one of the distributed configuration managers e.g. zookeeper, etcd, consul …, this library goal is to give developers an easy access to configuration stored in the previous backends.

Installation:

To use ZooKeeper as backend you should install distconfig using

$ pip install distconfig[zookeeper]

with etcd:

$ pip install distconfig[etcd]

with consul:

$ pip install distconfig[consul]

Usage:

Example using zookeeper as a backend

from kazoo import client

from distconfig import Proxy

client = client.KazooClient()
# The user must call ``KazooClient.start()`` before using this particular
# backend
client.start()

proxy = Proxy.configure(
    'distconfig.backends.zookeeper.ZooKeeperBackend',
    client=client,
)

# config is a read only mapping-like object.
config = proxy.get_config('/distconfig/service_name/config')

print config['key']

# Getting nested values works by supplying key seperated by '/' char.
print config['key/inner']

# You can assert key value type by using typed get function e.g.
# get_int, get_float, get_unicode, get_bytes ... .
print config.get_int('key/inner/int_key')

# Getting a inner config.
print config.get_config('key/inner/dict_key')

Development:

Start by installing dependencies

$ pip install -r requirements/dev.txt requirements/base.txt

To run unit test use tox

$ tox

To run integration test, we recommend you to install docker and then run

$ ./run-tests.sh

The above script will setup docker container for each of the backend and run the integration tests on them.

TODO:

Metadata

Release files for distconfig 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for distconfig 0.1.0
File Size Uploaded
distconfig-0.1.0.tar.gz 10.5 kB Details

Release files / distconfig-0.1.0.tar.gz

Download URL distconfig-0.1.0.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9fa636bd561cc9dd1c76817f42ccff6a663e19e4a53dfe7ca11cbfc44e9f3416
BLAKE2b-256 checksum
How to use checksums
79c90382bb4247429e9bc1952318be4ab8a293328b830bc0fc64a2e83380d46a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page