I would also like to know what projects should do in the meantime. For example, I found a way to modify Django's shell command in one's own project to use the new REPL, by using this within a try-except block:
from _pyrepl.simple_interact import run_multiline_interactive_console
run_multiline_interactive_console()
Is this an acceptable workaround before Python 3.14 is released? Or should this function not be relied on, seeing as it's in an undocumented module?
Feature or enhancement
Proposal:
When installing Django in a Python 3.13 virtual environment and using Django's
shell
command, the old REPL is used.It would be great if the
code
module supported the new REPL. From @ambv's reply in https://github.com/python/cpython/issues/119433#issuecomment-2130060062 it looks like this will be considered in Python 3.14.I would also like to know what projects should do in the meantime. For example, I found a way to modify Django's
shell
command in one's own project to use the new REPL, by using this within atry
-except
block:Is this an acceptable workaround before Python 3.14 is released? Or should this function not be relied on, seeing as it's in an undocumented module?
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
https://github.com/python/cpython/pull/119433#pullrequestreview-2074755660