Skip to main content

Text User Interface (TUI) that allows users to manage keybindings

Project description

Keybind Vault

A TUI (Text-based User Interface) app built with Textual for managing your keyboard shortcuts. Organize, search, add, edit, and delete keybinds in a sleek terminal interface.


Features

  • Dark Mode toggle
  • Search keybinds by keys, name, or description
  • Add, Edit, Delete keybinds
  • Organize keybinds into categories
  • Uses a lightweight sqlite3 database for storage

Demo

Getting Started

1. Clone the repository

git clone https://github.com/thompsonrm/Keybind-Vault.git
cd Keybind-Vault

2. Set up a virtual environment

# With Python's built-in venv
python -m venv .venv

# Or with uv
uv venv

# Activate the environment (Windows)
.venv\Scripts\activate

# Or on Unix/macOS
source .venv/bin/activate

3. Install the package

Option A: Using pip (standard)

pip install .

Option B: Using uv (faster resolver)

uv pip install .

This installs runtime as declared in pyproject.toml.dependencies

4. (Optional) Install development dependencies

If you want linting or other dev tools:

pip install .[dev]
# or
uv pip install .[dev]

This pulls in tools like ruff as specified under [project.optional-dependencies].

5. Verify installation

After installation, you should have the keybind-vault console script available:

keybind-vault --help

Project Structure

keybind_vault/
│
├── db/                    # SQLite database logic
│   ├── __init__.py
│   └── sqlite_db.py
│
├── modals/                # Textual modal screens for Add, Edit, Delete, etc.
│   ├── styles/            # Textual CSS for the modal screens
│   ├── add_modal.py
│   ├── delete_modal.py
│   ├── edit_modal.py
│   ├── search_modal.py
│   ├── vault_types.py
│   └── __init__.py
│
├── styles/
│   └── styles.tcss        # Textual CSS for the main file
│
├── main.py                # Main Textual app logic
└── __init__.py

Technologies Used

  • Python 3.13+
  • Textual — modern TUI framework for Python
  • Uv An extremely fast Python package and project manager, written in Rust.
  • Ruff An extremely fast Python linter and code formatter, written in Rust.
  • SQLite (via sqlite3 module)

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

keybind_vault-1.0.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

keybind_vault-1.0.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file keybind_vault-1.0.1.tar.gz.

File metadata

  • Download URL: keybind_vault-1.0.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for keybind_vault-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ddae0a1ba5e87eaa7e274987f39ac65d7861576c9cdbc3baa7de942d3f59e7f4
MD5 af22330d5729db2a8517eb57c9d17b78
BLAKE2b-256 be1a21f14e36fc54517a3432060717bf48e44b4de34abd09fc5552c8200b05f0

See more details on using hashes here.

File details

Details for the file keybind_vault-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for keybind_vault-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ae45cbc7c0bed2a6783817ffc5ea26cf786bf729d9bb097222721cae8276fd89
MD5 2919c9c68458269703c007afd9156b60
BLAKE2b-256 73748507e91d026bb089dfc766a3b0e120a024d2420b1997d367b3a7a6ac6e93

See more details on using hashes here.

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