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.2.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.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: keybind_vault-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 943681787b378236ad6f6fbd4ad9514c2b6dd09ee0239028f31976faa36c94dc
MD5 24efb7516a72bf6078d383da86f4391e
BLAKE2b-256 7ed86e93fd278d3ae8297704b2539d9187f1586379ff88db3e3ff472bd7bba50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for keybind_vault-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 154d7a4f15ebdb55f65cf7f56d2b40165353fbb772dca72a299400b80cdbe10c
MD5 15e33a5df2724b002098122ce360dbf3
BLAKE2b-256 30d07dbf6495123f0b28efa569a0ced91d6292c40b0e291b4609b03e265a9a68

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