etcd3
Python client for the etcd3 API
What it is and what it does
etcd3 is a Python client for the etcd v3 distributed key-value store. It exposes etcd's core operations—get, put, delete—alongside higher-level primitives like distributed locks and conditional transactions. The library also supports watching keys or key prefixes for changes, either via iterators or callback functions.
The package is in pre-alpha status and has not been actively maintained since early 2020. While the repository is not archived and received a commit as recently as December 2024, the long gap between releases and the end-of-life Python versions in its classifiers suggest caution. It has no runtime dependencies, which simplifies deployment but may indicate incomplete feature coverage or reliance on system libraries.
Use it for:
- Build a distributed lock manager for coordinating access to shared resources across multiple application instances.
- Implement a configuration store that watches for changes and notifies clients when values are updated.
- Create conditional workflows using etcd transactions to atomically update multiple keys based on version checks.
- Monitor etcd keys for changes and trigger callbacks in response to specific events.
- Store and retrieve application state in a highly available, distributed key-value backend.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for etcd v3 that provides key-value storage operations, distributed locks, transactions, and watch capabilities for monitoring key changes.
No, unless you are locked into Python 2.7 or early Python 3 versions and have no alternative. The package is dormant, targets obsolete Python releases, and has not been updated in over five years. If you need an etcd v3 client for modern Python, investigate actively maintained alternatives or the official etcd Python client. If you must use this package, verify compatibility with your Python version and etcd server before committing.
Install
etcd3 on PyPI
pip
pip install etcd3uv
uv add etcd3poetry
poetry add etcd3Installing etcd3
Before you install
Installation friction is high; the package has been dormant since its last release on 2020-03-31, with no runtime dependencies listed but a source distribution that may require compilation. The repository remains active but receives infrequent updates.
License in practice
Licensed under Apache Software License 2.0, a permissive license that allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects.
Quickstart
import etcd3
etcd = etcd3.client()
etcd.put('key', 'value')
value = etcd.get('key')
lock = etcd.lock('resource')
lock.acquire()
try:
# critical section
pass
finally:
lock.release()
Requires a running etcd v3 server accessible on the network; the package itself targets Python 2.7, 3.4, and 3.5, which are end-of-life versions.
Verify before relying
- Whether the package works reliably with modern Python versions (3.8+) despite classifiers listing only 2.7, 3.4, 3.5, 3.6.
- Current compatibility with recent etcd v3 API versions and any breaking changes since 2020.
- Whether high install friction reflects missing compiled dependencies or is a false signal.
Package facts
| License | Apache Software License 2.0 (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | dormant — 2,327 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 179,536/month — #10,169 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: etcd3-0.12.0.tar.gz
Keywords: etcd3
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
etcd-sdk-pythonPython client for etcd v3 API that provides…
permissive · top 15,000 on PyPI
python-etcdA Python client library for etcd, a distributed…
permissive · top 15,000 on PyPI
etcd-distroetcd-distro packages the etcd key-value store…
permissive · top 15,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
redlock-pyImplements Redis-based distributed locks using…
permissive · top 15,000 on PyPI
python-dynamodb-lockProvides distributed locking on top of DynamoDB…
permissive · top 15,000 on PyPI
redlockImplements the RedLock algorithm to provide…
permissive · top 15,000 on PyPI
PyMySQLLockProvides distributed locking primitives backed…
permissive · top 15,000 on PyPI