DEV Community

Naman Vashistha
Naman Vashistha

Posted on

Introducing the LimeDB TUI: Enhanced Cluster Management from Your Terminal

Github: namanvashistha/limedb

We're excited to announce the release of a new Text User Interface (TUI) for LimeDB! This commit introduces a dedicated tui/ directory with a robust, developer-friendly terminal application designed to simplify interaction and monitoring of your LimeDB clusters.

LimeDB is a lightweight, fast, open-source distributed key-value store built for high-performance systems. Managing and observing distributed systems can be complex, and this TUI aims to provide a clear, real-time overview directly from your terminal.

Key Features of the LimeDB TUI:

  • Cluster Status Overview: Get an immediate snapshot of all your LimeDB nodes. See which nodes are active, their ports, node IDs, and peer counts. Errors for inaccessible nodes are clearly displayed.
  • Ring Distribution Visualization: Understand how data partitions are distributed across your cluster. The TUI visualizes the ring state, showing token shares and range counts for each node, helping you assess balance and ownership.
  • Data Explorer: Interact directly with your key-value store. You can easily perform GET, SET, and DELETE operations on keys, making it convenient for debugging or quick data checks without needing to use raw API calls.
  • Built with Textual: The TUI leverages the Textual framework for rich terminal graphics and interactivity, providing a modern and responsive experience. It uses aiohttp for asynchronous communication with LimeDB's API.

This TUI is a significant step towards improving the developer experience for LimeDB users, making it easier to deploy, monitor, and debug your distributed key-value store.

To run the TUI:

  1. Ensure you have uv installed (pip install uv).
  2. Navigate to the tui directory.
  3. Run uv run main.py.

We believe this TUI will be an invaluable tool for anyone working with LimeDB.

Top comments (1)

Collapse
 
pherman profile image
Paige Herman

Love this—finally a way to poke at a distributed store without juggling curl commands like a circus act. The ring visualization and data explorer sound especially handy; now I just have to resist using the TUI as an excuse to babysit the cluster all day.