2019-04-01 23:57:24 +03:00
---
title: Libraries and tools
---
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
## Tools
2014-01-04 01:45:03 +04:00
2018-09-12 18:10:50 +03:00
- [etcdctl ](https://github.com/etcd-io/etcd/tree/master/etcdctl ) - A command line client for etcd
2014-09-24 04:07:17 +04:00
- [etcd-backup ](https://github.com/fanhattan/etcd-backup ) - A powerful command line utility for dumping/restoring etcd - Supports v2
2014-02-07 23:35:19 +04:00
- [etcd-dump ](https://npmjs.org/package/etcd-dump ) - Command line utility for dumping/restoring etcd.
2014-03-18 18:37:24 +04:00
- [etcd-fs ](https://github.com/xetorthio/etcd-fs ) - FUSE filesystem for etcd
2015-09-12 05:31:40 +03:00
- [etcddir ](https://github.com/rekby/etcddir ) - Realtime sync etcd and local directory. Work with windows and linux.
2014-08-28 21:02:39 +04:00
- [etcd-browser ](https://github.com/henszey/etcd-browser ) - A web-based key/value editor for etcd using AngularJS
2015-01-28 03:35:00 +03:00
- [etcd-lock ](https://github.com/datawisesystems/etcd-lock ) - Master election & distributed r/w lock implementation using etcd - Supports v2
2015-02-11 05:43:21 +03:00
- [etcd-console ](https://github.com/matishsiao/etcd-console ) - A web-base key/value editor for etcd using PHP
2015-06-13 01:41:38 +03:00
- [etcd-viewer ](https://github.com/nikfoundas/etcd-viewer ) - An etcd key-value store editor/viewer written in Java
2015-12-17 15:52:14 +03:00
- [etcdtool ](https://github.com/mickep76/etcdtool ) - Export/Import/Edit etcd directory as JSON/YAML/TOML and Validate directory using JSON schema
2015-10-02 15:55:57 +03:00
- [etcd-rest ](https://github.com/mickep76/etcd-rest ) - Create generic REST API in Go using etcd as a backend with validation using JSON schema
2015-10-28 21:30:11 +03:00
- [etcdsh ](https://github.com/kamilhark/etcdsh ) - A command line client with support of command history and tab completion. Supports v2
2017-01-09 13:52:10 +03:00
- [etcdloadtest ](https://github.com/sinsharat/etcdloadtest ) - A command line load test client for etcd version 3.0 and above.
2018-08-15 09:58:06 +03:00
- [lucas ](https://github.com/ringtail/lucas ) - A web-based key-value viewer for kubernetes etcd3.0+ cluster.
2019-11-20 00:17:29 +03:00
- [etcd-manager ](https://etcdmanager.io ) - A modern, efficient, multi-platform and free ETCD 3.x GUI & client tool. Available for Windows, Linux and Mac.
2019-10-10 13:43:11 +03:00
- [etcd-backup-restore ](https://github.com/gardener/etcd-backup-restore ) - Utility to periodic and incrementally backup and restore the etcd.
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
## Libraries
The sections below list etcd client libraries by language.
### Go
2014-01-04 01:45:03 +04:00
2018-08-30 00:28:00 +03:00
- [etcd/clientv3 ](https://github.com/etcd-io/etcd/blob/master/clientv3 ) - the officially maintained Go client for v3
- [etcd/client ](https://github.com/etcd-io/etcd/blob/master/client ) - the officially maintained Go client for v2
2015-09-12 01:09:17 +03:00
- [go-etcd ](https://github.com/coreos/go-etcd ) - the deprecated official client. May be useful for older (< 2.0.0 ) versions of etcd .
2017-03-31 17:45:27 +03:00
- [encWrapper ](https://github.com/lumjjb/etcd/tree/enc_wrapper/clientwrap/encwrapper ) - encWrapper is an encryption wrapper for the etcd client Keys API/KV.
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
### Java
2014-01-04 01:45:03 +04:00
2018-09-12 18:10:50 +03:00
- [coreos/jetcd ](https://github.com/etcd-io/jetcd ) - Supports v3
2014-10-09 08:50:22 +04:00
- [boonproject/etcd ](https://github.com/boonproject/boon/blob/master/etcd/README.md ) - Supports v2, Async/Sync and waits
2014-01-04 01:45:03 +04:00
- [justinsb/jetcd ](https://github.com/justinsb/jetcd )
- [diwakergupta/jetcd ](https://github.com/diwakergupta/jetcd ) - Supports v2
2015-01-23 18:15:45 +03:00
- [jurmous/etcd4j ](https://github.com/jurmous/etcd4j ) - Supports v2, Async/Sync, waits and SSL
2014-09-29 09:42:12 +04:00
- [AdoHe/etcd4j ](http://github.com/AdoHe/etcd4j ) - Supports v2 (enhance for real production cluster)
2016-03-25 15:46:58 +03:00
- [cdancy/etcd-rest ](https://github.com/cdancy/etcd-rest ) - Uses jclouds to provide a complete implementation of v2 API.
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
### Scala
2016-05-04 03:56:17 +03:00
- [maciej/etcd-client ](https://github.com/maciej/etcd-client ) - Supports v2. Akka HTTP-based fully async client
2016-12-05 14:33:39 +03:00
- [eiipii/etcdhttpclient ](https://bitbucket.org/eiipii/etcdhttpclient ) - Supports v2. Async HTTP client based on Netty and Scala Futures.
2016-05-04 03:56:17 +03:00
2020-02-01 04:02:08 +03:00
### Perl
2017-12-09 21:33:14 +03:00
2017-12-18 15:57:28 +03:00
- [hexfusion/perl-net-etcd ](https://github.com/hexfusion/perl-net-etcd ) - Supports v3 grpc gateway HTTP API
- [robn/p5-etcd ](https://github.com/robn/p5-etcd ) - Supports v2
2017-12-09 21:33:14 +03:00
2020-02-01 04:02:08 +03:00
### Python
2014-01-04 01:45:03 +04:00
2017-06-06 17:45:38 +03:00
- [kragniz/python-etcd3 ](https://github.com/kragniz/python-etcd3 ) - Client for v3
2014-01-04 01:45:03 +04:00
- [jplana/python-etcd ](https://github.com/jplana/python-etcd ) - Supports v2
- [russellhaering/txetcd ](https://github.com/russellhaering/txetcd ) - a Twisted Python library
2014-05-31 00:20:28 +04:00
- [cholcombe973/autodock ](https://github.com/cholcombe973/autodock ) - A docker deployment automation tool
2014-12-13 01:46:34 +03:00
- [lisael/aioetcd ](https://github.com/lisael/aioetcd ) - (Python 3.4+) Asyncio coroutines client (Supports v2)
2017-03-10 21:02:02 +03:00
- [txaio-etcd ](https://github.com/crossbario/txaio-etcd ) - Asynchronous etcd v3-only client library for Twisted (today) and asyncio (future)
2017-04-03 22:55:24 +03:00
- [dims/etcd3-gateway ](https://github.com/dims/etcd3-gateway ) - etcd v3 API library using the HTTP grpc gateway
2017-11-13 13:13:21 +03:00
- [aioetcd3 ](https://github.com/gaopeiliang/aioetcd3 ) - (Python 3.6+) etcd v3 API for asyncio
2019-03-28 16:58:34 +03:00
- [Revolution1/etcd3-py ](https://github.com/Revolution1/etcd3-py ) - (python2.7 and python3.5+) Python client for etcd v3, using gRPC-JSON-Gateway
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
### Node
2014-01-04 01:45:03 +04:00
2017-06-03 19:54:03 +03:00
- [mixer/etcd3 ](https://github.com/mixer/etcd3 ) - Supports v3
2014-01-04 01:45:03 +04:00
- [stianeikeland/node-etcd ](https://github.com/stianeikeland/node-etcd ) - Supports v2 (w Coffeescript)
- [lavagetto/nodejs-etcd ](https://github.com/lavagetto/nodejs-etcd ) - Supports v2
2015-05-08 03:23:42 +03:00
- [deedubs/node-etcd-config ](https://github.com/deedubs/node-etcd-config ) - Supports v2
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
### Ruby
2014-01-04 01:45:03 +04:00
- [iconara/etcd-rb ](https://github.com/iconara/etcd-rb )
- [jpfuentes2/etcd-ruby ](https://github.com/jpfuentes2/etcd-ruby )
- [ranjib/etcd-ruby ](https://github.com/ranjib/etcd-ruby ) - Supports v2
2017-04-03 07:54:07 +03:00
- [davissp14/etcdv3-ruby ](https://github.com/davissp14/etcdv3-ruby ) - Supports v3
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
### C
2014-01-04 01:45:03 +04:00
2017-01-25 17:10:48 +03:00
- [apache/celix/etcdlib ](https://github.com/apache/celix/tree/develop/etcdlib ) - Supports v2
2014-01-04 01:45:03 +04:00
- [jdarcy/etcd-api ](https://github.com/jdarcy/etcd-api ) - Supports v2
2015-07-24 10:50:57 +03:00
- [shafreeck/cetcd ](https://github.com/shafreeck/cetcd ) - Supports v2
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
### C++
2014-08-06 18:50:28 +04:00
- [edwardcapriolo/etcdcpp ](https://github.com/edwardcapriolo/etcdcpp ) - Supports v2
2015-10-26 23:44:17 +03:00
- [suryanathan/etcdcpp ](https://github.com/suryanathan/etcdcpp ) - Supports v2 (with waits)
2016-08-29 18:21:11 +03:00
- [nokia/etcd-cpp-api ](https://github.com/nokia/etcd-cpp-api ) - Supports v2
- [nokia/etcd-cpp-apiv3 ](https://github.com/nokia/etcd-cpp-apiv3 ) - Supports v3
2014-08-06 18:50:28 +04:00
2020-02-01 04:02:08 +03:00
### Clojure
2014-01-04 01:45:03 +04:00
- [aterreno/etcd-clojure ](https://github.com/aterreno/etcd-clojure )
- [dwwoelfel/cetcd ](https://github.com/dwwoelfel/cetcd ) - Supports v2
- [rthomas/clj-etcd ](https://github.com/rthomas/clj-etcd ) - Supports v2
2020-02-01 04:02:08 +03:00
### Erlang
2014-01-04 01:45:03 +04:00
2018-09-20 17:23:30 +03:00
- [marshall-lee/etcd.erl ](https://github.com/marshall-lee/etcd.erl ) - Supports v2
- [zhongwencool/eetcd ](https://github.com/zhongwencool/eetcd ) - Supports v3+ (GRPC only)
2014-02-04 23:30:40 +04:00
2020-02-01 04:02:08 +03:00
### .NET
2014-02-23 05:48:35 +04:00
2016-01-10 07:38:52 +03:00
- [wangjia184/etcdnet ](https://github.com/wangjia184/etcdnet ) - Supports v2
2014-02-23 05:48:35 +04:00
- [drusellers/etcetera ](https://github.com/drusellers/etcetera )
2018-06-04 09:18:05 +03:00
- [shubhamranjan/dotnet-etcd ](https://github.com/shubhamranjan/dotnet-etcd ) - Supports v3+ (GRPC only)
2014-01-04 01:45:03 +04:00
2020-02-01 04:02:08 +03:00
### PHP
2014-03-05 16:01:42 +04:00
- [linkorb/etcd-php ](https://github.com/linkorb/etcd-php )
2017-03-10 21:02:02 +03:00
- [activecollab/etcd ](https://github.com/activecollab/etcd )
2018-03-20 16:30:22 +03:00
- [ouqiang/etcd-php ](https://github.com/ouqiang/etcd-php ) - Client for v3 gRPC gateway
2014-03-05 16:01:42 +04:00
2020-02-01 04:02:08 +03:00
### Haskell
2014-02-21 06:59:38 +04:00
- [wereHamster/etcd-hs ](https://github.com/wereHamster/etcd-hs )
2015-05-12 01:42:04 +03:00
2020-02-01 04:02:08 +03:00
### R
2015-05-12 01:42:04 +03:00
- [ropensci/etseed ](https://github.com/ropensci/etseed )
2015-05-08 03:23:42 +03:00
2020-02-01 04:02:08 +03:00
### Nim
2016-10-21 16:36:47 +03:00
- [etcd_client ](https://github.com/FedericoCeratto/nim-etcd-client )
2020-02-01 04:02:08 +03:00
### Tcl
2015-01-26 16:18:08 +03:00
- [efrecon/etcd-tcl ](https://github.com/efrecon/etcd-tcl ) - Supports v2, except wait.
2014-02-21 06:59:38 +04:00
2020-02-01 04:02:08 +03:00
### Rust
2017-01-21 03:33:23 +03:00
- [jimmycuadra/rust-etcd ](https://github.com/jimmycuadra/rust-etcd ) - Supports v2
2020-02-01 04:02:08 +03:00
### Gradle
2016-06-16 00:59:50 +03:00
- [gradle-etcd-rest-plugin ](https://github.com/cdancy/gradle-etcd-rest-plugin ) - Supports v2
2020-02-01 04:02:08 +03:00
## Deployment tools
### Chef integrations
2014-01-04 01:45:03 +04:00
- [coderanger/etcd-chef ](https://github.com/coderanger/etcd-chef )
2020-02-01 04:02:08 +03:00
### Chef cookbooks
2014-01-04 01:45:03 +04:00
- [spheromak/etcd-cookbook ](https://github.com/spheromak/etcd-cookbook )
2020-02-01 04:02:08 +03:00
### BOSH releases
2014-01-04 01:45:03 +04:00
- [cloudfoundry-community/etcd-boshrelease ](https://github.com/cloudfoundry-community/etcd-boshrelease )
- [cloudfoundry/cf-release ](https://github.com/cloudfoundry/cf-release/tree/master/jobs/etcd )
2020-02-01 04:02:08 +03:00
## Projects using etcd
2017-07-18 07:24:40 +03:00
- [etcd Raft users ](../raft/README.md#notable-users ) - projects using etcd's raft library implementation.
2017-01-25 17:10:48 +03:00
- [apache/celix ](https://github.com/apache/celix ) - an implementation of the OSGi specification adapted to C and C++
2014-01-04 01:45:03 +04:00
- [binocarlos/yoda ](https://github.com/binocarlos/yoda ) - etcd + ZeroMQ
2016-12-07 07:20:40 +03:00
- [blox/blox ](https://github.com/blox/blox ) - a collection of open source projects for container management and orchestration with AWS ECS
2014-01-04 01:45:03 +04:00
- [calavera/active-proxy ](https://github.com/calavera/active-proxy ) - HTTP Proxy configured with etcd
2017-03-10 21:02:02 +03:00
- [chain/chain ](https://github.com/chain/chain ) - software designed to operate and connect to highly scalable permissioned blockchain networks
2014-01-04 01:45:03 +04:00
- [derekchiang/etcdplus ](https://github.com/derekchiang/etcdplus ) - A set of distributed synchronization primitives built upon etcd
- [go-discover ](https://github.com/flynn/go-discover ) - service discovery in Go
- [gleicon/goreman ](https://github.com/gleicon/goreman/tree/etcd ) - Branch of the Go Foreman clone with etcd support
- [garethr/hiera-etcd ](https://github.com/garethr/hiera-etcd ) - Puppet hiera backend using etcd
- [mattn/etcd-vim ](https://github.com/mattn/etcd-vim ) - SET and GET keys from inside vim
- [mattn/etcdenv ](https://github.com/mattn/etcdenv ) - "env" shebang with etcd integration
- [kelseyhightower/confd ](https://github.com/kelseyhightower/confd ) - Manage local app config files using templates and data from etcd
- [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.
2015-09-30 20:58:33 +03:00
- [kubernetes/kubernetes ](https://github.com/kubernetes/kubernetes ) - Container cluster manager introduced by Google.
2014-06-17 06:53:57 +04:00
- [mailgun/vulcand ](https://github.com/mailgun/vulcand ) - HTTP proxy that uses etcd as a configuration backend.
2014-06-18 03:08:21 +04:00
- [duedil-ltd/discodns ](https://github.com/duedil-ltd/discodns ) - Simple DNS nameserver using etcd as a database for names and records.
2014-10-29 16:09:31 +03:00
- [skynetservices/skydns ](https://github.com/skynetservices/skydns ) - RFC compliant DNS server
- [xordataexchange/crypt ](https://github.com/xordataexchange/crypt ) - Securely store values in etcd using GPG encryption
- [spf13/viper ](https://github.com/spf13/viper ) - Go configuration library, reads values from ENV, pflags, files, and etcd with optional encryption
2015-05-22 23:13:09 +03:00
- [lytics/metafora ](https://github.com/lytics/metafora ) - Go distributed task library
2015-07-21 03:33:23 +03:00
- [ryandoyle/nss-etcd ](https://github.com/ryandoyle/nss-etcd ) - A GNU libc NSS module for resolving names from etcd.
2016-05-27 20:17:57 +03:00
- [Gru ](https://github.com/dnaeon/gru ) - Orchestration made easy with Go
2017-02-16 08:35:19 +03:00
- [Vitess ](http://vitess.io/ ) - Vitess is a database clustering system for horizontal scaling of MySQL.
2017-07-18 10:56:38 +03:00
- [lclarkmichalek/etcdhcp ](https://github.com/lclarkmichalek/etcdhcp ) - DHCP server that uses etcd for persistence and coordination.
2017-07-08 01:10:03 +03:00
- [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
2018-09-06 05:30:08 +03:00
- [OpenStack ](https://github.com/openstack/governance/blob/master/reference/base-services.rst ) - OpenStack services can rely on etcd as a base service.
- [CoreDNS ](https://github.com/coredns/coredns/tree/master/plugin/etcd ) - CoreDNS is a DNS server that chains plugins, part of CNCF and Kubernetes
- [Uber M3 ](https://github.com/m3db/m3 ) - M3: Uber’ s Open Source, Large-scale Metrics Platform for Prometheus
- [Rook ](https://github.com/rook/rook ) - Storage Orchestration for Kubernetes
2018-09-06 05:55:31 +03:00
- [Patroni ](https://github.com/zalando/patroni ) - A template for PostgreSQL High Availability with ZooKeeper, etcd, or Consul
- [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.