Visitar URL original
Dropping frontends · Issue #820 · bpython/bpython · GitHub
Skip to content

Dropping frontends #820

Description

@supakeen

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):

  1. curtsies
  2. cli (deprecation warning since 0.19)
  3. 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 ?

More related tickets: #797

Activity

  1. self-assigned this
    on Jul 12, 2020
  2. added this to the release-0.21 milestone on Jul 12, 2020
  3. thomasballinger commented on Jul 13, 2020

    @thomasballinger
    Member

    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.

  4. davidolrik commented on Nov 5, 2021

    @davidolrik

    Textual has excellent windows support and is pretty great on just about all platforms.

  5. OscarL commented on Jan 3, 2022

    @OscarL

    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

  6. slafs commented on Mar 11, 2022

    @slafs

    Just FYI, Textual works on Windows now.

    Subscribing to this issue as I'm interested in bpython supporting event loops :).

  7. removed their assignment
    on Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions