• Stars
    star
    426
  • Rank 101,884 (Top 3 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 8 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python client for the etcd API v3

python-etcd3

Documentation Status Updates https://codecov.io/github/kragniz/python-etcd3/coverage.svg?branch=master

Python client for the etcd API v3, supported under python 2.7, 3.4 and 3.5.

Warning: the API is mostly stable, but may change in the future

If you're interested in using this library, please get involved.

Basic usage:

import etcd3

etcd = etcd3.client()

etcd.get('foo')
etcd.put('bar', 'doot')
etcd.delete('bar')

# locks
lock = etcd.lock('thing')
lock.acquire()
# do something
lock.release()

with etcd.lock('doot-machine') as lock:
    # do something

# transactions
etcd.transaction(
    compare=[
        etcd.transactions.value('/doot/testing') == 'doot',
        etcd.transactions.version('/doot/testing') > 0,
    ],
    success=[
        etcd.transactions.put('/doot/testing', 'success'),
    ],
    failure=[
        etcd.transactions.put('/doot/testing', 'failure'),
    ]
)

# watch key
watch_count = 0
events_iterator, cancel = etcd.watch("/doot/watch")
for event in events_iterator:
    print(event)
    watch_count += 1
    if watch_count > 10:
        cancel()

# watch prefix
watch_count = 0
events_iterator, cancel = etcd.watch_prefix("/doot/watch/prefix/")
for event in events_iterator:
    print(event)
    watch_count += 1
    if watch_count > 10:
        cancel()

# recieve watch events via callback function
def watch_callback(event):
    print(event)

watch_id = etcd.add_watch_callback("/anotherkey", watch_callback)

# cancel watch
etcd.cancel_watch(watch_id)

# recieve watch events for a prefix via callback function
def watch_callback(event):
    print(event)

watch_id = etcd.add_watch_prefix_callback("/doot/watch/prefix/", watch_callback)

# cancel watch
etcd.cancel_watch(watch_id)

More Repositories

1

json-sempai

Use JSON files as if they are python modules
Python
1,252
star
2

tor-controller

Run Tor onion services on Kubernetes
Go
540
star
3

anyprint

Use any* language's print statements in Python
Python
402
star
4

cookiecutter-pypackage-minimal

A minimal template for python packages
Python
200
star
5

omochabako

Toy container runtime, capable of running docker images
Python
67
star
6

pam-2fa-scream

Highly secure second factor auth by screaming at your computer.
C
18
star
7

typejudge

Automated semver compliance based on type hints
Python
16
star
8

whalie

Jimble your while loops.
Python
15
star
9

python-pixiv

Pixiv API client for python
Python
13
star
10

tor-ingress-controller

An ingress controller to expose kubernetes services as onion services on the tor network
Go
12
star
11

reddit-auto-respond

Responds to privates messages on reddit
Python
11
star
12

doot

💀 t̷h͝e̴ s̶ke̡l͜tal͞ 💀 of ke̢rn̕e͢l 💀
C
10
star
13

nixbot

Python
8
star
14

configuration.nix

NixOS configuration files
Nix
8
star
15

CMPS10

Arduino library for the CMPS10 compass
C++
5
star
16

toot

Mastodon API client for Go
Go
5
star
17

inidiff

Find the differences between two ini files
Python
4
star
18

dot-files

Some config files
Perl
4
star
19

librowind

C library for the RO Wind sensor
C
4
star
20

amnesiafs

C
3
star
21

comfc

The comfy compositor
C
3
star
22

containers

Easily manipulate app containers
Python
2
star
23

soilmaker

Makes pictures of soil
Python
2
star
24

lode

Tiny and minimalistic logging utility module
Python
2
star
25

java-player

Mirror of the javaclient3 branch of java-player
Java
2
star
26

christmas-eval

Python
2
star
27

hyoki

Go
2
star
28

piebook

A small console-based ebook reader written in python
Python
2
star
29

morsecat

Like cat(1), but with morse code and lights
Rust
2
star
30

anon-ircd

Python
2
star
31

computing

Random stuff with python
Python
1
star
32

github-setup-irc-notifications

Configure all repositories in an organization with irc notifications
Python
1
star
33

musc

Small music playing server
Python
1
star
34

fpc-stuff

some rather rancid fpc projects
Pascal
1
star
35

betamax-yaml-serializer

YAML serializer for betamax
Python
1
star
36

gpsts

Attempts to sync system and GPS time
Python
1
star
37

m8

1
star
38

pypmon

ip address monitor
Python
1
star
39

mushroom

Mirror of https://git.sr.ht/~kragniz/mushroom
C
1
star
40

llgc

Python
1
star
41

nyaa-scrobble

Scrobbles music from nyaa-radio
Python
1
star
42

prettytable

Automatically exported from code.google.com/p/prettytable
Python
1
star
43

sails-fedora

1
star
44

wch

Small mplayer wrapper which allows restarting from the episode last watched
Python
1
star
45

proxy

Go
1
star
46

hexogen

tile based declarative texture synthesis
Python
1
star
47

sudoku-solver

Simple non-backtracking sudoku solver
Java
1
star
48

pygamebook

Makes nice looking game books
Python
1
star
49

pixiv-bot-demo

Python
1
star
50

pychi

py can has internet - check if this machine is connected to the world wide web
Python
1
star
51

nduko

n by n suduko
Python
1
star