From dcea63ba7c9fb849b19bdaf158422793cc8a86bf Mon Sep 17 00:00:00 2001 From: Frederic COLLONVAL Date: Mon, 15 Feb 2021 19:05:47 +0100 Subject: [PATCH] quick note for compatibility with the old Notebook --- advanced/server-extension/README.md | 21 +++++++++++++++---- .../jlab_ext_example/__init__.py | 3 +++ .../jlab_ext_example.json | 7 +++++++ .../jlab_ext_example.json | 0 advanced/server-extension/setup.py | 3 ++- 5 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 advanced/server-extension/jupyter-config/jupyter_notebook_config.d/jlab_ext_example.json rename advanced/server-extension/jupyter-config/{ => jupyter_server_config.d}/jlab_ext_example.json (100%) diff --git a/advanced/server-extension/README.md b/advanced/server-extension/README.md index 5e046f22..f533d632 100644 --- a/advanced/server-extension/README.md +++ b/advanced/server-extension/README.md @@ -363,6 +363,9 @@ def _load_jupyter_server_extension(server_app): f"Registered jlab_ext_example extension at URL path /{url_path}" ) +# For backward compatibility with the classical notebook +load_jupyter_server_extension = _load_jupyter_server_extension + ``` The `_jupyter_server_extension_points` provides the Python package name @@ -523,7 +526,8 @@ labext_name = "@jupyterlab-examples/server-extension" data_files_spec = [ ("share/jupyter/labextensions/%s" % labext_name, str(lab_path), "**"), ("share/jupyter/labextensions/%s" % labext_name, str(HERE), "install.json"), - ("etc/jupyter/jupyter_server_config.d", "jupyter-config", "jlab_ext_example.json"), + ("etc/jupyter/jupyter_notebook_config.d", "jupyter-config/jupyter_notebook_config.d", "jlab_ext_example.json"), + ("etc/jupyter/jupyter_server_config.d", "jupyter-config/jupyter_server_config.d", "jlab_ext_example.json"), ] cmdclass = create_cmdclass( @@ -589,7 +593,7 @@ the frontend NPM package needs to be built and inserted in the Python package. T done using a special `cmdclass`: ```py -# setup.py#L38-L45 +# setup.py#L39-L46 cmdclass = create_cmdclass( "jsdeps", package_data_spec=package_data_spec, data_files_spec=data_files_spec @@ -604,7 +608,7 @@ js_command = combine_commands( Basically it will build the frontend NPM package: ```py -# setup.py#L43-L43 +# setup.py#L44-L44 install_npm(HERE, build_cmd="build:prod", npm=["jlpm"]), ``` @@ -647,10 +651,19 @@ done by copying the following JSON file: in the appropriate jupyter folder (`etc/jupyter/jupyter_server_config.d`): +```py +# setup.py#L36-L36 + +("etc/jupyter/jupyter_server_config.d", "jupyter-config/jupyter_server_config.d", "jlab_ext_example.json"), +``` + +For backward compatibility with the classical notebook, the old version of that file is copied in + (`etc/jupyter/jupyter_notebook_config.d`): + ```py # setup.py#L35-L35 -("etc/jupyter/jupyter_server_config.d", "jupyter-config", "jlab_ext_example.json"), +("etc/jupyter/jupyter_notebook_config.d", "jupyter-config/jupyter_notebook_config.d", "jlab_ext_example.json"), ``` ### JupyterLab Extension Manager diff --git a/advanced/server-extension/jlab_ext_example/__init__.py b/advanced/server-extension/jlab_ext_example/__init__.py index 363ba295..f63305e4 100644 --- a/advanced/server-extension/jlab_ext_example/__init__.py +++ b/advanced/server-extension/jlab_ext_example/__init__.py @@ -30,3 +30,6 @@ def _load_jupyter_server_extension(server_app): server_app.log.info( f"Registered jlab_ext_example extension at URL path /{url_path}" ) + +# For backward compatibility with the classical notebook +load_jupyter_server_extension = _load_jupyter_server_extension diff --git a/advanced/server-extension/jupyter-config/jupyter_notebook_config.d/jlab_ext_example.json b/advanced/server-extension/jupyter-config/jupyter_notebook_config.d/jlab_ext_example.json new file mode 100644 index 00000000..26b21bd8 --- /dev/null +++ b/advanced/server-extension/jupyter-config/jupyter_notebook_config.d/jlab_ext_example.json @@ -0,0 +1,7 @@ +{ + "NotebookApp": { + "nbserver_extensions": { + "jlab_ext_example": true + } + } +} diff --git a/advanced/server-extension/jupyter-config/jlab_ext_example.json b/advanced/server-extension/jupyter-config/jupyter_server_config.d/jlab_ext_example.json similarity index 100% rename from advanced/server-extension/jupyter-config/jlab_ext_example.json rename to advanced/server-extension/jupyter-config/jupyter_server_config.d/jlab_ext_example.json diff --git a/advanced/server-extension/setup.py b/advanced/server-extension/setup.py index 0aef8f91..7dff67e0 100644 --- a/advanced/server-extension/setup.py +++ b/advanced/server-extension/setup.py @@ -32,7 +32,8 @@ data_files_spec = [ ("share/jupyter/labextensions/%s" % labext_name, str(lab_path), "**"), ("share/jupyter/labextensions/%s" % labext_name, str(HERE), "install.json"), - ("etc/jupyter/jupyter_server_config.d", "jupyter-config", "jlab_ext_example.json"), + ("etc/jupyter/jupyter_notebook_config.d", "jupyter-config/jupyter_notebook_config.d", "jlab_ext_example.json"), + ("etc/jupyter/jupyter_server_config.d", "jupyter-config/jupyter_server_config.d", "jlab_ext_example.json"), ] cmdclass = create_cmdclass(