-
-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Description
When jupyterlab-collaboration
is installed into a vanilla quay.io/jupyter/minimal-notebook
Docker image, it breaks the notebook editor.
Reproduce
Create the following Dockerfile
:
FROM quay.io/jupyter/minimal-notebook:2025-04-04
RUN pip3 install jupyter-collaboration==4.0.0
Build an image from it:
docker build -t jupyterlab-test .
Run the image:
docker run --rm -it -p 8888:8888 jupyterlab-test
Look for output like the following:
[I 2025-04-08 21:51:46.934 ServerApp] Jupyter Server 2.15.0 is running at:
[I 2025-04-08 21:51:46.934 ServerApp] http://localhost:8888/lab?token=ac3e46008cd908e1b88eb9d7a86d4cbc11ba4d803dc7b40c
Open that URL in your browser.
Expected behavior
Observe that there is no option to open a notebook editor on the Launcher page:

Open your browser devtools. Observe a bunch of warnings and errors like the following:

Context
- Operating System and version: macOS Sequoia 15.4
- Browser and version: Chrome 135
- JupyterLab version: 4.3.6
Troubleshoot Output
$PATH: /opt/conda/bin /opt/conda/condabin /opt/conda/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /binsys.path:
/opt/conda/bin
/opt/conda/lib/python312.zip
/opt/conda/lib/python3.12
/opt/conda/lib/python3.12/lib-dynload
/opt/conda/lib/python3.12/site-packagessys.executable:
/opt/conda/bin/python3.12sys.version:
3.12.9 | packaged by conda-forge | (main, Mar 4 2025, 22:38:05) [GCC 13.3.0]platform.platform():
Linux-6.10.14-linuxkit-aarch64-with-glibc2.39which -a jupyter:
/opt/conda/bin/jupyter
/opt/conda/bin/jupyterpip list:
Package Version
------------------------- --------------
alembic 1.15.2
annotated-types 0.7.0
anyio 4.9.0
archspec 0.2.5
argon2-cffi 23.1.0
argon2-cffi-bindings 21.2.0
arrow 1.3.0
asttokens 3.0.0
async_generator 1.10
async-lru 2.0.5
attrs 25.3.0
babel 2.17.0
beautifulsoup4 4.13.3
bleach 6.2.0
blinker 1.9.0
boltons 24.0.0
Brotli 1.1.0
cached-property 1.5.2
certifi 2025.1.31
certipy 0.2.2
cffi 1.17.1
charset-normalizer 3.4.1
colorama 0.4.6
comm 0.2.2
conda 25.3.1
conda-libmamba-solver 25.3.0
conda-package-handling 2.4.0
conda_package_streaming 0.11.0
cryptography 44.0.2
debugpy 1.8.13
decorator 5.2.1
defusedxml 0.7.1
distro 1.9.0
exceptiongroup 1.2.2
executing 2.1.0
fastjsonschema 2.21.1
fqdn 1.5.1
frozendict 2.4.6
greenlet 3.1.1
h11 0.14.0
h2 4.2.0
hpack 4.1.0
httpcore 1.0.7
httpx 0.28.1
hyperframe 6.1.0
idna 3.10
importlib_metadata 8.6.1
importlib_resources 6.5.2
ipykernel 6.29.5
ipython 9.0.2
ipython_genutils 0.2.0
ipython_pygments_lexers 1.1.1
isoduration 20.11.0
jedi 0.19.2
Jinja2 3.1.6
json5 0.12.0
jsonpatch 1.33
jsonpointer 3.0.0
jsonschema 4.23.0
jsonschema-specifications 2024.10.1
jupyter_client 8.6.3
jupyter-collaboration 4.0.0
jupyter-collaboration-ui 2.0.0
jupyter_core 5.7.2
jupyter-docprovider 2.0.0
jupyter-events 0.12.0
jupyter-lsp 2.2.5
jupyter_server 2.15.0
jupyter_server_fileid 0.9.3
jupyter_server_terminals 0.5.3
jupyter-server-ydoc 2.0.0
jupyter-ydoc 3.0.3
jupyterhub 5.2.1
jupyterlab 4.3.6
jupyterlab_pygments 0.3.0
jupyterlab_server 2.27.3
libmambapy 2.0.8
Mako 1.3.9
MarkupSafe 3.0.2
matplotlib-inline 0.1.7
menuinst 2.2.0
mistune 3.1.3
nbclassic 1.2.0
nbclient 0.10.2
nbconvert 7.16.6
nbformat 5.10.4
nest_asyncio 1.6.0
notebook 7.3.3
notebook_shim 0.2.4
oauthlib 3.2.2
overrides 7.7.0
packaging 24.2
pamela 1.2.0
pandocfilters 1.5.0
parso 0.8.4
pexpect 4.9.0
pickleshare 0.7.5
pip 25.0.1
pkgutil_resolve_name 1.3.10
platformdirs 4.3.7
pluggy 1.5.0
prometheus_client 0.21.1
prompt_toolkit 3.0.50
psutil 7.0.0
ptyprocess 0.7.0
pure_eval 0.2.3
pycosat 0.6.6
pycparser 2.22
pycrdt 0.12.11
pycrdt-websocket 0.15.4
pydantic 2.11.2
pydantic_core 2.33.1
Pygments 2.19.1
PyJWT 2.10.1
PySocks 1.7.1
python-dateutil 2.9.0.post0
python-json-logger 2.0.7
pytz 2025.2
PyYAML 6.0.2
pyzmq 26.3.0
referencing 0.36.2
requests 2.32.3
rfc3339_validator 0.1.4
rfc3986-validator 0.1.1
rpds-py 0.24.0
ruamel.yaml 0.18.10
ruamel.yaml.clib 0.2.8
Send2Trash 1.8.3
setuptools 75.8.2
six 1.17.0
sniffio 1.3.1
soupsieve 2.5
SQLAlchemy 2.0.40
sqlite-anyio 0.2.3
stack_data 0.6.3
terminado 0.18.1
tinycss2 1.4.0
tomli 2.2.1
tornado 6.4.2
tqdm 4.67.1
traitlets 5.14.3
truststore 0.10.1
types-python-dateutil 2.9.0.20241206
typing_extensions 4.13.0
typing-inspection 0.4.0
typing_utils 0.1.0
uri-template 1.3.0
urllib3 2.3.0
wcwidth 0.2.13
webcolors 24.11.1
webencodings 0.5.1
websocket-client 1.8.0
wheel 0.45.1
zipp 3.21.0
zstandard 0.23.0conda list:
# packages in environment at /opt/conda:
#
# Name Version Build Channel
_openmp_mutex 4.5 2_gnu conda-forge
alembic 1.15.2 pyhd8ed1ab_0 conda-forge
annotated-types 0.7.0 pyhd8ed1ab_1 conda-forge
anyio 4.9.0 pyh29332c3_0 conda-forge
archspec 0.2.5 pyhd8ed1ab_0 conda-forge
argon2-cffi 23.1.0 pyhd8ed1ab_1 conda-forge
argon2-cffi-bindings 21.2.0 py312hb2c0f52_5 conda-forge
arrow 1.3.0 pyhd8ed1ab_1 conda-forge
asttokens 3.0.0 pyhd8ed1ab_1 conda-forge
async-lru 2.0.5 pyh29332c3_0 conda-forge
async_generator 1.10 pyhd8ed1ab_2 conda-forge
attrs 25.3.0 pyh71513ae_0 conda-forge
babel 2.17.0 pyhd8ed1ab_0 conda-forge
beautifulsoup4 4.13.3 pyha770c72_0 conda-forge
bleach 6.2.0 pyh29332c3_4 conda-forge
bleach-with-css 6.2.0 h82add2a_4 conda-forge
blinker 1.9.0 pyhff2d567_0 conda-forge
boltons 24.0.0 pyhd8ed1ab_1 conda-forge
brotli-python 1.1.0 py312h6f74592_2 conda-forge
bzip2 1.0.8 h68df207_7 conda-forge
c-ares 1.34.4 h86ecc28_0 conda-forge
ca-certificates 2025.1.31 hcefe29a_0 conda-forge
cached-property 1.5.2 hd8ed1ab_1 conda-forge
cached_property 1.5.2 pyha770c72_1 conda-forge
certifi 2025.1.31 pyhd8ed1ab_0 conda-forge
certipy 0.2.2 pyhd8ed1ab_0 conda-forge
cffi 1.17.1 py312hac81daf_0 conda-forge
charset-normalizer 3.4.1 pyhd8ed1ab_0 conda-forge
colorama 0.4.6 pyhd8ed1ab_1 conda-forge
comm 0.2.2 pyhd8ed1ab_1 conda-forge
conda 25.3.1 py312h996f985_0 conda-forge
conda-libmamba-solver 25.3.0 pyhd8ed1ab_0 conda-forge
conda-package-handling 2.4.0 pyh7900ff3_2 conda-forge
conda-package-streaming 0.11.0 pyhd8ed1ab_1 conda-forge
cpp-expected 1.1.0 h4c384f3_0 conda-forge
cryptography 44.0.2 py312he723553_0 conda-forge
debugpy 1.8.13 py312h6f74592_0 conda-forge
decorator 5.2.1 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
distro 1.9.0 pyhd8ed1ab_1 conda-forge
exceptiongroup 1.2.2 pyhd8ed1ab_1 conda-forge
executing 2.1.0 pyhd8ed1ab_1 conda-forge
fmt 11.1.4 h97e1849_1 conda-forge
fqdn 1.5.1 pyhd8ed1ab_1 conda-forge
frozendict 2.4.6 py312hb2c0f52_0 conda-forge
greenlet 3.1.1 py312h6f74592_1 conda-forge
h11 0.14.0 pyhd8ed1ab_1 conda-forge
h2 4.2.0 pyhd8ed1ab_0 conda-forge
hpack 4.1.0 pyhd8ed1ab_0 conda-forge
httpcore 1.0.7 pyh29332c3_1 conda-forge
httpx 0.28.1 pyhd8ed1ab_0 conda-forge
hyperframe 6.1.0 pyhd8ed1ab_0 conda-forge
icu 75.1 hf9b3779_0 conda-forge
idna 3.10 pyhd8ed1ab_1 conda-forge
importlib-metadata 8.6.1 pyha770c72_0 conda-forge
importlib_resources 6.5.2 pyhd8ed1ab_0 conda-forge
ipykernel 6.29.5 pyh3099207_0 conda-forge
ipython 9.0.2 pyhfb0248b_0 conda-forge
ipython_genutils 0.2.0 pyhd8ed1ab_2 conda-forge
ipython_pygments_lexers 1.1.1 pyhd8ed1ab_0 conda-forge
isoduration 20.11.0 pyhd8ed1ab_1 conda-forge
jedi 0.19.2 pyhd8ed1ab_1 conda-forge
jinja2 3.1.6 pyhd8ed1ab_0 conda-forge
json5 0.12.0 pyhd8ed1ab_0 conda-forge
jsonpatch 1.33 pyhd8ed1ab_1 conda-forge
jsonpointer 3.0.0 py312h996f985_1 conda-forge
jsonschema 4.23.0 pyhd8ed1ab_1 conda-forge
jsonschema-specifications 2024.10.1 pyhd8ed1ab_1 conda-forge
jsonschema-with-format-nongpl 4.23.0 hd8ed1ab_1 conda-forge
jupyter-collaboration 4.0.0 pypi_0 pypi
jupyter-collaboration-ui 2.0.0 pypi_0 pypi
jupyter-docprovider 2.0.0 pypi_0 pypi
jupyter-lsp 2.2.5 pyhd8ed1ab_1 conda-forge
jupyter-server-fileid 0.9.3 pypi_0 pypi
jupyter-server-ydoc 2.0.0 pypi_0 pypi
jupyter-ydoc 3.0.3 pypi_0 pypi
jupyter_client 8.6.3 pyhd8ed1ab_1 conda-forge
jupyter_core 5.7.2 pyh31011fe_1 conda-forge
jupyter_events 0.12.0 pyh29332c3_0 conda-forge
jupyter_server 2.15.0 pyhd8ed1ab_0 conda-forge
jupyter_server_terminals 0.5.3 pyhd8ed1ab_1 conda-forge
jupyterhub-base 5.2.1 pyh31011fe_0 conda-forge
jupyterhub-singleuser 5.2.1 pyh31011fe_0 conda-forge
jupyterlab 4.3.6 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.3.0 pyhd8ed1ab_2 conda-forge
jupyterlab_server 2.27.3 pyhd8ed1ab_1 conda-forge
keyutils 1.6.1 h4e544f5_0 conda-forge
krb5 1.21.3 h50a48e9_0 conda-forge
ld_impl_linux-aarch64 2.43 h80caac9_4 conda-forge
libarchive 3.7.7 h6223a6c_3 conda-forge
libcurl 8.13.0 h6702fde_0 conda-forge
libedit 3.1.20250104 pl5321h976ea20_0 conda-forge
libev 4.33 h31becfc_2 conda-forge
libexpat 2.7.0 h5ad3122_0 conda-forge
libffi 3.4.6 he21f813_1 conda-forge
libgcc 14.2.0 he277a41_2 conda-forge
libgcc-ng 14.2.0 he9431aa_2 conda-forge
libgomp 14.2.0 he277a41_2 conda-forge
libiconv 1.18 hc99b53d_1 conda-forge
liblzma 5.6.4 h86ecc28_0 conda-forge
libmamba 2.0.8 hc3f49f9_2 conda-forge
libmambapy 2.0.8 py312h6af631f_2 conda-forge
libnghttp2 1.64.0 hc8609a4_0 conda-forge
libnsl 2.0.1 h31becfc_0 conda-forge
libsodium 1.0.20 h68df207_0 conda-forge
libsolv 0.7.30 h62756fc_0 conda-forge
libsqlite 3.49.1 h5eb1b54_2 conda-forge
libssh2 1.11.1 ha41c0db_0 conda-forge
libstdcxx 14.2.0 h3f4de04_2 conda-forge
libstdcxx-ng 14.2.0 hf1166c9_2 conda-forge
libuuid 2.38.1 hb4cce97_0 conda-forge
libxcrypt 4.4.36 h31becfc_1 conda-forge
libxml2 2.13.7 h2e0c361_0 conda-forge
libzlib 1.3.1 h86ecc28_2 conda-forge
lz4-c 1.10.0 h5ad3122_1 conda-forge
lzo 2.10 h31becfc_1001 conda-forge
mako 1.3.9 pyhd8ed1ab_0 conda-forge
mamba 2.0.8 h98989f4_2 conda-forge
markupsafe 3.0.2 py312h74ce7d3_1 conda-forge
matplotlib-inline 0.1.7 pyhd8ed1ab_1 conda-forge
menuinst 2.2.0 py312h996f985_0 conda-forge
mistune 3.1.3 pyh29332c3_0 conda-forge
nbclassic 1.2.0 pyhd8ed1ab_0 conda-forge
nbclient 0.10.2 pyhd8ed1ab_0 conda-forge
nbconvert-core 7.16.6 pyh29332c3_0 conda-forge
nbformat 5.10.4 pyhd8ed1ab_1 conda-forge
ncurses 6.5 ha32ae93_3 conda-forge
nest-asyncio 1.6.0 pyhd8ed1ab_1 conda-forge
nlohmann_json 3.11.3 h0a1ffab_1 conda-forge
notebook 7.3.3 pyhd8ed1ab_0 conda-forge
notebook-shim 0.2.4 pyhd8ed1ab_1 conda-forge
oauthlib 3.2.2 pyhd8ed1ab_1 conda-forge
openssl 3.4.1 hd08dc88_0 conda-forge
overrides 7.7.0 pyhd8ed1ab_1 conda-forge
packaging 24.2 pyhd8ed1ab_2 conda-forge
pamela 1.2.0 pyhd8ed1ab_1 conda-forge
pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge
parso 0.8.4 pyhd8ed1ab_1 conda-forge
pexpect 4.9.0 pyhd8ed1ab_1 conda-forge
pickleshare 0.7.5 pyhd8ed1ab_1004 conda-forge
pip 25.0.1 pyh8b19718_0 conda-forge
pkgutil-resolve-name 1.3.10 pyhd8ed1ab_2 conda-forge
platformdirs 4.3.7 pyh29332c3_0 conda-forge
pluggy 1.5.0 pyhd8ed1ab_1 conda-forge
prometheus_client 0.21.1 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.50 pyha770c72_0 conda-forge
psutil 7.0.0 py312hb2c0f52_0 conda-forge
ptyprocess 0.7.0 pyhd8ed1ab_1 conda-forge
pure_eval 0.2.3 pyhd8ed1ab_1 conda-forge
pybind11-abi 4 hd8ed1ab_3 conda-forge
pycosat 0.6.6 py312hb2c0f52_2 conda-forge
pycparser 2.22 pyh29332c3_1 conda-forge
pycrdt 0.12.11 pypi_0 pypi
pycrdt-websocket 0.15.4 pypi_0 pypi
pydantic 2.11.2 pyh3cfb1c2_0 conda-forge
pydantic-core 2.33.1 py312h8cbf658_0 conda-forge
pygments 2.19.1 pyhd8ed1ab_0 conda-forge
pyjwt 2.10.1 pyhd8ed1ab_0 conda-forge
pysocks 1.7.1 pyha55dd90_7 conda-forge
python 3.12.9 h1683364_1_cpython conda-forge
python-dateutil 2.9.0.post0 pyhff2d567_1 conda-forge
python-fastjsonschema 2.21.1 pyhd8ed1ab_0 conda-forge
python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge
python_abi 3.12 6_cp312 conda-forge
pytz 2025.2 pyhd8ed1ab_0 conda-forge
pyyaml 6.0.2 py312hcc812fe_2 conda-forge
pyzmq 26.3.0 py312h2427ae1_0 conda-forge
readline 8.2 h8382b9d_2 conda-forge
referencing 0.36.2 pyh29332c3_0 conda-forge
reproc 14.2.4.post0 h31becfc_1 conda-forge
reproc-cpp 14.2.4.post0 h2f0025b_1 conda-forge
requests 2.32.3 pyhd8ed1ab_1 conda-forge
rfc3339-validator 0.1.4 pyhd8ed1ab_1 conda-forge
rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge
rpds-py 0.24.0 py312he7a34ca_0 conda-forge
ruamel.yaml 0.18.10 py312hb2c0f52_0 conda-forge
ruamel.yaml.clib 0.2.8 py312hb2c0f52_1 conda-forge
send2trash 1.8.3 pyh0d859eb_1 conda-forge
setuptools 75.8.2 pyhff2d567_0 conda-forge
simdjson 3.12.3 h17cf362_0 conda-forge
six 1.17.0 pyhd8ed1ab_0 conda-forge
sniffio 1.3.1 pyhd8ed1ab_1 conda-forge
soupsieve 2.5 pyhd8ed1ab_1 conda-forge
spdlog 1.15.2 h7344f28_0 conda-forge
sqlalchemy 2.0.40 py312h52516f5_0 conda-forge
sqlite-anyio 0.2.3 pypi_0 pypi
stack_data 0.6.3 pyhd8ed1ab_1 conda-forge
terminado 0.18.1 pyh0d859eb_0 conda-forge
tinycss2 1.4.0 pyhd8ed1ab_0 conda-forge
tk 8.6.13 h194ca79_0 conda-forge
tomli 2.2.1 pyhd8ed1ab_1 conda-forge
tornado 6.4.2 py312h52516f5_0 conda-forge
tqdm 4.67.1 pyhd8ed1ab_1 conda-forge
traitlets 5.14.3 pyhd8ed1ab_1 conda-forge
truststore 0.10.1 pyh29332c3_0 conda-forge
types-python-dateutil 2.9.0.20241206 pyhd8ed1ab_0 conda-forge
typing-extensions 4.13.0 h9fa5a19_1 conda-forge
typing-inspection 0.4.0 pyhd8ed1ab_0 conda-forge
typing_extensions 4.13.0 pyh29332c3_1 conda-forge
typing_utils 0.1.0 pyhd8ed1ab_1 conda-forge
tzdata 2025b h78e105d_0 conda-forge
uri-template 1.3.0 pyhd8ed1ab_1 conda-forge
urllib3 2.3.0 pyhd8ed1ab_0 conda-forge
wcwidth 0.2.13 pyhd8ed1ab_1 conda-forge
webcolors 24.11.1 pyhd8ed1ab_0 conda-forge
webencodings 0.5.1 pyhd8ed1ab_3 conda-forge
websocket-client 1.8.0 pyhd8ed1ab_1 conda-forge
wheel 0.45.1 pyhd8ed1ab_1 conda-forge
yaml 0.2.5 hf897c2e_2 conda-forge
yaml-cpp 0.8.0 h2f0025b_0 conda-forge
zeromq 4.3.5 h5efb499_7 conda-forge
zipp 3.21.0 pyhd8ed1ab_1 conda-forge
zstandard 0.23.0 py312hb2c0f52_1 conda-forge
zstd 1.5.7 hbcf94c1_2 conda-forgeconda env:
name: base
channels:
- conda-forge
dependencies:
- _openmp_mutex=4.5=2_gnu
- alembic=1.15.2=pyhd8ed1ab_0
- annotated-types=0.7.0=pyhd8ed1ab_1
- anyio=4.9.0=pyh29332c3_0
- archspec=0.2.5=pyhd8ed1ab_0
- argon2-cffi=23.1.0=pyhd8ed1ab_1
- argon2-cffi-bindings=21.2.0=py312hb2c0f52_5
- arrow=1.3.0=pyhd8ed1ab_1
- asttokens=3.0.0=pyhd8ed1ab_1
- async-lru=2.0.5=pyh29332c3_0
- async_generator=1.10=pyhd8ed1ab_2
- attrs=25.3.0=pyh71513ae_0
- babel=2.17.0=pyhd8ed1ab_0
- beautifulsoup4=4.13.3=pyha770c72_0
- bleach=6.2.0=pyh29332c3_4
- bleach-with-css=6.2.0=h82add2a_4
- blinker=1.9.0=pyhff2d567_0
- boltons=24.0.0=pyhd8ed1ab_1
- brotli-python=1.1.0=py312h6f74592_2
- bzip2=1.0.8=h68df207_7
- c-ares=1.34.4=h86ecc28_0
- ca-certificates=2025.1.31=hcefe29a_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- certifi=2025.1.31=pyhd8ed1ab_0
- certipy=0.2.2=pyhd8ed1ab_0
- cffi=1.17.1=py312hac81daf_0
- charset-normalizer=3.4.1=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_1
- comm=0.2.2=pyhd8ed1ab_1
- conda=25.3.1=py312h996f985_0
- conda-libmamba-solver=25.3.0=pyhd8ed1ab_0
- conda-package-handling=2.4.0=pyh7900ff3_2
- conda-package-streaming=0.11.0=pyhd8ed1ab_1
- cpp-expected=1.1.0=h4c384f3_0
- cryptography=44.0.2=py312he723553_0
- debugpy=1.8.13=py312h6f74592_0
- decorator=5.2.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- distro=1.9.0=pyhd8ed1ab_1
- exceptiongroup=1.2.2=pyhd8ed1ab_1
- executing=2.1.0=pyhd8ed1ab_1
- fmt=11.1.4=h97e1849_1
- fqdn=1.5.1=pyhd8ed1ab_1
- frozendict=2.4.6=py312hb2c0f52_0
- greenlet=3.1.1=py312h6f74592_1
- h11=0.14.0=pyhd8ed1ab_1
- h2=4.2.0=pyhd8ed1ab_0
- hpack=4.1.0=pyhd8ed1ab_0
- httpcore=1.0.7=pyh29332c3_1
- httpx=0.28.1=pyhd8ed1ab_0
- hyperframe=6.1.0=pyhd8ed1ab_0
- icu=75.1=hf9b3779_0
- idna=3.10=pyhd8ed1ab_1
- importlib-metadata=8.6.1=pyha770c72_0
- importlib_resources=6.5.2=pyhd8ed1ab_0
- ipykernel=6.29.5=pyh3099207_0
- ipython=9.0.2=pyhfb0248b_0
- ipython_genutils=0.2.0=pyhd8ed1ab_2
- ipython_pygments_lexers=1.1.1=pyhd8ed1ab_0
- isoduration=20.11.0=pyhd8ed1ab_1
- jedi=0.19.2=pyhd8ed1ab_1
- jinja2=3.1.6=pyhd8ed1ab_0
- json5=0.12.0=pyhd8ed1ab_0
- jsonpatch=1.33=pyhd8ed1ab_1
- jsonpointer=3.0.0=py312h996f985_1
- jsonschema=4.23.0=pyhd8ed1ab_1
- jsonschema-specifications=2024.10.1=pyhd8ed1ab_1
- jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_1
- jupyter-lsp=2.2.5=pyhd8ed1ab_1
- jupyter_client=8.6.3=pyhd8ed1ab_1
- jupyter_core=5.7.2=pyh31011fe_1
- jupyter_events=0.12.0=pyh29332c3_0
- jupyter_server=2.15.0=pyhd8ed1ab_0
- jupyter_server_terminals=0.5.3=pyhd8ed1ab_1
- jupyterhub-base=5.2.1=pyh31011fe_0
- jupyterhub-singleuser=5.2.1=pyh31011fe_0
- jupyterlab=4.3.6=pyhd8ed1ab_0
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_2
- jupyterlab_server=2.27.3=pyhd8ed1ab_1
- keyutils=1.6.1=h4e544f5_0
- krb5=1.21.3=h50a48e9_0
- ld_impl_linux-aarch64=2.43=h80caac9_4
- libarchive=3.7.7=h6223a6c_3
- libcurl=8.13.0=h6702fde_0
- libedit=3.1.20250104=pl5321h976ea20_0
- libev=4.33=h31becfc_2
- libexpat=2.7.0=h5ad3122_0
- libffi=3.4.6=he21f813_1
- libgcc=14.2.0=he277a41_2
- libgcc-ng=14.2.0=he9431aa_2
- libgomp=14.2.0=he277a41_2
- libiconv=1.18=hc99b53d_1
- liblzma=5.6.4=h86ecc28_0
- libmamba=2.0.8=hc3f49f9_2
- libmambapy=2.0.8=py312h6af631f_2
- libnghttp2=1.64.0=hc8609a4_0
- libnsl=2.0.1=h31becfc_0
- libsodium=1.0.20=h68df207_0
- libsolv=0.7.30=h62756fc_0
- libsqlite=3.49.1=h5eb1b54_2
- libssh2=1.11.1=ha41c0db_0
- libstdcxx=14.2.0=h3f4de04_2
- libstdcxx-ng=14.2.0=hf1166c9_2
- libuuid=2.38.1=hb4cce97_0
- libxcrypt=4.4.36=h31becfc_1
- libxml2=2.13.7=h2e0c361_0
- libzlib=1.3.1=h86ecc28_2
- lz4-c=1.10.0=h5ad3122_1
- lzo=2.10=h31becfc_1001
- mako=1.3.9=pyhd8ed1ab_0
- mamba=2.0.8=h98989f4_2
- markupsafe=3.0.2=py312h74ce7d3_1
- matplotlib-inline=0.1.7=pyhd8ed1ab_1
- menuinst=2.2.0=py312h996f985_0
- mistune=3.1.3=pyh29332c3_0
- nbclassic=1.2.0=pyhd8ed1ab_0
- nbclient=0.10.2=pyhd8ed1ab_0
- nbconvert-core=7.16.6=pyh29332c3_0
- nbformat=5.10.4=pyhd8ed1ab_1
- ncurses=6.5=ha32ae93_3
- nest-asyncio=1.6.0=pyhd8ed1ab_1
- nlohmann_json=3.11.3=h0a1ffab_1
- notebook=7.3.3=pyhd8ed1ab_0
- notebook-shim=0.2.4=pyhd8ed1ab_1
- oauthlib=3.2.2=pyhd8ed1ab_1
- openssl=3.4.1=hd08dc88_0
- overrides=7.7.0=pyhd8ed1ab_1
- packaging=24.2=pyhd8ed1ab_2
- pamela=1.2.0=pyhd8ed1ab_1
- pandocfilters=1.5.0=pyhd8ed1ab_0
- parso=0.8.4=pyhd8ed1ab_1
- pexpect=4.9.0=pyhd8ed1ab_1
- pickleshare=0.7.5=pyhd8ed1ab_1004
- pip=25.0.1=pyh8b19718_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_2
- platformdirs=4.3.7=pyh29332c3_0
- pluggy=1.5.0=pyhd8ed1ab_1
- prometheus_client=0.21.1=pyhd8ed1ab_0
- prompt-toolkit=3.0.50=pyha770c72_0
- psutil=7.0.0=py312hb2c0f52_0
- ptyprocess=0.7.0=pyhd8ed1ab_1
- pure_eval=0.2.3=pyhd8ed1ab_1
- pybind11-abi=4=hd8ed1ab_3
- pycosat=0.6.6=py312hb2c0f52_2
- pycparser=2.22=pyh29332c3_1
- pydantic=2.11.2=pyh3cfb1c2_0
- pydantic-core=2.33.1=py312h8cbf658_0
- pygments=2.19.1=pyhd8ed1ab_0
- pyjwt=2.10.1=pyhd8ed1ab_0
- pysocks=1.7.1=pyha55dd90_7
- python=3.12.9=h1683364_1_cpython
- python-dateutil=2.9.0.post0=pyhff2d567_1
- python-fastjsonschema=2.21.1=pyhd8ed1ab_0
- python-json-logger=2.0.7=pyhd8ed1ab_0
- python_abi=3.12=6_cp312
- pytz=2025.2=pyhd8ed1ab_0
- pyyaml=6.0.2=py312hcc812fe_2
- pyzmq=26.3.0=py312h2427ae1_0
- readline=8.2=h8382b9d_2
- referencing=0.36.2=pyh29332c3_0
- reproc=14.2.4.post0=h31becfc_1
- reproc-cpp=14.2.4.post0=h2f0025b_1
- requests=2.32.3=pyhd8ed1ab_1
- rfc3339-validator=0.1.4=pyhd8ed1ab_1
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
- rpds-py=0.24.0=py312he7a34ca_0
- ruamel.yaml=0.18.10=py312hb2c0f52_0
- ruamel.yaml.clib=0.2.8=py312hb2c0f52_1
- send2trash=1.8.3=pyh0d859eb_1
- setuptools=75.8.2=pyhff2d567_0
- simdjson=3.12.3=h17cf362_0
- six=1.17.0=pyhd8ed1ab_0
- sniffio=1.3.1=pyhd8ed1ab_1
- soupsieve=2.5=pyhd8ed1ab_1
- spdlog=1.15.2=h7344f28_0
- sqlalchemy=2.0.40=py312h52516f5_0
- stack_data=0.6.3=pyhd8ed1ab_1
- terminado=0.18.1=pyh0d859eb_0
- tinycss2=1.4.0=pyhd8ed1ab_0
- tk=8.6.13=h194ca79_0
- tomli=2.2.1=pyhd8ed1ab_1
- tornado=6.4.2=py312h52516f5_0
- tqdm=4.67.1=pyhd8ed1ab_1
- traitlets=5.14.3=pyhd8ed1ab_1
- truststore=0.10.1=pyh29332c3_0
- types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0
- typing-extensions=4.13.0=h9fa5a19_1
- typing-inspection=0.4.0=pyhd8ed1ab_0
- typing_extensions=4.13.0=pyh29332c3_1
- typing_utils=0.1.0=pyhd8ed1ab_1
- tzdata=2025b=h78e105d_0
- uri-template=1.3.0=pyhd8ed1ab_1
- urllib3=2.3.0=pyhd8ed1ab_0
- wcwidth=0.2.13=pyhd8ed1ab_1
- webcolors=24.11.1=pyhd8ed1ab_0
- webencodings=0.5.1=pyhd8ed1ab_3
- websocket-client=1.8.0=pyhd8ed1ab_1
- wheel=0.45.1=pyhd8ed1ab_1
- yaml=0.2.5=hf897c2e_2
- yaml-cpp=0.8.0=h2f0025b_0
- zeromq=4.3.5=h5efb499_7
- zipp=3.21.0=pyhd8ed1ab_1
- zstandard=0.23.0=py312hb2c0f52_1
- zstd=1.5.7=hbcf94c1_2
- pip:
- jupyter-collaboration==4.0.0
- jupyter-collaboration-ui==2.0.0
- jupyter-docprovider==2.0.0
- jupyter-server-fileid==0.9.3
- jupyter-server-ydoc==2.0.0
- jupyter-ydoc==3.0.3
- pycrdt==0.12.11
- pycrdt-websocket==0.15.4
- sqlite-anyio==0.2.3
prefix: /opt/conda
Command Line Output
[I 2025-04-08 21:54:54.681 ServerApp] jupyter_lsp | extension was successfully linked. [I 2025-04-08 21:54:54.682 ServerApp] jupyter_server_fileid | extension was successfully linked. [I 2025-04-08 21:54:54.684 ServerApp] jupyter_server_terminals | extension was successfully linked. [I 2025-04-08 21:54:54.685 ServerApp] jupyter_server_ydoc | extension was successfully linked. [I 2025-04-08 21:54:54.687 ServerApp] jupyterlab | extension was successfully linked. [I 2025-04-08 21:54:54.688 ServerApp] nbclassic | extension was successfully linked. [I 2025-04-08 21:54:54.690 ServerApp] notebook | extension was successfully linked. [I 2025-04-08 21:54:54.691 ServerApp] Writing Jupyter server cookie secret to /home/jovyan/.local/share/jupyter/runtime/jupyter_cookie_secret [I 2025-04-08 21:54:54.796 ServerApp] notebook_shim | extension was successfully linked. [W 2025-04-08 21:54:54.802 ServerApp] WARNING: The Jupyter server is listening on all IP addresses and not using encryption. This is not recommended. [I 2025-04-08 21:54:54.802 ServerApp] notebook_shim | extension was successfully loaded. [I 2025-04-08 21:54:54.803 ServerApp] jupyter_lsp | extension was successfully loaded. [I 2025-04-08 21:54:54.803 FileIdExtension] Configured File ID manager: ArbitraryFileIdManager [I 2025-04-08 21:54:54.804 FileIdExtension] ArbitraryFileIdManager : Configured root dir: /home/jovyan [I 2025-04-08 21:54:54.804 FileIdExtension] ArbitraryFileIdManager : Configured database path: /home/jovyan/.local/share/jupyter/file_id_manager.db [I 2025-04-08 21:54:54.804 FileIdExtension] ArbitraryFileIdManager : Successfully connected to database file. [I 2025-04-08 21:54:54.804 FileIdExtension] ArbitraryFileIdManager : Creating File ID tables and indices with journal_mode = DELETE [I 2025-04-08 21:54:54.809 FileIdExtension] Attached event listeners. [I 2025-04-08 21:54:54.809 ServerApp] jupyter_server_fileid | extension was successfully loaded. [I 2025-04-08 21:54:54.810 ServerApp] jupyter_server_terminals | extension was successfully loaded. [I 2025-04-08 21:54:54.812 ServerApp] jupyter_server_ydoc | extension was successfully loaded. [I 2025-04-08 21:54:54.813 LabApp] JupyterLab extension loaded from /opt/conda/lib/python3.12/site-packages/jupyterlab [I 2025-04-08 21:54:54.813 LabApp] JupyterLab application directory is /opt/conda/share/jupyter/lab [I 2025-04-08 21:54:54.813 LabApp] Extension Manager is 'pypi'. [I 2025-04-08 21:54:54.851 ServerApp] jupyterlab | extension was successfully loaded.
| | | |_ __ | | | | ___
| || | ' // _
| / -)
_/| ./_,_,|____|
|_|Read the migration plan to Notebook 7 to learn about the new features and the actions to take if you are using extensions.
https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html
Please note that updating to Notebook 7 might break some of your extensions.
[I 2025-04-08 21:54:54.853 ServerApp] nbclassic | extension was successfully loaded.
[I 2025-04-08 21:54:54.854 ServerApp] notebook | extension was successfully loaded.
[I 2025-04-08 21:54:54.854 ServerApp] Serving notebooks from local directory: /home/jovyan
[I 2025-04-08 21:54:54.854 ServerApp] Jupyter Server 2.15.0 is running at:
[I 2025-04-08 21:54:54.854 ServerApp] http://localhost:8888/lab?token=25b0ffa82ce6f94136155caf2f875fd20029536d2e4c1d11
[I 2025-04-08 21:54:54.854 ServerApp] http://127.0.0.1:8888/lab?token=25b0ffa82ce6f94136155caf2f875fd20029536d2e4c1d11
[I 2025-04-08 21:54:54.855 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2025-04-08 21:54:54.856 ServerApp]To access the server, open this file in a browser: file:///home/jovyan/.local/share/jupyter/runtime/jpserver-121-open.html Or copy and paste one of these URLs: http://localhost:8888/lab?token=25b0ffa82ce6f94136155caf2f875fd20029536d2e4c1d11 http://127.0.0.1:8888/lab?token=25b0ffa82ce6f94136155caf2f875fd20029536d2e4c1d11
[I 2025-04-08 21:54:54.864 ServerApp] Skipped non-installed server(s): bash-language-server, dockerfile-language-server-nodejs, javascript-typescript-langserver, jedi-language-server, julia-language-server, pyright, python-language-server, python-lsp-server, r-languageserver, sql-language-server, texlab, typescript-language-server, unified-language-server, vscode-css-languageserver-bin, vscode-html-languageserver-bin, vscode-json-languageserver-bin, yaml-language-server
Browser Output
Unsatisfied version 6.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/coreutils (required ^6.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/ui-components (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/translation (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.4.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/apputils (required ^4.5.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 7.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/services (required ^7.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.4.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/apputils (required ^4.5.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/translation (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 6.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/coreutils (required ^6.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 7.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/services (required ^7.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/ui-components (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/codemirror (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/statedb (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/logconsole (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/statusbar (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/notebook (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/settingregistry (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Unsatisfied version 4.3.6 from @jupyterlab/application-top of shared singleton module @jupyterlab/fileeditor (required ^4.4.0) overrideMethod @ hook.js:608 hook.js:608 Failed to create module: package: @jupyter/collaboration-extension; module: ./extension overrideMethod @ hook.js:608 hook.js:608 Failed to create module: package: @jupyter/docprovider-extension; module: ./extension overrideMethod @ hook.js:608 hook.js:608 TypeError: Class extends value undefined is not a constructor or null at 240 (240.cc74569552563e7ef963.js?v=cc74569552563e7ef963:1:11405) at x (remoteEntry.eefc7fe0a3fa35fba92b.js:1:792) at remoteEntry.eefc7fe0a3fa35fba92b.js:1:3180 at Object. (remoteEntry.0beed018f87e6ce049a3.js:1:8491) at x (remoteEntry.0beed018f87e6ce049a3.js:1:864) at 4842 (842.0032d4a0fb7e1b1ee1f0.js?v=0032d4a0fb7e1b1ee1f0:1:214) at x (remoteEntry.0beed018f87e6ce049a3.js:1:864) at remoteEntry.0beed018f87e6ce049a3.js:1:333 at $ (6180.344c80c0b5b0ee3721e0.js?v=344c80c0b5b0ee3721e0:1:935) at async Promise.allSettled (index 2) overrideMethod @ hook.js:608 hook.js:608 ReferenceError: Cannot access 'J' before initialization at Module.IForkManagerToken (240.cc74569552563e7ef963.js?v=cc74569552563e7ef963:1:4431) at 703 (703.330942e5b860eabc4225.js?v=330942e5b860eabc4225:1:5262) at x (remoteEntry.eefc7fe0a3fa35fba92b.js:1:792) at remoteEntry.eefc7fe0a3fa35fba92b.js:1:263 at $ (6180.344c80c0b5b0ee3721e0.js?v=344c80c0b5b0ee3721e0:1:935) at async Promise.allSettled (index 3) at async H (6180.344c80c0b5b0ee3721e0.js?v=344c80c0b5b0ee3721e0:1:11056) overrideMethod @ hook.js:608 hook.js:608 TypeError: No provider for: @jupyterlab/notebook:INotebookCellExecutor. at i.resolveRequiredService (jlab_core.a4c5e1f5bac9ba5dc7f6.js?v=a4c5e1f5bac9ba5dc7f6:1:1796706) at jlab_core.a4c5e1f5bac9ba5dc7f6.js?v=a4c5e1f5bac9ba5dc7f6:1:1795240 at Array.map () at i.activatePlugin (jlab_core.a4c5e1f5bac9ba5dc7f6.js?v=a4c5e1f5bac9ba5dc7f6:1:1795227) at i.resolveRequiredService (jlab_core.a4c5e1f5bac9ba5dc7f6.js?v=a4c5e1f5bac9ba5dc7f6:1:1796808) at jlab_core.a4c5e1f5bac9ba5dc7f6.js?v=a4c5e1f5bac9ba5dc7f6:1:1795240 at Array.map () at i.activatePlugin (jlab_core.a4c5e1f5bac9ba5dc7f6.js?v=a4c5e1f5bac9ba5dc7f6:1:1795227) at jlab_core.a4c5e1f5bac9ba5dc7f6.js?v=a4c5e1f5bac9ba5dc7f6:1:1795834 at Array.map ()
Note that if jupyter-collaboration
is not installed, things work as expected.
docker run --rm -it -p 8888:8888 quay.io/jupyter/minimal-notebook:2025-04-04
Again, open JupyterLab in your browser.
Observe that there's now a "Notebook" editor option:

Also observe that the console is not filled with warnings or errors:
