k3etcd
A python client for Etcd https://github.com/coreos/etcd This module will only work correctly with the etcd server version 2.3.x or later.
k3etcd is a component of pykit3 project: a python3 toolkit set.
Python client for etcd server version 2.3.x and later.
See: https://github.com/coreos/etcd
Install
pip install k3etcd
Synopsis
import k3etcd
hosts = (
("192.168.0.100", 2379),
("192.168.0.101", 2379),
("192.168.0.102", 2379),
)
try:
c = k3etcd.Client(host=hosts)
c.set("test_key", "test_val")
res = c.get("test_key")
# type(res) is EtcdKeysResult
# res.key == 'test_key'
# res.value == 'test_val'
# res.dir == False
# ...
# c.st_leader
# out type is `dict`
# {
# "leader": "991200c666cc4678",
# "followers":{
# "183ebbe2e22ee250": {
# "latency": {
# "current": 0.00095,
# "average": 0.09798531413612557,
# "standardDeviation": 1.3282931634902915,
# "minimum": 0.000635,
# "maximum": 18.407235
# },
# "counts": {
# "fail": 0,
# "success": 191
# }
# },
# "291578612bc6deb": {
# "latency": {
# "current": 0.000949,
# "average": 0.001928250000000001,
# "standardDeviation": 0.0018525034545722491,
# "minimum": 0.000876,
# "maximum": 0.017505
# },
# "counts": {
# "fail": 0,
# "success": 188
# }
# },
# }
# }
# c.st_self
# out type is `dict`
# {
# "name": "node_1",
# "id": "991200c666cc4678",
# "state": "StateLeader",
# "startTime": "2017-06-14T05:20:04.334273309Z",
# "leaderInfo": {
# "leader": "991200c666cc4678",
# "uptime": "4h41m55.43860796s",
# "startTime": "2017-06-14T05:20:04.477688456Z"
# },
# "recvAppendRequestCnt": 0,
# "sendAppendRequestCnt": 736
# }
# c.st_store
# out type is `dict`
# {
# "getsSuccess": 4,
# "getsFail": 7,
# "setsSuccess": 53,
# "setsFail": 0,
# "deleteSuccess": 24,
# "deleteFail": 2,
# "updateSuccess": 2,
# "updateFail": 0,
# "createSuccess": 7,
# "createFail": 1,
# "compareAndSwapSuccess": 3,
# "compareAndSwapFail": 1,
# "compareAndDeleteSuccess": 0,
# "compareAndDeleteFail": 0,
# "expireCount": 3,
# "watchers": 0
# }
n = c.names
# get names of etcd servers
# n=['node1', 'node2', 'node3']
ids = c.ids
# get ids of etcd servers
# ids=['fca771384ed46928', '991200c666cc4678', '4768ce54ee212c95']
peerurls = ["http://192.168.0.103:2380"]
c.add_member(*peerurls)
# only register new node
# after it, start the server
peerurls = ["http://192.168.0.102:4380"]
c.change_peerurls("fca771384ed46928", *peerurls)
except k3etcd.EtcdException as e:
print(repr(e))
Author
Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Metadata
Release files for k3etcd 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| k3etcd-0.1.4.tar.gz | 21.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| k3etcd-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.5 kB
Release files / k3etcd-0.1.4.tar.gz
| Download URL | k3etcd-0.1.4.tar.gz |
|---|---|
| Size | 21.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f54669ae3a71f7c416ea6a137ddf74c7913d120a076b664f9a13898fd7501296
|
|
BLAKE2b-256 checksum How to use checksums |
f96a2ad5c7c544c690480d4de78520546781de13cc84d63c1a05ea2dd1220383
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / k3etcd-0.1.4-py3-none-any.whl
| Download URL | k3etcd-0.1.4-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b863946807583d8a4dbe5f106c7c090ff1dc94a508c49231c1afbb687000228f
|
|
BLAKE2b-256 checksum How to use checksums |
411b219a1df44f0b732d4682bc9afeb7001292c7b3483a76d88ec37c6e999dab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|