$npx skillfedfor your agent

python-yakh

Yet Another Keypress Handler

With conditionsPyPI TerminalsReleased Jan 202590.0K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — python_yakh-0.4.1-py3-none-any.whl
v0.4.1 · released 2025-01-14 · Python <4.0.0,>=3.7.8

Yes, if you need simple cross-platform keypress handling in a terminal. The zero-dependency design and low install friction make it lightweight. However, maintenance is dormant—last commit was 2025-01-14 with no recent releases—so expect no active bug fixes or feature development. Suitable for small projects or scripts; for production systems requiring ongoing support, evaluate alternatives or plan to maintain a fork.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a terminal environment with stdin access; behavior is platform-dependent for special keys like CTRL combinations.
  • Low install friction with no runtime dependencies.
  • Maintenance is dormant—last commit was 2025-01-14 but no release since then; the package works on modern Python versions (3.8–3.13) but receives infrequent updates.

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

last release 2025-01-14 (577 days) · last repo commit 2025-01-14 · 5 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 89,989 downloads/mo, #13,624 on PyPI

Verify before relying

pip install python-yakh

from yakh import get_key
from yakh.key import Keys

key = get_key()  # blocks until a key is pressed
if key.is_printable:
    print(key)
  • Whether the package handles all terminal emulators consistently (Windows, macOS, Linux).
  • Performance characteristics when called in tight loops or high-frequency polling scenarios.
  • Compatibility with non-ASCII input or IME (input method editor) systems.
Same gist for agents: .md · .json

What it is and what it does

yakh is a minimal terminal keypress handler that reads individual key events from stdin and returns them as Key objects. It abstracts away platform differences so you can detect keypresses—including special keys like CTRL combinations—without managing raw terminal modes yourself. The library has no runtime dependencies and exposes a single blocking function, `get_key()`, that returns a Key instance with the pressed key's character representation, Unicode code points, and a printability flag.

Typical use is in terminal user interfaces or interactive CLI tools where you need to respond to individual keypresses rather than waiting for a full line of input. The Key class is comparable to strings and Unicode tuples, making it easy to check for specific keys or key combinations. Platform-specific key constants are available through the `Keys` class for common keys like ENTER and CTRL variants.

Use it for

  • Build interactive terminal menus or games that respond to single keypresses without waiting for Enter.
  • Implement keyboard shortcuts in CLI tools (e.g., 'q' to quit, arrow keys to navigate).
  • Create terminal-based input handlers that need to detect special keys like CTRL+C or function keys.
  • Develop cross-platform terminal applications that handle keypresses consistently on Windows, macOS, and Linux.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need simple cross-platform keypress handling in a terminal.

The zero-dependency design and low install friction make it lightweight. However, maintenance is dormant—last commit was 2025-01-14 with no recent releases—so expect no active bug fixes or feature development. Suitable for small projects or scripts; for production systems requiring ongoing support, evaluate alternatives or plan to maintain a fork.

Install

python-yakh on PyPI

Before you install

Low install friction with no runtime dependencies. Maintenance is dormant—last commit was 2025-01-14 but no release since then; the package works on modern Python versions (3.8–3.13) but receives infrequent updates.

Requires a terminal environment with stdin access; behavior is platform-dependent for special keys like CTRL combinations.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

pip install python-yakh

from yakh import get_key
from yakh.key import Keys

key = get_key()  # blocks until a key is pressed
if key.is_printable:
    print(key)

Verify before relying

  • Whether the package handles all terminal emulators consistently (Windows, macOS, Linux).
  • Performance characteristics when called in tight loops or high-frequency polling scenarios.
  • Compatibility with non-ASCII input or IME (input method editor) systems.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release <4.0.0,>=3.7.8
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceDormant 577 days since the last release
Last repo commit
First released
Downloads89,989 / month, #13,624 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Evidence: python_yakh-0.4.1-py3-none-any.whl

Tags

Capabilities
terminal keypress capturestdin keyboard input handlercross-platform key detectionterminal key eventsread single keypresskeyboard input library
Topics
terminal-uikeyboard-input
PyPI keywords
pythonkeypresskeykeyboard

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “terminal keypress capture”

  • python-yakhCaptures individual keypresses from terminal stdin in a…
  • questoQuesto provides modular, extensible CLI prompt elements (text input…
  • asciinemaRecords and replays terminal sessions, saving them as timestamped…

Give your agent the search over MCP, or paste the wish link into any chat.

More Terminals packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
rich Worth it
PyPI · Terminals · released Apr 2026

Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.

MITpure Python · 3.9.0+
613.9Mdownloads / mo
colorama Worth it
PyPI · Terminals · released Oct 2022

Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.

Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…

BSD-3-Clausepure Python
431.0Mdownloads / mo
wcwidth Worth it
PyPI · Libraries · released Jun 2026

Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.

Install it if your application formats text for terminals and handles non-ASCII characters.

MITpure Python · 3.8+
306.5Mdownloads / mo
ptyprocess With conditions
PyPI · Terminals · released Dec 2020

Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.

However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…

ISCpure Pythonaging
205.2Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo

See also readchar · win_unicode_console · keysymdef · blessed · exit-codes · keyboard · pynput · asciimatics · inputs · sshkeyboard