python / python/cpython

Add structured version info for readline

Open
#157,485 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

3.16 extension-modules type-feature
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Feature or enhancement

readline exposes the version of the readline library only under private names: _READLINE_VERSION (RL_READLINE_VERSION, an int like 0x0803), _READLINE_RUNTIME_VERSION (rl_readline_version, an int) and _READLINE_LIBRARY_VERSION (rl_library_version, a string like '8.3'), added for tests.

Add readline.READLINE_VERSION_INFO for the build-time version and readline.readline_version_info for the runtime version, named tuples with major and minor fields (readline has no third component), and readline.readline_version for the runtime version string. The private names are kept for backward compatibility.

With the libedit backend (readline.backend == 'editline', i.e. the module was built against libedit's readline emulation), these describe the emulated readline API (4.2, 'EditLine wrapper'), not libedit itself, which has no meaningful version API.

Linked PRs
  • gh-157486

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing readline's existing private version names and the backend-specific behavior described in the issue. Done means public build-time and runtime version information is exposed with the requested names and fields, while the private names remain available and the libedit values describe its emulated API.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.