You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since we have a ticket to track dropping Python 2 support in #819 in 0.21 I thought it'd be OK to have a ticket to track dropping support for the various backends bpython currently supports.
The current backends we 'support' (they are in various state of support hence the scare quotes):
curtsies
cli (deprecation warning since 0.19)
urwid (deprecation warning since 0.19)
Of these I believe the curses backend is required to support Windows, the urwid backend is required to support integration with Twisted's reactor (see #803).
I'd want to support both of these usecases in the curtsies frontend, I personally mostly care about integration with event loops as Python has added this natively by running -m asyncio.
Is there anything I am lacking in regards to unique features so I can make a plan of attack @sebastinas@thomasballinger ?
I think the Windows support story has changed somewhat since Windows Subsystem for Linux (WSL) became a popular way to use Python with Windows, if the goal were to support that in Curtsies then we're very close. If we want more general Windows support it'd be helpful to assess what is and isn't doable on Windows and add code (to Curtsies? to the repl?) to offer the subset of functionality that makes sense.
I'm also most excited about even loop integration.
No other unique features come to mind.
I just opened bpython-urwid and it seems a bit broken for me (keypresses on first line not showing up until I hit enter, rewind not working), I'll file bugs.
I don't know if using greenlet is blocking anything on the Windows or event loop fronts, either seems plausible.
Once these are dropped some refactoring becomes easier: right now the curtsies Repl is a subclass of the Repl class in curtsiesfrontend/repl.py, which is a subclass of the Repl in the root directory. I find this inheritance hard to reason about.
Activity
thomasballinger commentedon Jul 13, 2020
Tracking this is a great idea.
I think the Windows support story has changed somewhat since Windows Subsystem for Linux (WSL) became a popular way to use Python with Windows, if the goal were to support that in Curtsies then we're very close. If we want more general Windows support it'd be helpful to assess what is and isn't doable on Windows and add code (to Curtsies? to the repl?) to offer the subset of functionality that makes sense.
I'm also most excited about even loop integration.
No other unique features come to mind.
I just opened bpython-urwid and it seems a bit broken for me (keypresses on first line not showing up until I hit enter, rewind not working), I'll file bugs.
I don't know if using greenlet is blocking anything on the Windows or event loop fronts, either seems plausible.
Once these are dropped some refactoring becomes easier: right now the curtsies Repl is a subclass of the Repl class in curtsiesfrontend/repl.py, which is a subclass of the Repl in the root directory. I find this inheritance hard to reason about.
davidolrik commentedon Nov 5, 2021
Textual has excellent windows support and is pretty great on just about all platforms.
OscarL commentedon Jan 3, 2022
I've just tried Textual on Windows (both cmd.exe and Windows Terminal). It does not works due to Textualize/textual#14.
I guess you meant it works under WSL?
From a link on that issue, here are some functions available that might help anyone willing to improve support for bpython on Windows:
https://github.com/lskbr/colorconsole/blob/master/colorconsole/win.py
slafs commentedon Mar 11, 2022
Just FYI, Textual works on Windows now.
Subscribing to this issue as I'm interested in bpython supporting event loops :).