Skip to content

gh-145035: Allows removing the _pyrepl module to completely disable the modern REPL#145159

Merged
ambv merged 5 commits intopython:mainfrom
zooba:gh-145035
Mar 10, 2026
Merged

gh-145035: Allows removing the _pyrepl module to completely disable the modern REPL#145159
ambv merged 5 commits intopython:mainfrom
zooba:gh-145035

Conversation

@zooba
Copy link
Copy Markdown
Member

@zooba zooba commented Feb 23, 2026

This is an unsupported configuration, but still desirable for some distributions. It also ensures we can continue to keep ctypes as an optional module.

@zooba
Copy link
Copy Markdown
Member Author

zooba commented Feb 23, 2026

Running as a draft to see/fix CI first. I had 100% pass on Windows, then accidentally reverted all my changes, and I haven't tested on Linux yet.

@zooba
Copy link
Copy Markdown
Member Author

zooba commented Feb 23, 2026

First try :shipit: Reverting my little hack for hiding the module and will un-draft.

@johnslavik johnslavik self-requested a review February 24, 2026 00:09
Comment thread Lib/_sitebuiltins.py
@zooba
Copy link
Copy Markdown
Member Author

zooba commented Mar 3, 2026

@pablogsal Any concerns about this PR? (FWIW, I'll be maintaining the patch in my fork/backports anyway, this is just to make my[/my successor's] life easier by having the support in main as well.)

Copy link
Copy Markdown
Member

@FFY00 FFY00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From what I can tell, this implementation seems okay to me. The only thing I could maybe suggest, is that it could make sense to move all the alternative necessary bits — such as the pager implementations — to a built-in module, providing the basic functionality. Though, I really have no strong feelings towards it.

That said, I believe this is a very welcome UX improvement, especially bundled with the other small UX improvements around initialization in 3.15.

@ambv ambv merged commit ae0d287 into python:main Mar 10, 2026
51 checks passed
@zooba
Copy link
Copy Markdown
Member Author

zooba commented Mar 16, 2026

The only thing I could maybe suggest, is that it could make sense to move all the alternative necessary bits — such as the pager implementations — to a built-in module, providing the basic functionality.

Yeah, I considered this, but the refactoring started getting more invasive (plus it was only recently refactored in order to better support pyrepl, and I'm not trying to undo the new repl, just make things not break when it's missing).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants