Repository navigation
Dropping frontends #820
Description
Activity
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.
Textual has excellent windows support and is pretty great on just about all platforms.
Textual has excellent windows support and is pretty great on just about all platforms.
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
Just FYI, Textual works on Windows now.
Subscribing to this issue as I'm interested in bpython supporting event loops :).
Reacted by theblazehen, mbbyn and Ben Cole
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):
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 ?
More related tickets: #797