urwid-readline
A textbox edit widget for urwid that supports readline shortcuts
What it is and what it does
urwid-readline is a specialized text input widget for urwid, the Python library for building terminal-based user interfaces. It wraps urwid's standard text editing with readline-style keyboard shortcuts—the familiar Emacs-like commands (Ctrl+A to jump to line start, Ctrl+K to cut to end of line, Meta+F to jump forward a word, and many others) that developers expect from shell prompts and text editors. This makes terminal UI applications feel more responsive and intuitive to users accustomed to standard Unix line editing.
The package is a thin, focused layer: it depends only on urwid itself and provides one main widget class. It's useful when you're building a terminal application with urwid and want your text input fields to behave like readline-enabled prompts rather than plain text boxes. The feature set is comprehensive—it covers cursor movement, deletion, killing (cutting), pasting, undo, and autocomplete—and the implementation is stable enough for production use, though maintenance has slowed.
Use it for:
- Building interactive terminal applications where users expect readline shortcuts in text input fields.
- Creating command-line tools with urwid UIs that need familiar line-editing behavior for user comfort.
- Implementing terminal-based REPL or shell-like interfaces with readline-compatible text editing.
- Adding undo/redo and word-level navigation to urwid text boxes without reimplementing readline logic.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds readline-style keyboard shortcuts to urwid text input widgets, enabling familiar line-editing commands like Ctrl+A, Ctrl+K, and word navigation within terminal UI applications.
Yes, if you're already using urwid and need readline shortcuts in your text input. The package is stable, permissively licensed, and solves a specific problem well. Install friction is moderate (urwid compilation dependency), and maintenance is aging but not abandoned. Not worth installing if you're not building a urwid application or don't need readline behavior.
Install
urwid-readline on PyPI
pip
pip install urwid-readlineuv
uv add urwid-readlinepoetry
poetry add urwid-readlineInstalling urwid-readline
Before you install
High install friction due to urwid dependency, which requires compilation on some platforms. Package maintenance is aging—last release was 691 days ago, though the repository remains active with recent commits.
License in practice
Licensed under MIT (permissive), so you can use it freely in commercial and open-source projects with minimal restrictions.
Quickstart
pip install urwid-readline
from urwid_readline import ReadlineEdit
edit = ReadlineEdit('prompt: ')
# Use in urwid application with standard readline shortcuts
Requires urwid, which may need compilation on platforms without prebuilt wheels.
Verify before relying
- Whether Python version support is truly unspecified or implicitly modern Python 3 only (classifiers say Python 3 Only but requires_python is null).
- Current state of autocomplete feature—description mentions it but does not detail implementation or limitations.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | 1 — urwid |
| Maintenance | aging — 691 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 405,392/month — #6,907 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: urwid_readline-0.15.1.tar.gz
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
urwidUrwid is a Python console UI library that lets…
copyleft · top 5,000 on PyPI
pyreadline3Provides GNU readline-like keyboard input…
permissive · top 5,000 on PyPI
readcharReads single characters and keystrokes from…
permissive · top 5,000 on PyPI
git-pythonProvides command-line shortcuts for common git…
unclear · top 15,000 on PyPI
pyreadlineProvides GNU readline-like line editing and…
permissive · top 15,000 on PyPI
pyreplpyrepl is a pure-Python readline-like library…
permissive · top 5,000 on PyPI
reprintBinds Python variables to multi-line terminal…
permissive · top 15,000 on PyPI
textual-autocompleteAdds fuzzy-matching autocomplete dropdowns to…
permissive · top 15,000 on PyPI
tabcompleterAdds Tab-key autocompletion and command…
permissive · top 5,000 on PyPI
prompt_toolkitprompt_toolkit is a Python library for building…
permissive · top 1,000 on PyPI