GeezerVison is showing github.com — A new Python REPL · Issue #111201 · python/cpython
A new Python REPL #111201DescriptionThis issue will track all the different steps to bootstrap a new Python REPL with many new features. The target of this issue is that we can reach a point where new contributions can be made easily to the REPL once is written in pure Python. This issue only coveres the initial ground work to reach this status.
Tasks to be done:
- Redirect the parser and the main module to a new Python module.
- Fallback to the previous tokenizer-based REPL if the terminal is not a tty (and for backwards compat reasons)
- Bootstrap a new REPL module (based on a trimmed version pypy's pyrepl module).
- Ensure that the basic features work:
- History
- Completions
- Ctrl-r and Ctrl-s
Linked PRs
Reacted by Kirill Podoprigora, Charlie Zhao, An Long, sobolevn, Vasily Ryabov, Tomas R., Jacob Nilsson, Trey Hunner, Hugo van Kemenade, Erlend E. Aasland and 7 more Reacted by Kirill Podoprigora, Itamar Oren, Trey Hunner, Andrew Kay, Hugo van Kemenade, Erlend E. Aasland, Jannis Leidel, chgnrdv, Malachi Syfrett, Raymond Akornor and 1 more Reacted by Jannis Leidel, Edgar Ramírez Mondragón, ilanbenb, Dawid Kraiński, Malachi Syfrett and Raymond Akornor Reacted by stonebig, Rafael Weingartner-Ortner, Dawid Kraiński, Malachi Syfrett and Raymond Akornor Activitypablogsal commented on Oct 23, 2023 If you want to help with this endeavour, please mention it here so we can coordinate everyone! pablogsal commented on Oct 23, 2023 I have a initial version that we can start building upon, I will create a PR shortly. Reacted by Lysandros Nikolaou tomasr8 commented on Oct 23, 2023 I learned about this from the "core.py" podcast and it sounds like a great idea! I'd be happy help with this effort :) vstinner commented on Nov 1, 2023
Fallback to the previous tokenizer-based REPL if the terminal is not a tty (and for backwards compat reasons)
Do you mean not using _pyrepl? Can _pyrepl be used without readline nor tty? pablogsal commented on Nov 1, 2023
Can _pyrepl be used without readline nor tty?
It needs at least a tty yes. Readline can be lifted but I am not sure yet novaTopFlex commented on Apr 28, 2024 I would like to see a new REPL (read, evaluate, print, loop) for the Python interpreter if the interpreter goes by a different name. Two other major Python interpreters also exist, and they already use other names ("bpython" and "ipython"). I would recommend forking the current REPL and renaming the interpreter with the new REPL to "zpython" instead. Also, I would like to see a built-in "clear()" function in the REPL as I already encounter with the "exit()" function and other REPL-specific functions. theLastOfCats commented on May 5, 2024 lysnikolaou commented on Sep 23, 2024 I think we can close this and handle the rest of the bugs in individual issues. Feel free to re-open if you feel otherwise. Reacted by Victor Stinner Reacted by Alex Waygood 0dminnimda commented on Oct 15, 2024 Thanks to all the participants, this is amazing! I really enjoy its increased portability! HarbingerOfFire commented on May 24, 2025 I absolutely love this change! I was using 3.12 and was thinking about making the change myself when I found this. Thank you all for your dedication!
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|