Skip to main content

A beautiful Redis TUI client built with Textual

Project description

TuiRedis 🔴

A beautiful, high-performance Redis Terminal UI built with Python & Textual.

English | 中文说明 | Changelog | 更新记录


TuiRedis Main View TuiRedis Value View

🚀 Features

  • 🔗 Connection Management — Connect to Redis in standalone mode, through Redis Sentinel master discovery, in Redis Cluster mode, or over an SSH tunnel.
  • 🧭 Multi-Sentinel Support — Configure one or more Sentinel nodes and automatically resolve the active master.
  • 🔁 Sentinel Failover Recovery — Common read/write operations automatically reconnect and retry after Sentinel master failover, connection resets, or READONLY errors.
  • 🔐 Safer Saved Profiles — Passwords are not written to disk unless you explicitly opt in when saving a profile.
  • 🗂️ Dynamic DB Awareness — Standalone connections detect the server's logical database count instead of assuming 0..15.
  • 🌲 Hierarchical Key Browser — Interactive Tree view grouping keys by : separator with real-time fuzzy search.
  • ⏱️ TTL Expiry Indicators — Keys color-coded by expiry: 🔴 critical (< 60s), ⏱ expiring (< 1h).
  • ☑ Multi-select & Bulk Delete — Press Space on any key to select, Ctrl+D to delete all selected keys at once.
  • 📄 Advanced Value Viewer — Native support for viewing & editing String, List, Hash, Set, and Sorted Set.
  • ⚡ Responsive Async Loading — Key lists, key details, server info, bulk actions, and pagination run off the UI thread, with loading indicators and stale-response protection.
  • ⚡ Pagination & Elastic Loading — Safe loading of millions of keys without blocking the TUI. Hash and Set types support cursor-based HSCAN/SSCAN pagination.
  • 📋 Copy to Clipboard — One-click copy of any String value to your system clipboard.
  • 📤 Export to File — Export any key's value to a local file (.txt for strings, .json for structured types).
  • 📊 Server Info & Monitoring — View server stats, memory footprints, connected clients, and keyspace utilization. Cluster connections show an aggregated summary in the info panel.
  • ✨ CRUD Operations — Create, Read, Update, Delete keys seamlessly.
  • 🎨 Modern Dark Theme — Redis-branded aesthetics with fluid terminal animations.
  • 🛠️ IRedis Integration — Press Ctrl+T to jump into an iredis interactive session. Press Ctrl+Z inside iredis to suspend it and return to TuiRedis instantly; press Ctrl+T again to resume the same session where you left off.

What's New In v0.7.0

  • Added Redis Sentinel master discovery with multi-Sentinel support and failover-aware reconnect/retry logic.
  • Added explicit Redis Cluster mode with cross-cluster key scanning, aggregated server info, and safer command handling.
  • Hardened the UI with async background loading, loading indicators, stale-response dropping, and safer DB switching.
  • Improved connection profile safety by defaulting to non-persistent secrets and surfacing profile save/delete failures.

📦 Installation

TuiRedis is available on PyPI and can be installed using your preferred Python package manager.

Using pipx (Recommended)

pipx install tuiredis

Using uvx / uv

uvx tuiredis
# or
uv tool install tuiredis

Using pip

pip install tuiredis

From Source

# Clone the repository
git clone https://github.com/Wooden-Robot/tuiredis.git
cd tuiredis

# Sync dependencies using uv
uv sync

# Run the project
uv run tuiredis

💻 Usage

If you installed TuiRedis via pipx or pip, you can start it directly from the terminal by running tuiredis. If you cloned from the source, you should use uv run tuiredis instead.

# Launch TuiRedis with the Interactive Connection Dialog
tuiredis

# Fast connect via CLI arguments
tuiredis -H 127.0.0.1 -p 6379 -a mypassword -n 0 -c

# Connect through Redis Sentinel and discover the master automatically
tuiredis --sentinel --sentinel-host 127.0.0.1 --sentinel-port 26379 --sentinel-master mymaster -a mypassword -c

# Connect through multiple Redis Sentinel nodes
tuiredis --sentinel --sentinel-node 127.0.0.1:26379 --sentinel-node 127.0.0.1:26380 --sentinel-master mymaster -a mypassword -c

# Connect to a Redis Cluster entry node
tuiredis --cluster -H 127.0.0.1 -p 7000 -a mypassword -c

# Connect securely via an SSH Tunnel
tuiredis -H 127.0.0.1 -p 6379 --ssh-host my-bastion.com --ssh-user root --ssh-key ~/.ssh/id_rsa -c

# Show all available CLI options
tuiredis --help

Redis Modes

  • standalone: fully supported.
  • sentinel: supported via master discovery; configure it in the connection dialog or with --sentinel .... Multiple Sentinel nodes are supported.
  • replica: readable, but writes may fail on read-only replicas.
  • cluster: supported via RedisCluster; only DB 0 is valid and DB switching is disabled. Key scanning works across the cluster, while server info is shown as an aggregated summary.
  • cluster + SSH tunnel: not supported yet.
  • sentinel + SSH tunnel: not supported yet.

Notes

  • Saved connection profiles do not persist Redis or Sentinel passwords unless Save passwords to disk is enabled.
  • In cluster mode, raw SELECT commands are rejected because Redis Cluster only supports DB 0.
  • The Server Info tab labels cluster views as aggregated summaries and Sentinel views as control-plane information.

⌨️ Keyboard Shortcuts

Key Action
q Quit the application
F5 Refresh Key Tree & Info
/ Focus search bar
n Create a New Key
Space Toggle key selection (in Key Tree)
Ctrl+D Bulk delete all selected keys
Tab Switch between active panels
Ctrl+o Switch Connection
Ctrl+t Toggle IRedis session — launch, suspend (Ctrl+Z in iredis), and resume seamlessly
Ctrl+i Toggle Server Info Panel

Requirements: Python >= 3.10 / Redis Server

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tuiredis-0.7.0.tar.gz (335.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tuiredis-0.7.0-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file tuiredis-0.7.0.tar.gz.

File metadata

  • Download URL: tuiredis-0.7.0.tar.gz
  • Upload date:
  • Size: 335.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tuiredis-0.7.0.tar.gz
Algorithm Hash digest
SHA256 c945c11a26e26030e4370d11840a263c58fab8804d631558c60e69bf11c14386
MD5 31151b63c3c456744447048e6008ec65
BLAKE2b-256 80da8e1cd715d815840754ec4c2ecae93f863bc427d3b9454ce211593fb7e800

See more details on using hashes here.

Provenance

The following attestation bundles were made for tuiredis-0.7.0.tar.gz:

Publisher: publish.yml on Wooden-Robot/TuiRedis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tuiredis-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: tuiredis-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tuiredis-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94dd0079d9f23bd8fc049fe1da80312d11ea4a8cbe1fbb808e08acb4d14094ca
MD5 caf1004416115ec425bd75b17f1f798e
BLAKE2b-256 638c42b646be44923b5031e6bff26e10f8d23fcf071f5b6b7a201605532256e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for tuiredis-0.7.0-py3-none-any.whl:

Publisher: publish.yml on Wooden-Robot/TuiRedis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page