[Debian-science-sagemath] Sage 7.6

Gordon Ball gordon at chronitis.net
Wed Apr 5 20:52:27 UTC 2017


On 04/04/17 21:18, Ximin Luo wrote:
> Tobias Hansen:
>> On 03/26/2017 02:06 PM, Tobias Hansen wrote:
>>> Thanks for the overview. It's more involved than I expected.
>>>
>>>> Does sagemath have a hard dependency on updating these packages?
>>>>
>>>
>>> The doc build of sage now produces errors because it's missing
>>> ValueWidget, which is new in ipywidgets 6 I think.
>>>
>>> And there are a bunch of failing doctests with our current packages:
>>> sage -t --long src/sage/repl/ipython_kernel/interact.py  # 30 doctests
>>> failed
>>> sage -t --long src/sage/repl/ipython_kernel/widgets.py  # 79 doctests failed
>>> sage -t --long src/sage/repl/ipython_kernel/widgets_sagenb.py  # 76
>>> doctests failed
>>> sage -t --long src/sage/repl/ipython_extension.py  # 1 doctest failed
>>>
>>
>>
>> Undoing the sage ticket #21267 fixed the issues mentioned above and now
>> there are no obvious problems with using the existing packages for now.
>>
> 
> Thanks for doing all this work! I'll try to take a look at ipywidgets again in the next 2 weeks or so...
> 

My notes on what is needed to upgrade ipywidgets/jupyter-notebook and
general jupyter stuff:

No new dependencies, probably uncomplicated:

 * ipykernel 4.5.2 -> 4.6.0
 * ipython 5.1.0 -> 5.3.0
 * ipython-genutils 0.1.0 -> 0.2.0
 * jupyter-client 4.4.0 -> 5.0.1
 * jupyter-core 4.2.1 -> 4.3.0
 * jupyter-console 5.0.0 -> 5.1.0 (already in dpmt git)
 * nbformat 4.2.0 -> 4.3.0
 * nbconvert 4.2.0 -> 5.1.1 (already in dpmt git)
 * traitlets 4.3.1 -> 4.3.2
 * qtconsole 4.2.1 -> 4.3.0
 * prompt-toolkit 1.0.9 -> 1.0.14

Complicated

 * jupyter-notebook 4.2.3 -> 5.0.0
     + upgrade codemirror -> 5.22.2
     + upgrade underscore -> 1.8.3 (already in debian)
     + drop term.js
     + add xterm.js 2.3.2
     + add preact 7.2.0
     + add preact-compat 0.14.4
     + add proptypes 0.14.4
 * ipywidgets 5.2.2 -> 6.0.0
     + add phosphor 0.7.0
     + new internal JS package jupyter-widgets-schema
     + new internal JS package jupyterlab-widgets
     + upgrade jquery -> 3.1.1 (already in debian)
     + upgrade jquery-ui -> 1.12.1 (already in debian)
     + add font-awesome 4.5.0 (already in debian)
     + drop bootstrap
     + add ajv 4.9.0
     + add jupyterlab-services
     + add @types-backbone 1.3.33
     + add @types-semver 5.3.30

Further dependencies:

 * xterm.js -> @types/node, typescript 2.2.0, browserify
 * preact -> babel, webpack, rollup, typescript 2.2.2
 * preact-compat -> babel, webpack, rollup, typescript, preact
 * proptypes -> babel
 * phosphor ->
 * ajv -> co, json-stable-stringify, browserify
 * co -> browserify
 * json-stable-stringify -> jsonify (in debian)

Notebook buildsystem remains the same.

The ipywidgets buildsystem is still webpack based, but has gained a
bunch of typescript dependencies as well, which will probably make
emulating it even more complicated. The repo has moved to
github.com/jupyter-widgets/ipywidgets - I suspect the JS and python
stuff will get separated into different repositories at some point which
should make it easier to package than the current monolith. Ipywidgets
now also generates jupyterlab widgets and depends on jupyterlab
javascript, but this is hopefully optional until jupyterlab is packaged.

Jupyter is generally moving towards typescript rather than javascript,
which is probably in general a good thing but means that where it still
depends on javascript libraries, we need along side them type annotation
packages (node packages: `@types/JSLIB`, I don't think any are yet in
debian).

Gordon






More information about the Debian-science-sagemath mailing list