tetcd
A keyboard-driven terminal UI for browsing and managing etcd key-value stores. Supports both the etcd v2 HTTP API and the etcd v3 gRPC-gateway API, and feels like a file manager for your etcd namespace.
Features
- Browse the etcd key space as a hierarchical tree (using
/as a separator) - View values in a side panel
- Add, edit, and delete keys
- Add and recursively delete directories
- Lazy loading: children are fetched only when a node is expanded
- Layered configuration via CLI flags, environment variables, or a config file
- Confirmation prompts before destructive operations
- Works with both etcd v2 and v3
Installation
Install from PyPI with your tool of choice:
# pipx (recommended for CLI tools)
pipx install tetcd
# uv
uv tool install tetcd
# pip
pip install tetcd
Requires Python 3.12 or newer.
Usage
# Launch the TUI (defaults: v3, localhost:2379)
tetcd
# Connect to a specific etcd
tetcd --host my-etcd.internal --port 2379 --api v3
# Use the v2 API
tetcd --api v2
# Show version
tetcd --version
Keybindings
| Key | Action |
|---|---|
a |
Add key |
d |
Add directory |
D |
Delete |
e |
Edit value |
r |
Refresh tree |
q |
Quit |
Configuration
Configuration is layered (highest priority first):
- CLI flags —
--host,--port,--api - Environment variables — prefix
TETCD_, e.g.TETCD_ETCD_HOST=my-etcd settings.toml— committed defaults.secrets.toml— local overrides and credentials (gitignored)
Default settings.toml:
[default]
etcd_version = "v3"
etcd_host = "localhost"
etcd_port = 2379
log_level = "INFO"
Development
The project uses uv for dependency management, Ruff for linting and formatting, ty for type checking, and pytest for tests.
# Install dependencies
uv sync
# Run the TUI from source
uv run tetcd
# Run tests
uv run pytest
# Lint and format
uv run ruff check src tests
uv run ruff format src tests
# Type check
uv run ty check
Dev container
Open the project in VS Code and choose "Reopen in Container". The container
starts an etcd 3.5 service on port 2379 and pre-sets TETCD_ETCD_HOST=etcd,
so uv run tetcd connects out of the box.
License
Licensed under the Apache License 2.0.
Metadata
Release files for tetcd 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tetcd-0.1.0.tar.gz | 174.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tetcd-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 202.0 kB
Release files / tetcd-0.1.0.tar.gz
| Download URL | tetcd-0.1.0.tar.gz |
|---|---|
| Size | 174.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ada4f794ee87ee4d1e3788e7e6d5408ca3b95923f9452e9afabe4807718ad36
|
|
BLAKE2b-256 checksum How to use checksums |
bcc74eec381427534d44fb22a750af2226893ad7a10f54c93e1689f6a3825e36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency logRelease files / tetcd-0.1.0-py3-none-any.whl
| Download URL | tetcd-0.1.0-py3-none-any.whl |
|---|---|
| Size | 27.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3af0126035921d8328138a44718f40310622cf8d69b25cd3f066beb68a670ffe
|
|
BLAKE2b-256 checksum How to use checksums |
e0762ddee00fd9abdf14339ef934d70283c141c522ce05d8ef45e1a21a460910
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency logSecurity for tetcd 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for tetcd-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.