As etcd features support is really uneven between client libraries, a compatibility matrix can be important.
The v2 API has a lot of features, we will categorize them in a few categories:
Legend F: Full support G: Good support B: Basic support Y: Feature supported -: Feature not supported
Sorted alphabetically on language/name
| Client | Language | HTTPS Auth | Re-connect | GET | PUT | POST | DEL | Mod Lock | Mod Leader |
|---|---|---|---|---|---|---|---|---|---|
| etcd-api | C | - | Y | B | G | - | B | - | - |
| etcdcpp | C++ | - | - | F | F | G | - | - | - |
| cetcd | Clojure | - | - | F | F | - | G | - | - |
| clj-etcd | Clojure | - | - | G | G | - | B | - | - |
| etcd-clojure | Clojure | - | - | F | F | F | F | - | - |
| go-etcd | go | Y | Y | F | F | F | F | - | - |
| boon etcd client | java | Y | Y | F | F | F | F | - | F |
| etcd4j | java | Y | Y | F | F | F | F | - | - |
| jetcd | java | Y | - | B | B | - | B | - | - |
| jetcd | java | - | - | B | B | - | B | - | - |
| Etcd.jl | Julia | - | - | F | F | F | F | Y | Y |
| etcetera | .net | - | - | F | F | F | F | - | - |
| node-etcd | nodejs | Y | - | F | F | - | F | - | - |
| nodejs-etcd | nodejs | Y | - | F | F | F | F | - | - |
| p5-etcd | perl | - | - | F | F | F | F | - | - |
| python-etcd | python | Y | Y | F | F | F | F | Y | - |
| python-etcd-client | python | Y | Y | F | F | F | F | Y | Y |
| txetcd | python | - | - | G | G | F | G | - | - |
| etcd-ruby | ruby | - | - | F | F | F | F | - | - |