KoalaKeys
A simple tool to create and manage portable keyboard shortcut cheat sheets.
Demo: Check out the live demo to see a small collection of cheat sheets created with this project.
Overview
KoalaKeys generates and organizes portable, interactive HTML cheat sheets for keyboard shortcuts. It's designed for developers, designers, and power users who want to keep their essential shortcuts easily accessible.
Quick Start:
- Run
uvx koalakeys initto scaffold a project.- Run
cd koalakeys.- Add or edit YAML files in the
cheatsheets/directory.- Run
uvx koalakeys generate.For detailed YAML formatting instructions, see the YAML Cheat Sheet Specification Guide.
Screenshots
Features
- Generate HTML cheat sheets from YAML files
- Interactive keyboard layout with real-time highlighting
- Six built-in themes (catppuccin, dracula, gruvbox, nord, rose-pine, solarized) plus user themes and custom CSS
- Categorized shortcuts with descriptions
- Index page for quick access to all cheat sheets
- Search functionality
- Support for different keyboard layouts and system mappings
Demo and Examples
A live demo instance is available, showcasing a selection of cheat sheets:
- Demo Site: https://rtuszik.github.io/KoalaKeys-Collection/
- Demo Repository: https://github.com/rtuszik/KoalaKeys-Collection
Explore the demo to see how KoalaKeys works and to get ideas for creating custom cheat sheets. The demo repository also contains example YAML files that can be used as templates for new cheat sheets.
Available Systems and Keyboards
Systems
- Darwin (macOS)
- Linux
- Windows
Keyboard Layouts
- US
- UK
- DE (German)
- FR (French)
- ES (Spanish)
- DVORAK
Requirements
- Python 3.9+
- uv
Installation
Recommended: run as a tool (no clone)
Run KoalaKeys directly with uv, no need to clone the repository:
uvx koalakeys init # scaffold ./koalakeys/cheatsheets/ with an example sheet
Or install it on your PATH:
uv tool install koalakeys # or: pipx install koalakeys
From source (for development)
-
Clone the repository and install dependencies:
git clone https://github.com/rtuszik/KoalaKeys cd KoalaKeys uv sync --locked -
Run via
uv run koalakeys ....
Usage
KoalaKeys is a multi-command CLI. generate and validate operate on the current directory: they read cheatsheets/ and generate writes to output/ (or CHEATSHEET_OUTPUT_DIR if set). init creates the project in its path argument.
| Command | What it does |
|---|---|
koalakeys init [path] |
Scaffold a new project directory with an example cheat sheet. Defaults to ./koalakeys; use . for the current directory. Pass --force to overwrite existing files. |
koalakeys generate |
Generate HTML for every YAML file in cheatsheets/, plus an index page. |
koalakeys validate [file] |
Validate cheat sheet YAML. Checks all of cheatsheets/ by default, or a single file. Exits non-zero on failure (CI-friendly). |
Typical first run (with koalakeys on your PATH; otherwise prefix each command with uvx):
koalakeys init
cd koalakeys
koalakeys generate
Then open output/index.html to view the cheat sheet collection. For detailed YAML formatting, see the YAML Cheat Sheet Specification Guide.
Output directory (optional)
By default cheat sheets are written to output/ in the current directory. To change this, set CHEATSHEET_OUTPUT_DIR (e.g. in a .env file):
CHEATSHEET_OUTPUT_DIR=path/to/your/output/directory
Theming
Set a theme per cheat sheet with a single key:
theme: dracula
See the YAML Cheat Sheet Specification Guide for the built-in themes, user-theme authoring, and custom CSS.
Schema
Validate your YAML with the published JSON Schema:
-
Public URL: https://rtuszik.github.io/KoalaKeys/schema/cheatsheet.schema.json
-
Per-file modeline (first line in each YAML):
# yaml-language-server: $schema=https://rtuszik.github.io/KoalaKeys/schema/cheatsheet.schema.json -
Neovim yamlls mapping (optional):
require('lspconfig').yamlls.setup({ settings = { yaml = { schemas = { ["https://rtuszik.github.io/KoalaKeys/schema/cheatsheet.schema.json"] = "cheatsheets/*.yaml", }, }, }, })
Contributing
Contributions are welcome! Feel free to submit issues, feature requests, or pull requests.
License
This project is licensed under the terms of the GPLv3.
Metadata
Release files for koalakeys 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| koalakeys-1.0.0.tar.gz | 29.9 kB | With provenance | Details for koalakeys-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| koalakeys-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for koalakeys-1.0.0-py3-none-any.whl |
Total release size: 67.7 kB
Release files / koalakeys-1.0.0.tar.gz
| Download URL | koalakeys-1.0.0.tar.gz |
|---|---|
| Size | 29.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
158d81550934382f78536e85831abb6f08b2442da0451521e4b9e6a6a3da9a66
|
|
BLAKE2b-256 checksum How to use checksums |
9a8742c88d667735c640a22f05a650246f070994d78e0fb4a4ed5000e4bbede4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 2, 2026.
Transparency logRelease files / koalakeys-1.0.0-py3-none-any.whl
| Download URL | koalakeys-1.0.0-py3-none-any.whl |
|---|---|
| Size | 37.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52951fe4238cce778a443c3da0455b1ac10afdcc612e6c6a2ef44db36ef2fb84
|
|
BLAKE2b-256 checksum How to use checksums |
f995e06fc3adfb06bb66f719b5dc69e51ef9d4938e19d91dc395379b3f42ad5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 2, 2026.
Transparency logSecurity for koalakeys 1.0.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.
Attestation for koalakeys-1.0.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 Nov 2, 2026.
Transparency logA 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.