readline
The standard Python readline extension statically linked against the GNU readline library.
What it is and what it does
readline is a deprecated Python extension that bundles and statically links the GNU readline library, providing full readline functionality on platforms like macOS that ship with editline (libedit) instead. It was designed to give users proper line-editing, history, and completion support in interactive Python sessions without requiring separate system libraries. The module compiles readline 6.2 from source and links it directly into the Python extension, making installation self-contained.
This package is no longer maintained and has been superseded by gnureadline. It only supports Python versions up to 3.3 and explicitly prevents installation on Python 3.4 and later. The last release was in 2022, and the codebase is aging. Unless you are stuck on very old Python versions and cannot migrate to gnureadline, this package should be avoided.
Use it for:
- Restoring GNU readline on macOS systems where the standard library uses editline instead, for full readline compatibility in interactive shells.
- Supporting legacy Python 2.x or early Python 3.x applications that depend on readline functionality and cannot be updated.
- Providing readline on systems with licensing restrictions that prevent shipping GNU readline by default (historical use case).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides GNU readline library support for Python on platforms like macOS that lack it by default, bundling and statically linking readline into a Python extension module.
No. This package is explicitly deprecated and has been renamed to gnureadline. It is capped at Python < 3.4, has not been updated since 2022, and carries high compilation friction. Install gnureadline instead if you need GNU readline support on modern Python.
Install
readline on PyPI
pip
pip install readlineuv
uv add readlinepoetry
poetry add readlineInstalling readline
Before you install
High install friction due to C compilation requirements (readline-6.2.4.2.tar.gz). Package is aging—last release was 2022-10-12, over 1402 days ago. Maintenance status is deprecated; the package has been renamed to gnureadline and should not be used for new projects.
License in practice
Licensed under GPLv3 (copyleft). Users must comply with GPL terms if they distribute or modify code linked against this package.
Quickstart
pip install readline
import readline
readline.parse_and_bind('tab: complete')
Requires Python < 3.4 (capped_below_current). Compilation requires a C compiler and readline development headers. This package is deprecated; use gnureadline instead.
Verify before relying
- Whether the static linking approach still works reliably on modern macOS versions beyond 10.9+.
- Compatibility with Python 3.4+ despite the stated version cap—whether installation is actually prevented or just unsupported.
- Whether the GitHub repository remains actively maintained or is archived.
Package facts
| License | not declared (copyleft) |
| Python support | capped below the current Python release (<3.4) |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | aging — 1,402 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 254,816/month — #8,490 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: readline-6.2.4.2.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
gnureadlineProvides GNU Readline library support for…
copyleft · top 15,000 on PyPI
pyreadlineProvides GNU readline-like line editing and…
permissive · top 15,000 on PyPI
pyreadline3Provides GNU readline-like keyboard input…
permissive · top 5,000 on PyPI
pyobjc-framework-ScriptingBridgeProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyreplpyrepl is a pure-Python readline-like library…
permissive · top 5,000 on PyPI
clipboardProvides a simple interface to copy text to and…
permissive · top 15,000 on PyPI
tabcompleterAdds Tab-key autocompletion and command…
permissive · top 5,000 on PyPI
urwid-readlineAdds readline-style keyboard shortcuts to urwid…
permissive · top 15,000 on PyPI
pyobjc-framework-OpenDirectoryProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
fancycompleterAdds colorful TAB completion to the Python…
permissive · top 5,000 on PyPI