readline
The standard Python readline extension statically linked against the GNU readline library.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python < 3.4 (capped_below_current).
- Compilation requires a C compiler and readline development headers.
- This package is deprecated; use gnureadline instead.
License · maintenance · safety
copyleft license (copyleft) — Licensed under GPLv3 (copyleft). Users must comply with GPL terms if they distribute or modify code linked against this package.
last release 2022-10-12 (1402 days) · last repo commit 2026-01-06 · 85 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 254,816 downloads/mo, #8,490 on PyPI
Alternatives
Verify before relying
pip install readline
import readline
readline.parse_and_bind('tab: complete')- 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.
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 on it.
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
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.
Requires Python < 3.4 (capped_below_current). Compilation requires a C compiler and readline development headers. This package is deprecated; use gnureadline instead.
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')
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 | copyleft license 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 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: CProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules |
Evidence: readline-6.2.4.2.tar.gz
Tags
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 › “gnu readline python”
- readlineProvides GNU readline library support for Python on platforms like…
- gnureadlineProvides GNU Readline library support for Python interactive shells…
- pyreadlineProvides GNU readline-like line editing and history functionality for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also gnureadline · pyreadline · pyreadline3 · pyobjc-framework-ScriptingBridge · pyrepl · clipboard · tabcompleter · urwid-readline · pyobjc-framework-OpenDirectory · fancycompleter