pyreadline3
A python implementation of GNU readline.
What it is and what it does
pyreadline3 is a Python implementation of GNU readline functionality, forked from the stale pyreadline package and updated for modern Python versions. It adds keyboard-driven text editing, selection, and clipboard operations to Python's interactive console, with features like Shift+arrow selection, Ctrl+C copy activation, and multi-line code pasting. The package is built on ctypes and has been tested primarily on Windows 10.
It targets developers who need enhanced console input handling in Python environments, particularly on Windows where readline is not natively available. The package requires Python 3.8 or later and has no external runtime dependencies, making installation straightforward. It remains under active maintenance with recent commits, though the description notes the original implementation is incomplete.
Use it for:
- Enhance interactive Python REPL sessions on Windows with text selection and copy/paste.
- Enable Shift+arrow key text selection in Windows console applications using Python.
- Paste multi-line code into Python interactive mode with automatic empty-line removal.
- Configure clipboard behavior for IPython-like tab-separated data pasting as lists or arrays.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides GNU readline-like keyboard input handling and text editing for Python on Windows, including text selection, copy/paste, and multi-line code pasting.
Yes, if you use Python interactively on Windows and want readline-like editing features. The package is actively maintained, has no dependencies, and carries a permissive BSD license. However, verify compatibility if you're on a non-Windows platform, as the package is explicitly tested only on Windows 10 despite supporting Python 3.8–3.12.
Install
pyreadline3 on PyPI
pip
pip install pyreadline3uv
uv add pyreadline3poetry
poetry add pyreadline3Installing pyreadline3
Before you install
Low friction installation with no runtime dependencies. Actively maintained as of 2026-05-14 with recent activity, though primarily tested on Windows 10.
License in practice
BSD license is permissive; you may use, modify, and distribute this package freely in both open and closed projects with minimal restrictions.
Quickstart
pip install pyreadline3
import pyreadline3
# Enables readline-like functionality in interactive Python sessions
Primarily tested on Windows 10; functionality on other operating systems is not documented.
Verify before relying
- Whether pyreadline3 works reliably on non-Windows platforms despite Windows-specific classifier.
- Whether the package integrates automatically with Python's interactive mode or requires explicit activation.
- Current state of incomplete features mentioned in the original pyreadline package description.
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 92 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,680,186/month — #1,709 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyreadline3-3.5.6-py3-none-any.whl
Keywords: readline, pyreadline, pyreadline3
Tags
More Terminals packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
richRich renders styled text, tables, progress…
permissive · top 100 on PyPI
coloramaColorama makes ANSI escape sequences for…
permissive · top 100 on PyPI
wcwidthMeasures the displayed width of Unicode strings…
permissive · top 1,000 on PyPI
ptyprocessRun a subprocess in a pseudo terminal (pty) and…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
pyreadlineProvides GNU readline-like line editing and…
permissive · top 15,000 on PyPI
urwid-readlineAdds readline-style keyboard shortcuts to urwid…
permissive · top 15,000 on PyPI
pyreplpyrepl is a pure-Python readline-like library…
permissive · top 5,000 on PyPI
gnureadlineProvides GNU Readline library support for…
copyleft · top 15,000 on PyPI
fancycompleterAdds colorful TAB completion to the Python…
permissive · top 5,000 on PyPI
readlineProvides GNU readline library support for…
copyleft · top 15,000 on PyPI
win_unicode_consoleFixes Unicode input and display in Python when…
permissive · top 15,000 on PyPI
pyperclipPyperclip provides simple cross-platform access…
permissive · top 1,000 on PyPI
tabcompleterAdds Tab-key autocompletion and command…
permissive · top 5,000 on PyPI
bpythonbpython is an enhanced Python interactive…
permissive · top 15,000 on PyPI