Opened 2 years ago

Last modified 3 months ago

#30399 new enhancement

Meta-ticket: Transition to JupyterLab

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-9.8
Component: notebook Keywords:
Cc: Paul Masson, Joshua Campbell, Samuel Lelièvre, zerline, Frédéric Chapoton Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

The Jupyter notebook is on its way out, users are encouraged to transition to JupyterLab.

  • #26059/#30246 Make JupyterLab an optional package, support interacts in JupyterLab
  • #32069 Upgrade jupyterlab to 3.0.x
  • #32070 Add package pythreejs 2.3.0
  • #30124 System package information, spkg-configure for Jupyter "notebook" package, "rst2ipynb", and dependencies
  • #20893 Improve live documentation in the Jupyter notebook
  • #30123 Repackage Sage's cropped threejs as a pip-installable package (nbextension) jupyter-threejs-minimal
  • #24904 Make jupyterlab a standard package

Change History (16)

comment:1 Changed 2 years ago by Matthias Köppe

Cc: Paul Masson Joshua Campbell Samuel Lelièvre zerline Frédéric Chapoton added

comment:2 Changed 2 years ago by Paul Masson

Since I’m not an active Python/Sage user, could you clarify the “on its way out” statement? Any public discussions you could reference?

comment:4 Changed 2 years ago by Joshua Campbell

I created a simple optional package with just the requirements.txt for jupyterlab 2.2.5 and spent some time playing around with some of my pre-existing notebooks. Everything seems to work fine except for cells that use interact, which I suppose is why that ticket #30246 exists.

Three.js, JSmol, rendering LaTeX using MathJax, Tachyon, 2D plots, saving plots as PNG/HTML, and tab completion work. Tried a few graphics and non-graphics examples in the console as well without issue. Documentation works as well, though I noticed that it all appears inline instead of going into a separate frame.

It seems like it's already quite usable, with the interact caveat. I think I'll start working in it almost exclusively in fact :) Would that be all that's needed for #26059 is that simple requirements.txt package?

comment:5 in reply to:  4 ; Changed 2 years ago by Matthias Köppe

Replying to gh-jcamp0x2a:

I created a simple optional package with just the requirements.txt for jupyterlab 2.2.5 [...] Would that be all that's needed for #26059 is that simple requirements.txt package?

Yes, that's the simplest way of creating an optional package.

comment:6 in reply to:  4 Changed 2 years ago by Matthias Köppe

Replying to gh-jcamp0x2a:

Three.js, JSmol, rendering LaTeX using MathJax, Tachyon, 2D plots, saving plots as PNG/HTML, and tab completion work.

That's great news already.

Apart from fixing the interacts, what is missing is certainly documentation.

And then the next question would be regarding the Sage kernel in a system JupyterLab (as opposed to jupyterlab installed into Sage's venv) - similar to what is discussed in #30124 (and #30123) for the notebook.

Last edited 2 years ago by Matthias Köppe (previous) (diff)

comment:7 in reply to:  5 Changed 2 years ago by Joshua Campbell

Replying to mkoeppe:

Replying to gh-jcamp0x2a:

I created a simple optional package with just the requirements.txt for jupyterlab 2.2.5 [...] Would that be all that's needed for #26059 is that simple requirements.txt package?

Yes, that's the simplest way of creating an optional package.

Ok, thank you.

I could push that small commit to #26059 for review if you'd like, but would you prefer the normal SPKG structure instead like those I added in #26919? From what I've been reading in the developer docs, standard packages can't be just pip packages, so that might save some effort later on.

comment:8 Changed 2 years ago by Matthias Köppe

Either way. I really don't know how fast jupyterlab development is moving, and whether it's expected to change its set of dependencies.

comment:9 Changed 2 years ago by Joshua Campbell

I've created #30462 to introduce a dark theme to the Three.js viewer to better fit in with JupyterLab's own dark theme. Not sure if relevant enough to JupyterLab itself to warrant being included in this meta-ticket.

comment:10 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2sage-9.3

comment:11 Changed 22 months ago by Matthias Köppe

Milestone: sage-9.3sage-9.4

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

comment:12 Changed 18 months ago by Matthias Köppe

Description: modified (diff)

comment:13 Changed 17 months ago by Matthias Köppe

Milestone: sage-9.4sage-9.5

comment:14 Changed 12 months ago by Matthias Köppe

Milestone: sage-9.5sage-9.6

comment:15 Changed 9 months ago by Matthias Köppe

Milestone: sage-9.6sage-9.7

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

Milestone: sage-9.7sage-9.8
Note: See TracTickets for help on using tickets.