sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.18k stars 409 forks source link

prompt_toolkit 3.x vs. Tk graphics #33205

Open mkoeppe opened 2 years ago

mkoeppe commented 2 years ago

From Marc Culler:

prompt_toolbox with versions >= 3.0.0 completely breaks Tk graphics on macOS (Linux not affected). Symptoms include very high CPU usage when doing essentially nothing as well as crashes. The older prompt_toolbox 2.0.10 works fine. The change from 2.0.10 to 3.0.0 was a major rewrite which replaced the custom event loops that they had written with asyncio.

The current version of IPython that ships with Sage is perfectly happy using prompt_toolbox 2.0.10. We know of no downside to reverting to that version. The upside is that Tk works normally, which is very important to SnapPy

Upstream: Not yet reported upstream; Will do shortly.

CC: @culler @NathanDunfield

Component: packages: standard

Issue created by migration from https://trac.sagemath.org/ticket/33205

mkoeppe commented 2 years ago
comment:1

If 2.0.10 works fine, we should at least relax the version constraint in build/pkgs/prompt_toolkit/install-requires.txt.

NathanDunfield commented 2 years ago
comment:2

Updated description to reflect that this is macOS specific.

NathanDunfield commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,6 +1,6 @@
 From Marc Culler:

-`prompt_toolbox` with versions >= 3.0.0 completely breaks Tk graphics.  Symptoms include very high CPU usage when doing essentially nothing as well as crashes.  The older `prompt_toolbox` 2.0.10 works fine.  The change from 2.0.10 to 3.0.0 was a major rewrite which replaced the custom event loops that they had written with `asyncio`.
+`prompt_toolbox` with versions >= 3.0.0 completely breaks Tk graphics on macOS (Linux not affected).  Symptoms include very high CPU usage when doing essentially nothing as well as crashes.  The older `prompt_toolbox` 2.0.10 works fine.  The change from 2.0.10 to 3.0.0 was a major rewrite which replaced the custom event loops that they had written with `asyncio`.

 The current version of `IPython` that ships with Sage is perfectly happy using `prompt_toolbox` 2.0.10.  We know of no downside to reverting to that version.  The upside is that Tk works normally, which is very important to SnapPy 
mkoeppe commented 7 months ago

Is this still unresolved? Heads-up on tightened version constraints in the IPython upgrade ticket #35251