Skip to main content

tetcd

PyPI version Python versions License CI

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):

  1. CLI flags — --host, --port, --api
  2. Environment variables — prefix TETCD_, e.g. TETCD_ETCD_HOST=my-etcd
  3. settings.toml — committed defaults
  4. .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)

Source distribution for tetcd 0.1.0
File Size Uploaded Provenance
tetcd-0.1.0.tar.gz 174.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tetcd 0.1.0
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page