skillfed

pyreadline3

A python implementation of GNU readline.

pyreadline3 v3.5.6 7.7M downloads/30d#1,709 on PyPI70
Permissive license BSD Active released

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 pyreadline3

uv

uv add pyreadline3

poetry

poetry add pyreadline3

Installing 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleLicense :: OSI Approved :: BSD LicenseOperating System :: Microsoft :: WindowsProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

readline implementation python windowskeyboard text selection copy pastegnu readline pythonconsole input editingterminal line editing windows
windows-consoleinteractive-shell

More Terminals packages