The new python interactive shell in 3.13 is great. However, both flask shell and Django’s python manage.py shell commands use code.py’s InteractiveConsole which is described as:
Closely emulate the behavior of the interactive Python interpreter.
So I would have expected this to be the new ‘fancy’ interactive shell on python 3.13. But it’s not. Am I wrong to have expected InteractiveConsole to be using the new fancy console when available? If not, for people that want to integrate a ‘fancy’ console like Flask or Django, how should that be handled? If InteractiveConsole is only expected to be the ‘old’ shell I think at least this should be part of the documentation.
Indeed is not. Right now the priority is making this stable and for that we may (and we are) need to change a lot of APIs and restructure this all the time so we are not ready to expose anything. Maybe this is something we can do in the future.