#31523 closed defect (fixed)

Fix dependencies of ipywidgets

Reported by: Matthias Köppe Owned by:
Priority: blocker Milestone: sage-9.3
Component: packages: standard Keywords:
Cc: Dima Pasechnik, gh-kliem, Simon King, Samuel Lelièvre Merged in:
Authors: Matthias Koeppe Reviewers: Jonathan Kliem
Report Upstream: N/A Work issues:
Branch: 94fd11f (Commits, GitHub, GitLab) Commit: 94fd11f961cc8f0796bb919b9fc3ff6b9755f659
Dependencies: Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

After #31278, which removed heavy dependencies from widgetsnbextension (which is a dependency of ipywidgets), we have to add some (lighter) dependencies to ipywidgets.

https://github.com/jupyter-widgets/ipywidgets/blob/master/setup.cfg#L35 lists:

install_requires =
  ipykernel>=4.5.1
  ipython>=6.1.0
  traitlets>=4.3.1
  nbformat>=4.2.0
  widgetsnbextension~=4.0a0
  jupyterlab_widgets~=2.0a0

These are not reflected in our dependency file. In this ticket we add the first three. (nbformat is only there so as to rule out some broken versions; we do not need jupyterlab_....)

So far this has not caused a build failure, but it is possible that one could appear in heavily parallelized builds.

The missing dependency is visible in the testsuite run for optional package p_group_cohomology in https://github.com/mkoeppe/sage/runs/2145415988

Running the test suite for p_group_cohomology-3.3.2...
Making check in src
Running doctests with ID 2021-03-19-18-58-47-d127e4fd.
Using --optional=debian,dochtml,meataxe,memlimit,pip,polylib,pycosat,sage,sage_spkg
Sorting sources by runtime so that slower doctests are run first....
Doctesting 13 files using 3 threads.
Traceback (most recent call last):
  File "/sage/src/bin/sage-runtests", line 182, in <module>
    err = DC.run()
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 1212, in run
    self.run_doctests()
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 909, in run_doctests
    self.dispatcher = DocTestDispatcher(self)
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 1658, in __init__
    init_sage(controller)
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 209, in init_sage
    controller.load_environment()
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 530, in load_environment
    return import_module(self.options.environment)
...
  File "/sage/local/lib/python3.9/site-packages/sage/repl/ipython_kernel/all_jupyter.py", line 7, in <module>
    from .widgets_sagenb import (input_box, text_control, slider,
  File "/sage/local/lib/python3.9/site-packages/sage/repl/ipython_kernel/widgets_sagenb.py", line 31, in <module>
    from ipywidgets.widgets import (IntSlider, IntRangeSlider, FloatSlider,
  File "/sage/local/lib/python3.9/site-packages/ipywidgets/__init__.py", line 25, in <module>
    from .widgets import *
  File "/sage/local/lib/python3.9/site-packages/ipywidgets/widgets/__init__.py", line 4, in <module>
    from .widget import Widget, CallbackDispatcher, register, widget_serialization
  File "/sage/local/lib/python3.9/site-packages/ipywidgets/widgets/widget.py", line 18, in <module>
    from ipykernel.comm import Comm
ModuleNotFoundError: No module named 'ipykernel'
********************************************************************************
Error testing pGroupCohomology

Change History (9)

comment:1 Changed 19 months ago by Matthias Köppe

Description: modified (diff)

comment:2 Changed 19 months ago by Matthias Köppe

Branch: u/mkoeppe/fix_dependencies_of_ipywidgets

comment:3 Changed 19 months ago by Matthias Köppe

Authors: Matthias Koeppe
Commit: 94fd11f961cc8f0796bb919b9fc3ff6b9755f659
Status: newneeds_review

New commits:

94fd11fbuild/pkgs/ipywidgets/dependencies: Add missing dependencies

comment:4 Changed 19 months ago by Matthias Köppe

Cc: Simon King added

comment:5 Changed 19 months ago by Matthias Köppe

Cc: Samuel Lelièvre added

comment:6 Changed 19 months ago by gh-kliem

Reviewers: Jonathan Kliem
Status: needs_reviewpositive_review

LGTM.

comment:7 Changed 19 months ago by Matthias Köppe

Thank you.

comment:8 Changed 19 months ago by Matthias Köppe

Priority: criticalblocker

Setting priority to blocker to bring this ticket to the attention of the release bot.

comment:9 Changed 18 months ago by Volker Braun

Branch: u/mkoeppe/fix_dependencies_of_ipywidgets94fd11f961cc8f0796bb919b9fc3ff6b9755f659
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.