Opened 22 months ago

Last modified 3 months ago

#30399 new enhancement

Meta-ticket: Transition to JupyterLab

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.7
Component: notebook Keywords:
Cc: paulmasson, gh-jcamp0x2a, slelievre, zerline, chapoton Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

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 (15)

comment:1 Changed 22 months ago by mkoeppe

  • Cc paulmasson gh-jcamp0x2a slelievre zerline chapoton added

comment:2 Changed 22 months ago by paulmasson

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 follow-ups: Changed 22 months ago by gh-jcamp0x2a

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 ; follow-up: Changed 22 months ago by 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.

comment:6 in reply to: ↑ 4 Changed 22 months ago by mkoeppe

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 22 months ago by mkoeppe (previous) (diff)

comment:7 in reply to: ↑ 5 Changed 21 months ago by gh-jcamp0x2a

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 21 months ago by mkoeppe

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 21 months ago by gh-jcamp0x2a

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 19 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:11 Changed 16 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

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

comment:12 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:13 Changed 10 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5

comment:14 Changed 5 months ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:15 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.6 to sage-9.7
Note: See TracTickets for help on using tickets.