[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: IPython/Jupyter plans for buster



Gordon Ball:
> I don't have more information than was in the [1] link below, but my reading of it is:
> 
> ----8<----
> 
> All ipython/jupyter components will drop python 2.7 support from version 6.
> 
> For ipython, ipykernel and dependencies ipython-genutils, traitlets the current, python-2.7 supporting branch gets extended support until July 2019 (needed to run user-level python 2.7 code).
> 
> For components the user is meant to use as an application rather than an importable library (notebook, nbconvert) there will be no extended python 2 support.
> 
> For components which might be useful to other projects (jupyter-core, jupyter-client, nbformat) there *might* be extended support of the current branch, but it isn't clear.
> 
> ----8<----
> 
> I think we want to follow the same strategy: keep support for running python 2 code in interactive sessions and notebooks as long as possible, but for other parts like the notebook server which the user is not expected to import from, we drop python 2 support when upstream no longer provides it.
> 
> Which interfaces in jupyter does sagemath use? Is it just a kernel or does it import directly from notebook/nbformat/nbconvert, etc?
> 

SageMath heavily imports from IPython, ipykernel, ipywidgets, but imports from the "notebook" at only two points, as far as I can tell:

src/bin/sage-notebook:        from notebook.notebookapp import main
src/sage/repl/ipython_kernel/install.py:        from notebook.notebookapp import NotebookApp

The second one is a dependency check, that would be easy to patch out in Debian.

The first one would take a bit more work since it's a public-facing interface that "sage -n jupyter" should start up the app. We'd have to patch it so that the Sage python2 process calls an external python3 process, probably.

This assumes the Sage kernel would still work with a python3-only notebook... I certainly hope so, if jupyter upstream are ready to drop the python2 notebook so quickly...

There is also this:

src/sage/repl/ipython_kernel/install.py:from jupyter_core.paths import ENV_JUPYTER_PATH

which would also be easy to patch out in Debian, by hard-coding directly with the actual path.

> When you say (2), since I failed to number them originally, I think you meant:
> 
>     split ipython source package,
>     python-ipython stays as version 5.x,
>     python3-ipython gets version 6.x from a new source package
> 
> (correct?)
> 

Yes, that's what I meant.

X

>>> [..]
>>>
>>> [1]:
>>> https://github.com/jupyter/roadmap/blob/master/accepted/migration-to-python-3-only.md
>>> [2]: http://www.python3statement.org/
>>>

-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git


Reply to: