Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upDropping frontends #820
Dropping frontends #820
Comments
|
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. |
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