1---
2title: Libraries and tools
3---
4
5**Tools**
6
7- [etcdctl](https://github.com/etcd-io/etcd/tree/master/etcdctl) - A command line client for etcd
8- [etcd-backup](https://github.com/fanhattan/etcd-backup) - A powerful command line utility for dumping/restoring etcd - Supports v2
9- [etcd-dump](https://npmjs.org/package/etcd-dump) - Command line utility for dumping/restoring etcd.
10- [etcd-fs](https://github.com/xetorthio/etcd-fs) - FUSE filesystem for etcd
11- [etcddir](https://github.com/rekby/etcddir) - Realtime sync etcd and local directory. Work with windows and linux.
12- [etcd-browser](https://github.com/henszey/etcd-browser) - A web-based key/value editor for etcd using AngularJS
13- [etcd-lock](https://github.com/datawisesystems/etcd-lock) - Master election & distributed r/w lock implementation using etcd - Supports v2
14- [etcd-console](https://github.com/matishsiao/etcd-console) - A web-base key/value editor for etcd using PHP
15- [etcd-viewer](https://github.com/nikfoundas/etcd-viewer) - An etcd key-value store editor/viewer written in Java
16- [etcdtool](https://github.com/mickep76/etcdtool) - Export/Import/Edit etcd directory as JSON/YAML/TOML and Validate directory using JSON schema
17- [etcd-rest](https://github.com/mickep76/etcd-rest) - Create generic REST API in Go using etcd as a backend with validation using JSON schema
18- [etcdsh](https://github.com/kamilhark/etcdsh) - A command line client with support of command history and tab completion. Supports v2
19- [etcdloadtest](https://github.com/sinsharat/etcdloadtest) - A command line load test client for etcd version 3.0 and above.
20- [lucas](https://github.com/ringtail/lucas) - A web-based key-value viewer for kubernetes etcd3.0+ cluster.
21
22**Go libraries**
23
24- [etcd/clientv3](https://github.com/etcd-io/etcd/blob/master/clientv3) - the officially maintained Go client for v3
25- [etcd/client](https://github.com/etcd-io/etcd/blob/master/client) - the officially maintained Go client for v2
26- [go-etcd](https://github.com/coreos/go-etcd) - the deprecated official client. May be useful for older (<2.0.0) versions of etcd.
27- [encWrapper](https://github.com/lumjjb/etcd/tree/enc_wrapper/clientwrap/encwrapper) - encWrapper is an encryption wrapper for the etcd client Keys API/KV.
28
29**Java libraries**
30
31- [coreos/jetcd](https://github.com/etcd-io/jetcd) - Supports v3
32- [boonproject/etcd](https://github.com/boonproject/boon/blob/master/etcd/README.md) - Supports v2, Async/Sync and waits
33- [justinsb/jetcd](https://github.com/justinsb/jetcd)
34- [diwakergupta/jetcd](https://github.com/diwakergupta/jetcd) - Supports v2
35- [jurmous/etcd4j](https://github.com/jurmous/etcd4j) - Supports v2, Async/Sync, waits and SSL
36- [AdoHe/etcd4j](http://github.com/AdoHe/etcd4j) - Supports v2 (enhance for real production cluster)
37- [cdancy/etcd-rest](https://github.com/cdancy/etcd-rest) - Uses jclouds to provide a complete implementation of v2 API.
38
39**Scala libraries**
40
41- [maciej/etcd-client](https://github.com/maciej/etcd-client) - Supports v2. Akka HTTP-based fully async client
42- [eiipii/etcdhttpclient](https://bitbucket.org/eiipii/etcdhttpclient) - Supports v2. Async HTTP client based on Netty and Scala Futures.
43
44**Perl libraries**
45
46- [hexfusion/perl-net-etcd](https://github.com/hexfusion/perl-net-etcd) - Supports v3 grpc gateway HTTP API
47- [robn/p5-etcd](https://github.com/robn/p5-etcd) - Supports v2
48
49**Python libraries**
50
51- [kragniz/python-etcd3](https://github.com/kragniz/python-etcd3) - Client for v3
52- [jplana/python-etcd](https://github.com/jplana/python-etcd) - Supports v2
53- [russellhaering/txetcd](https://github.com/russellhaering/txetcd) - a Twisted Python library
54- [cholcombe973/autodock](https://github.com/cholcombe973/autodock) - A docker deployment automation tool
55- [lisael/aioetcd](https://github.com/lisael/aioetcd) - (Python 3.4+) Asyncio coroutines client (Supports v2)
56- [txaio-etcd](https://github.com/crossbario/txaio-etcd) - Asynchronous etcd v3-only client library for Twisted (today) and asyncio (future)
57- [dims/etcd3-gateway](https://github.com/dims/etcd3-gateway) - etcd v3 API library using the HTTP grpc gateway
58- [aioetcd3](https://github.com/gaopeiliang/aioetcd3) - (Python 3.6+) etcd v3 API for asyncio
59- [Revolution1/etcd3-py](https://github.com/Revolution1/etcd3-py) - (python2.7 and python3.5+) Python client for etcd v3, using gRPC-JSON-Gateway
60
61**Node libraries**
62
63- [mixer/etcd3](https://github.com/mixer/etcd3) - Supports v3
64- [stianeikeland/node-etcd](https://github.com/stianeikeland/node-etcd) - Supports v2 (w Coffeescript)
65- [lavagetto/nodejs-etcd](https://github.com/lavagetto/nodejs-etcd) - Supports v2
66- [deedubs/node-etcd-config](https://github.com/deedubs/node-etcd-config) - Supports v2
67
68**Ruby libraries**
69
70- [iconara/etcd-rb](https://github.com/iconara/etcd-rb)
71- [jpfuentes2/etcd-ruby](https://github.com/jpfuentes2/etcd-ruby)
72- [ranjib/etcd-ruby](https://github.com/ranjib/etcd-ruby) - Supports v2
73- [davissp14/etcdv3-ruby](https://github.com/davissp14/etcdv3-ruby) - Supports v3
74
75**C libraries**
76
77- [apache/celix/etcdlib](https://github.com/apache/celix/tree/develop/etcdlib) - Supports v2
78- [jdarcy/etcd-api](https://github.com/jdarcy/etcd-api) - Supports v2
79- [shafreeck/cetcd](https://github.com/shafreeck/cetcd) - Supports v2
80
81**C++ libraries**
82- [edwardcapriolo/etcdcpp](https://github.com/edwardcapriolo/etcdcpp) - Supports v2
83- [suryanathan/etcdcpp](https://github.com/suryanathan/etcdcpp) - Supports v2 (with waits)
84- [nokia/etcd-cpp-api](https://github.com/nokia/etcd-cpp-api) - Supports v2
85- [nokia/etcd-cpp-apiv3](https://github.com/nokia/etcd-cpp-apiv3) - Supports v3
86
87**Clojure libraries**
88
89- [aterreno/etcd-clojure](https://github.com/aterreno/etcd-clojure)
90- [dwwoelfel/cetcd](https://github.com/dwwoelfel/cetcd) - Supports v2
91- [rthomas/clj-etcd](https://github.com/rthomas/clj-etcd) - Supports v2
92
93**Erlang libraries**
94
95- [marshall-lee/etcd.erl](https://github.com/marshall-lee/etcd.erl) - Supports v2
96- [zhongwencool/eetcd](https://github.com/zhongwencool/eetcd) - Supports v3+ (GRPC only)
97
98**.Net Libraries**
99
100- [wangjia184/etcdnet](https://github.com/wangjia184/etcdnet) - Supports v2
101- [drusellers/etcetera](https://github.com/drusellers/etcetera)
102- [shubhamranjan/dotnet-etcd](https://github.com/shubhamranjan/dotnet-etcd) - Supports v3+ (GRPC only)
103
104**PHP Libraries**
105
106- [linkorb/etcd-php](https://github.com/linkorb/etcd-php)
107- [activecollab/etcd](https://github.com/activecollab/etcd)
108- [ouqiang/etcd-php](https://github.com/ouqiang/etcd-php) - Client for v3 gRPC gateway
109
110**Haskell libraries**
111
112- [wereHamster/etcd-hs](https://github.com/wereHamster/etcd-hs)
113
114**R libraries**
115
116- [ropensci/etseed](https://github.com/ropensci/etseed)
117
118**Nim libraries**
119
120- [etcd_client](https://github.com/FedericoCeratto/nim-etcd-client)
121
122**Tcl libraries**
123
124- [efrecon/etcd-tcl](https://github.com/efrecon/etcd-tcl) - Supports v2, except wait.
125
126**Rust libraries**
127
128- [jimmycuadra/rust-etcd](https://github.com/jimmycuadra/rust-etcd) - Supports v2
129
130**Gradle Plugins**
131
132- [gradle-etcd-rest-plugin](https://github.com/cdancy/gradle-etcd-rest-plugin) - Supports v2
133
134**Chef Integration**
135
136- [coderanger/etcd-chef](https://github.com/coderanger/etcd-chef)
137
138**Chef Cookbook**
139
140- [spheromak/etcd-cookbook](https://github.com/spheromak/etcd-cookbook)
141
142**BOSH Releases**
143
144- [cloudfoundry-community/etcd-boshrelease](https://github.com/cloudfoundry-community/etcd-boshrelease)
145- [cloudfoundry/cf-release](https://github.com/cloudfoundry/cf-release/tree/master/jobs/etcd)
146
147**Projects using etcd**
148- [etcd Raft users](../raft/README.md#notable-users) - projects using etcd's raft library implementation.
149- [apache/celix](https://github.com/apache/celix) - an implementation of the OSGi specification adapted to C and C++
150- [binocarlos/yoda](https://github.com/binocarlos/yoda) - etcd + ZeroMQ
151- [blox/blox](https://github.com/blox/blox) - a collection of open source projects for container management and orchestration with AWS ECS
152- [calavera/active-proxy](https://github.com/calavera/active-proxy) - HTTP Proxy configured with etcd
153- [chain/chain](https://github.com/chain/chain) - software designed to operate and connect to highly scalable permissioned blockchain networks
154- [derekchiang/etcdplus](https://github.com/derekchiang/etcdplus) - A set of distributed synchronization primitives built upon etcd
155- [go-discover](https://github.com/flynn/go-discover) - service discovery in Go
156- [gleicon/goreman](https://github.com/gleicon/goreman/tree/etcd) - Branch of the Go Foreman clone with etcd support
157- [garethr/hiera-etcd](https://github.com/garethr/hiera-etcd) - Puppet hiera backend using etcd
158- [mattn/etcd-vim](https://github.com/mattn/etcd-vim) - SET and GET keys from inside vim
159- [mattn/etcdenv](https://github.com/mattn/etcdenv) - "env" shebang with etcd integration
160- [kelseyhightower/confd](https://github.com/kelseyhightower/confd) - Manage local app config files using templates and data from etcd
161- [configdb](https://git.autistici.org/ai/configdb/tree/master) - A REST relational abstraction on top of arbitrary database backends, aimed at storing configs and inventories.
162- [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) - Container cluster manager introduced by Google.
163- [mailgun/vulcand](https://github.com/mailgun/vulcand) - HTTP proxy that uses etcd as a configuration backend.
164- [duedil-ltd/discodns](https://github.com/duedil-ltd/discodns) - Simple DNS nameserver using etcd as a database for names and records.
165- [skynetservices/skydns](https://github.com/skynetservices/skydns) - RFC compliant DNS server
166- [xordataexchange/crypt](https://github.com/xordataexchange/crypt) - Securely store values in etcd using GPG encryption
167- [spf13/viper](https://github.com/spf13/viper) - Go configuration library, reads values from ENV, pflags, files, and etcd with optional encryption
168- [lytics/metafora](https://github.com/lytics/metafora) - Go distributed task library
169- [ryandoyle/nss-etcd](https://github.com/ryandoyle/nss-etcd) - A GNU libc NSS module for resolving names from etcd.
170- [Gru](https://github.com/dnaeon/gru) - Orchestration made easy with Go
171- [Vitess](http://vitess.io/) - Vitess is a database clustering system for horizontal scaling of MySQL.
172- [lclarkmichalek/etcdhcp](https://github.com/lclarkmichalek/etcdhcp) - DHCP server that uses etcd for persistence and coordination.
173- [openstack/networking-vpp](https://github.com/openstack/networking-vpp) - A networking driver that programs the [FD.io VPP dataplane](https://wiki.fd.io/view/VPP) to provide [OpenStack](https://www.openstack.org/) cloud virtual networking
174- [OpenStack](https://github.com/openstack/governance/blob/master/reference/base-services.rst) - OpenStack services can rely on etcd as a base service.
175- [CoreDNS](https://github.com/coredns/coredns/tree/master/plugin/etcd) - CoreDNS is a DNS server that chains plugins, part of CNCF and Kubernetes
176- [Uber M3](https://github.com/m3db/m3) - M3: Uber’s Open Source, Large-scale Metrics Platform for Prometheus
177- [Rook](https://github.com/rook/rook) - Storage Orchestration for Kubernetes
178- [Patroni](https://github.com/zalando/patroni) - A template for PostgreSQL High Availability with ZooKeeper, etcd, or Consul
179- [Trillian](https://github.com/google/trillian) - Trillian implements a Merkle tree whose contents are served from a data storage layer, to allow scalability to extremely large trees.
180