Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Saving notebook omits widget buffers, even when "Save Widget State Automatically" is enabled. #16264

Open
kylebarron opened this issue Apr 29, 2024 · 1 comment
Labels

Comments

@kylebarron
Copy link

Description

Saving notebook omits widget buffers, even when "Save Widget State Automatically" is enabled.

When saving a notebook with an embedded widget, if you want to share this notebook on a sharing site like notebooksharing.space, you want to fully embed the widget in the notebook. It's my understanding that "Save Widget State Automatically" intends to enable this use case.

The widget I develop, Lonboard, uses binary buffers to transfer data from Python to JS. When I save a notebook with a rendered widget, all widget state except the buffers is included in the saved JSON.

This repo (https://github.com/kylebarron/jupyterlab-save-notebook-state-bug-example) includes a reproduction of this.

If you look at example.json (saved from JupyterLab), there are 3 widgets included in the notebook. The third widget (with "_layer_type": "scatterplot") should have a buffers key but it's missing:

image

In contrast, if we use nbconvert to run the notebook, we can see that the buffers key is included:

pixi run python -m nbconvert example.ipynb --to ipynb --stdout --execute > example_nbconvert.ipynb
image

Reproduce

This repo (https://github.com/kylebarron/jupyterlab-save-notebook-state-bug-example) has a pixi lockfile and notebook to reproduce.

  1. Clone the repo.
  2. pixi install
  3. pixi run python -m ipykernel install --user --name "$(basename "$PWD")" to initialize the python kernel
  4. Open JupyterLab from the current environment pixi run jupyter lab
  5. Open and run example.ipynb

Expected behavior

Expected the buffers key of the widget state to be saved.

Context

  • Operating System and version: MacOS 14.4.1
  • Browser and version: Chrome 124.0.6367.78
  • JupyterLab version: 4.1.8
Troubleshoot Output
> pixi run jupyter troubleshoot
/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/bin/python: No module named pip
$PATH:
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/bin
	/Users/kyle/local/micromamba/condabin
	/Users/kyle/.pyenv/shims
	/Users/kyle/.volta/bin
	/Users/kyle/.pixi/bin
	/Users/kyle/.local/bin
	/Users/kyle/local/bin
	/Users/kyle/local/miniconda/bin
	/opt/homebrew/bin
	/opt/homebrew/sbin
	/usr/local/bin
	/System/Cryptexes/App/usr/bin
	/usr/bin
	/bin
	/usr/sbin
	/sbin
	/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
	/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
	/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
	/Applications/quarto/bin
	/Users/kyle/.cargo/bin
	/opt/homebrew/opt/fzf/bin

sys.path:
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/bin
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/lib/python312.zip
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/lib/python3.12
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/lib/python3.12/lib-dynload
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/lib/python3.12/site-packages

sys.executable:
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/bin/python

sys.version:
	3.12.3 | packaged by conda-forge | (main, Apr 15 2024, 18:35:20) [Clang 16.0.6 ]

platform.platform():
	macOS-14.4.1-arm64-arm-64bit

which -a jupyter:
	/Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default/bin/jupyter
	/Users/kyle/.pyenv/shims/jupyter

conda list:
	# packages in environment at /Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default:
	#
	# Name                    Version                   Build  Channel
	anyio                     4.3.0              pyhd8ed1ab_0    conda-forge
	anywidget                 0.9.10             pyhd8ed1ab_0    conda-forge
	appnope                   0.1.4              pyhd8ed1ab_0    conda-forge
	argon2-cffi               23.1.0             pyhd8ed1ab_0    conda-forge
	argon2-cffi-bindings      21.2.0          py312h02f2b3b_4    conda-forge
	arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
	asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
	async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
	attrs                     23.2.0             pyh71513ae_0    conda-forge
	aws-c-auth                0.7.17               h382b9c6_2    conda-forge
	aws-c-cal                 0.6.11               hd34e5fa_0    conda-forge
	aws-c-common              0.9.15               h93a5062_0    conda-forge
	aws-c-compression         0.2.18               hd34e5fa_3    conda-forge
	aws-c-event-stream        0.4.2                h247c08a_8    conda-forge
	aws-c-http                0.8.1               hf9e830b_10    conda-forge
	aws-c-io                  0.14.7               h33d81b3_6    conda-forge
	aws-c-mqtt                0.10.3               h5f4abda_4    conda-forge
	aws-c-s3                  0.5.7                h606a3d2_1    conda-forge
	aws-c-sdkutils            0.1.15               hd34e5fa_3    conda-forge
	aws-checksums             0.1.18               hd34e5fa_3    conda-forge
	aws-crt-cpp               0.26.6               h13f0230_4    conda-forge
	aws-sdk-cpp               1.11.267             h134aaec_6    conda-forge
	azure-core-cpp            1.11.1               he231e37_1    conda-forge
	azure-storage-blobs-cpp   12.10.0              h2ffa867_1    conda-forge
	azure-storage-common-cpp  12.5.0               h09a5875_4    conda-forge
	babel                     2.14.0             pyhd8ed1ab_0    conda-forge
	beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
	bleach                    6.1.0              pyhd8ed1ab_0    conda-forge
	blosc                     1.21.5               h9c252e8_1    conda-forge
	branca                    0.7.2              pyhd8ed1ab_0    conda-forge
	brotli                    1.1.0                hb547adb_1    conda-forge
	brotli-bin                1.1.0                hb547adb_1    conda-forge
	brotli-python             1.1.0           py312h9f69965_1    conda-forge
	bzip2                     1.0.8                h93a5062_5    conda-forge
	c-ares                    1.28.1               h93a5062_0    conda-forge
	ca-certificates           2024.2.2             hf0a4a13_0    conda-forge
	cached-property           1.5.2                hd8ed1ab_1    conda-forge
	cached_property           1.5.2              pyha770c72_1    conda-forge
	cairo                     1.18.0               hd1e100b_0    conda-forge
	certifi                   2024.2.2           pyhd8ed1ab_0    conda-forge
	cffi                      1.16.0          py312h8e38eb3_0    conda-forge
	cfitsio                   4.4.0                h808cd33_1    conda-forge
	charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
	click                     8.1.7           unix_pyh707e725_0    conda-forge
	click-plugins             1.1.1                      py_0    conda-forge
	cligj                     0.7.2              pyhd8ed1ab_1    conda-forge
	comm                      0.2.2              pyhd8ed1ab_0    conda-forge
	contourpy                 1.2.1           py312h0fef576_0    conda-forge
	cycler                    0.12.1             pyhd8ed1ab_0    conda-forge
	debugpy                   1.8.1           py312h20a0b95_0    conda-forge
	decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
	defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
	entrypoints               0.4                pyhd8ed1ab_0    conda-forge
	exceptiongroup            1.2.0              pyhd8ed1ab_2    conda-forge
	executing                 2.0.1              pyhd8ed1ab_0    conda-forge
	expat                     2.6.2                hebf3989_0    conda-forge
	fiona                     1.9.6           py312hd158ed5_0    conda-forge
	fmt                       10.2.1               h2ffa867_0    conda-forge
	folium                    0.16.0             pyhd8ed1ab_0    conda-forge
	font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
	font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
	font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
	font-ttf-ubuntu           0.83                 h77eed37_1    conda-forge
	fontconfig                2.14.2               h82840c6_0    conda-forge
	fonts-conda-ecosystem     1                             0    conda-forge
	fonts-conda-forge         1                             0    conda-forge
	fonttools                 4.51.0          py312he37b823_0    conda-forge
	fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
	freetype                  2.12.1               hadb7bae_2    conda-forge
	freexl                    2.0.0                hfbad9fb_0    conda-forge
	gdal                      3.8.4           py312h56161e1_5    conda-forge
	geopandas                 0.14.4             pyhd8ed1ab_0    conda-forge
	geopandas-base            0.14.4             pyha770c72_0    conda-forge
	geos                      3.12.1               h965bd2d_0    conda-forge
	geotiff                   1.7.1               h7bcba05_15    conda-forge
	gettext                   0.22.5               h8fbad5d_2    conda-forge
	gettext-tools             0.22.5               h8fbad5d_2    conda-forge
	gflags                    2.2.2             hc88da5d_1004    conda-forge
	giflib                    5.2.2                h93a5062_0    conda-forge
	glog                      0.7.0                hc6770e3_0    conda-forge
	h11                       0.14.0             pyhd8ed1ab_0    conda-forge
	h2                        4.1.0              pyhd8ed1ab_0    conda-forge
	hdf4                      4.2.15               h2ee6834_7    conda-forge
	hdf5                      1.14.3          nompi_h5bb55e9_100    conda-forge
	hpack                     4.0.0              pyh9f0ad1d_0    conda-forge
	httpcore                  1.0.5              pyhd8ed1ab_0    conda-forge
	httpx                     0.27.0             pyhd8ed1ab_0    conda-forge
	hyperframe                6.0.1              pyhd8ed1ab_0    conda-forge
	icu                       73.2                 hc8870d7_0    conda-forge
	idna                      3.7                pyhd8ed1ab_0    conda-forge
	importlib-metadata        7.1.0              pyha770c72_0    conda-forge
	importlib_metadata        7.1.0                hd8ed1ab_0    conda-forge
	importlib_resources       6.4.0              pyhd8ed1ab_0    conda-forge
	ipykernel                 6.29.3             pyh3cd1d5f_0    conda-forge
	ipython                   8.22.2             pyh707e725_0    conda-forge
	ipywidgets                8.1.2              pyhd8ed1ab_0    conda-forge
	isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
	jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
	jinja2                    3.1.3              pyhd8ed1ab_0    conda-forge
	joblib                    1.4.0              pyhd8ed1ab_0    conda-forge
	json-c                    0.17                 h40ed0f5_0    conda-forge
	json5                     0.9.25             pyhd8ed1ab_0    conda-forge
	jsonpointer               2.4             py312h81bd7bf_3    conda-forge
	jsonschema                4.21.1             pyhd8ed1ab_0    conda-forge
	jsonschema-specifications 2023.12.1          pyhd8ed1ab_0    conda-forge
	jsonschema-with-format-nongpl 4.21.1             pyhd8ed1ab_0    conda-forge
	jupyter-lsp               2.2.5              pyhd8ed1ab_0    conda-forge
	jupyter_client            8.6.1              pyhd8ed1ab_0    conda-forge
	jupyter_core              5.7.2           py312h81bd7bf_0    conda-forge
	jupyter_events            0.10.0             pyhd8ed1ab_0    conda-forge
	jupyter_server            2.14.0             pyhd8ed1ab_0    conda-forge
	jupyter_server_terminals  0.5.3              pyhd8ed1ab_0    conda-forge
	jupyterlab                4.1.8              pyhd8ed1ab_0    conda-forge
	jupyterlab_pygments       0.3.0              pyhd8ed1ab_1    conda-forge
	jupyterlab_server         2.27.1             pyhd8ed1ab_0    conda-forge
	jupyterlab_widgets        3.0.10             pyhd8ed1ab_0    conda-forge
	kealib                    1.5.3                h210d843_0    conda-forge
	kiwisolver                1.4.5           py312h389731b_1    conda-forge
	krb5                      1.21.2               h92f50d5_0    conda-forge
	lcms2                     2.16                 ha0e7c42_0    conda-forge
	lerc                      4.0.0                h9a09cb3_0    conda-forge
	libabseil                 20240116.2      cxx17_hebf3989_0    conda-forge
	libaec                    1.1.3                hebf3989_0    conda-forge
	libarchive                3.7.2                hcacb583_1    conda-forge
	libarrow                  15.0.2           hca667bd_5_cpu    conda-forge
	libarrow-acero            15.0.2           h3f3aa29_5_cpu    conda-forge
	libarrow-dataset          15.0.2           h3f3aa29_5_cpu    conda-forge
	libarrow-flight           15.0.2           h224147a_5_cpu    conda-forge
	libarrow-flight-sql       15.0.2           hb630850_5_cpu    conda-forge
	libarrow-gandiva          15.0.2           h3b9069c_5_cpu    conda-forge
	libarrow-substrait        15.0.2           hd92e347_5_cpu    conda-forge
	libasprintf               0.22.5               h8fbad5d_2    conda-forge
	libasprintf-devel         0.22.5               h8fbad5d_2    conda-forge
	libblas                   3.9.0           22_osxarm64_openblas    conda-forge
	libboost-headers          1.84.0               hce30654_2    conda-forge
	libbrotlicommon           1.1.0                hb547adb_1    conda-forge
	libbrotlidec              1.1.0                hb547adb_1    conda-forge
	libbrotlienc              1.1.0                hb547adb_1    conda-forge
	libcblas                  3.9.0           22_osxarm64_openblas    conda-forge
	libcrc32c                 1.1.2                hbdafb3b_0    conda-forge
	libcurl                   8.7.1                h2d989ff_0    conda-forge
	libcxx                    16.0.6               h4653b0c_0    conda-forge
	libdeflate                1.20                 h93a5062_0    conda-forge
	libedit                   3.1.20191231         hc8eb9b7_2    conda-forge
	libev                     4.33                 h93a5062_2    conda-forge
	libevent                  2.1.12               h2757513_1    conda-forge
	libexpat                  2.6.2                hebf3989_0    conda-forge
	libffi                    3.4.2                h3422bc3_5    conda-forge
	libgdal                   3.8.4                h7181668_5    conda-forge
	libgettextpo              0.22.5               h8fbad5d_2    conda-forge
	libgettextpo-devel        0.22.5               h8fbad5d_2    conda-forge
	libgfortran               5.0.0           13_2_0_hd922786_3    conda-forge
	libgfortran5              13.2.0               hf226fd6_3    conda-forge
	libglib                   2.80.0               hfc324ee_6    conda-forge
	libgoogle-cloud           2.23.0               hbebe991_1    conda-forge
	libgoogle-cloud-storage   2.23.0               h8a76758_1    conda-forge
	libgrpc                   1.62.2               h9c18a4f_0    conda-forge
	libiconv                  1.17                 h0d3ecfb_2    conda-forge
	libintl                   0.22.5               h8fbad5d_2    conda-forge
	libintl-devel             0.22.5               h8fbad5d_2    conda-forge
	libjpeg-turbo             3.0.0                hb547adb_1    conda-forge
	libkml                    1.3.0             h1eb4d9f_1018    conda-forge
	liblapack                 3.9.0           22_osxarm64_openblas    conda-forge
	libllvm16                 16.0.6               haab561b_3    conda-forge
	libnetcdf                 4.9.2           nompi_h291a7c2_113    conda-forge
	libnghttp2                1.58.0               ha4dd798_1    conda-forge
	libopenblas               0.3.27          openmp_h6c19121_0    conda-forge
	libparquet                15.0.2           h5304c63_5_cpu    conda-forge
	libpng                    1.6.43               h091b4b1_0    conda-forge
	libpq                     16.2                 h0f8b458_1    conda-forge
	libprotobuf               4.25.3               hbfab5d5_0    conda-forge
	libre2-11                 2023.09.01           h7b2c953_2    conda-forge
	librttopo                 1.1.0               hc8f776e_15    conda-forge
	libsodium                 1.0.18               h27ca646_1    conda-forge
	libspatialindex           1.9.3                hbdafb3b_4    conda-forge
	libspatialite             5.1.0                h69abc6b_4    conda-forge
	libsqlite                 3.45.3               h091b4b1_0    conda-forge
	libssh2                   1.11.0               h7a5bd25_0    conda-forge
	libthrift                 0.19.0               h026a170_1    conda-forge
	libtiff                   4.6.0                h07db509_3    conda-forge
	libutf8proc               2.8.0                h1a8c8d9_0    conda-forge
	libwebp-base              1.4.0                h93a5062_0    conda-forge
	libxcb                    1.15                 hf346824_0    conda-forge
	libxml2                   2.12.6               h0d0cfa8_2    conda-forge
	libzip                    1.10.1               ha0bc3c6_3    conda-forge
	libzlib                   1.2.13               h53f4e23_5    conda-forge
	llvm-openmp               18.1.3               hcd81f8e_0    conda-forge
	lonboard                  0.8.0              pyh80e38bb_0    conda-forge
	lz4-c                     1.9.4                hb7217d7_0    conda-forge
	lzo                       2.10              h93a5062_1001    conda-forge
	mapclassify               2.6.1              pyhd8ed1ab_0    conda-forge
	markupsafe                2.1.5           py312he37b823_0    conda-forge
	matplotlib-base           3.8.4           py312ha6faf65_0    conda-forge
	matplotlib-inline         0.1.7              pyhd8ed1ab_0    conda-forge
	minizip                   4.0.5                hc35e051_0    conda-forge
	mistune                   3.0.2              pyhd8ed1ab_0    conda-forge
	munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
	nbclient                  0.10.0             pyhd8ed1ab_0    conda-forge
	nbconvert                 7.16.3               hd8ed1ab_1    conda-forge
	nbconvert-core            7.16.3             pyhd8ed1ab_1    conda-forge
	nbconvert-pandoc          7.16.3               hd8ed1ab_1    conda-forge
	nbformat                  5.10.4             pyhd8ed1ab_0    conda-forge
	ncurses                   6.4.20240210         h078ce10_0    conda-forge
	nest-asyncio              1.6.0              pyhd8ed1ab_0    conda-forge
	networkx                  3.3                pyhd8ed1ab_1    conda-forge
	notebook-shim             0.2.4              pyhd8ed1ab_0    conda-forge
	nspr                      4.35                 hb7217d7_0    conda-forge
	nss                       3.98                 h5ce2875_0    conda-forge
	numpy                     1.26.4          py312h8442bc7_0    conda-forge
	openjpeg                  2.5.2                h9f1df11_0    conda-forge
	openssl                   3.2.1                h0d3ecfb_1    conda-forge
	orc                       2.0.0                h4aad248_1    conda-forge
	overrides                 7.7.0              pyhd8ed1ab_0    conda-forge
	packaging                 24.0               pyhd8ed1ab_0    conda-forge
	palettable                3.3.3              pyhd8ed1ab_0    conda-forge
	pandas                    2.2.2           py312h88edd18_0    conda-forge
	pandoc                    3.1.13               hce30654_0    conda-forge
	pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
	parso                     0.8.4              pyhd8ed1ab_0    conda-forge
	pcre2                     10.43                h26f9a81_0    conda-forge
	pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
	pickleshare               0.7.5                   py_1003    conda-forge
	pillow                    10.3.0          py312h8a801b1_0    conda-forge
	pixman                    0.43.4               hebf3989_0    conda-forge
	pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
	platformdirs              4.2.1              pyhd8ed1ab_0    conda-forge
	poppler                   24.03.0              h896e6cb_0    conda-forge
	poppler-data              0.4.12               hd8ed1ab_0    conda-forge
	postgresql                16.2                 hf829917_1    conda-forge
	proj                      9.3.1                h93d94ba_0    conda-forge
	prometheus_client         0.20.0             pyhd8ed1ab_0    conda-forge
	prompt-toolkit            3.0.42             pyha770c72_0    conda-forge
	psutil                    5.9.8           py312he37b823_0    conda-forge
	psygnal                   0.11.0             pyhd8ed1ab_0    conda-forge
	pthread-stubs             0.4               h27ca646_1001    conda-forge
	ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
	pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
	pyarrow                   15.0.2          py312hbf1f86f_5_cpu    conda-forge
	pycparser                 2.22               pyhd8ed1ab_0    conda-forge
	pygments                  2.17.2             pyhd8ed1ab_0    conda-forge
	pyobjc-core               10.2            py312h9d22092_0    conda-forge
	pyobjc-framework-cocoa    10.2            py312h9d22092_0    conda-forge
	pyparsing                 3.1.2              pyhd8ed1ab_0    conda-forge
	pyproj                    3.6.1           py312h4d912e0_5    conda-forge
	pysocks                   1.7.1              pyha2e5f31_6    conda-forge
	python                    3.12.3          h4a7b5fc_0_cpython    conda-forge
	python-dateutil           2.9.0              pyhd8ed1ab_0    conda-forge
	python-fastjsonschema     2.19.1             pyhd8ed1ab_0    conda-forge
	python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
	python-tzdata             2024.1             pyhd8ed1ab_0    conda-forge
	python_abi                3.12                    4_cp312    conda-forge
	pytz                      2024.1             pyhd8ed1ab_0    conda-forge
	pyyaml                    6.0.1           py312h02f2b3b_1    conda-forge
	pyzmq                     26.0.2          py312h99b2490_0    conda-forge
	re2                       2023.09.01           h4cba328_2    conda-forge
	readline                  8.2                  h92ec313_1    conda-forge
	referencing               0.35.0             pyhd8ed1ab_0    conda-forge
	requests                  2.31.0             pyhd8ed1ab_0    conda-forge
	rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
	rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
	rpds-py                   0.18.0          py312h77200ec_0    conda-forge
	rtree                     1.2.0           py312h22f7183_0    conda-forge
	scikit-learn              1.4.2           py312hd4306f4_0    conda-forge
	scipy                     1.13.0          py312h9d7df2b_0    conda-forge
	send2trash                1.8.3              pyh31c8845_0    conda-forge
	setuptools                69.5.1             pyhd8ed1ab_0    conda-forge
	shapely                   2.0.4           py312h04e4829_0    conda-forge
	six                       1.16.0             pyh6c4a22f_0    conda-forge
	snappy                    1.2.0                hd04f947_1    conda-forge
	sniffio                   1.3.1              pyhd8ed1ab_0    conda-forge
	soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
	spdlog                    1.13.0               h5fcca99_0    conda-forge
	sqlite                    3.45.3               hf2abe2d_0    conda-forge
	stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
	terminado                 0.18.1             pyh31c8845_0    conda-forge
	threadpoolctl             3.5.0              pyhc1e730c_0    conda-forge
	tiledb                    2.21.2               h299f1dd_3    conda-forge
	tinycss2                  1.3.0              pyhd8ed1ab_0    conda-forge
	tk                        8.6.13               h5083fa2_1    conda-forge
	tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
	tornado                   6.4             py312he37b823_0    conda-forge
	traitlets                 5.14.3             pyhd8ed1ab_0    conda-forge
	types-python-dateutil     2.9.0.20240316     pyhd8ed1ab_0    conda-forge
	typing-extensions         4.11.0               hd8ed1ab_0    conda-forge
	typing_extensions         4.11.0             pyha770c72_0    conda-forge
	typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
	tzcode                    2024a                h93a5062_0    conda-forge
	tzdata                    2024a                h0c530f3_0    conda-forge
	uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
	uriparser                 0.9.7                h13dd4ca_1    conda-forge
	urllib3                   2.2.1              pyhd8ed1ab_0    conda-forge
	watchfiles                0.21.0          py312h5280bc4_0    conda-forge
	wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
	webcolors                 1.13               pyhd8ed1ab_0    conda-forge
	webencodings              0.5.1              pyhd8ed1ab_2    conda-forge
	websocket-client          1.8.0              pyhd8ed1ab_0    conda-forge
	widgetsnbextension        4.0.10             pyhd8ed1ab_0    conda-forge
	wrapt                     1.16.0          py312he37b823_0    conda-forge
	xerces-c                  3.2.5                hf393695_0    conda-forge
	xorg-libxau               1.0.11               hb547adb_0    conda-forge
	xorg-libxdmcp             1.1.3                h27ca646_0    conda-forge
	xyzservices               2024.4.0           pyhd8ed1ab_0    conda-forge
	xz                        5.2.6                h57fd34a_0    conda-forge
	yaml                      0.2.5                h3422bc3_2    conda-forge
	zeromq                    4.3.5                hebf3989_1    conda-forge
	zipp                      3.17.0             pyhd8ed1ab_0    conda-forge
	zlib                      1.2.13               h53f4e23_5    conda-forge
	zstd                      1.5.5                h4f39d0f_0    conda-forge

conda env:
	name: /Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default
	channels:
	  - conda-forge
	  - defaults
	dependencies:
	  - anyio=4.3.0=pyhd8ed1ab_0
	  - anywidget=0.9.10=pyhd8ed1ab_0
	  - appnope=0.1.4=pyhd8ed1ab_0
	  - argon2-cffi=23.1.0=pyhd8ed1ab_0
	  - argon2-cffi-bindings=21.2.0=py312h02f2b3b_4
	  - arrow=1.3.0=pyhd8ed1ab_0
	  - asttokens=2.4.1=pyhd8ed1ab_0
	  - async-lru=2.0.4=pyhd8ed1ab_0
	  - attrs=23.2.0=pyh71513ae_0
	  - aws-c-auth=0.7.17=h382b9c6_2
	  - aws-c-cal=0.6.11=hd34e5fa_0
	  - aws-c-common=0.9.15=h93a5062_0
	  - aws-c-compression=0.2.18=hd34e5fa_3
	  - aws-c-event-stream=0.4.2=h247c08a_8
	  - aws-c-http=0.8.1=hf9e830b_10
	  - aws-c-io=0.14.7=h33d81b3_6
	  - aws-c-mqtt=0.10.3=h5f4abda_4
	  - aws-c-s3=0.5.7=h606a3d2_1
	  - aws-c-sdkutils=0.1.15=hd34e5fa_3
	  - aws-checksums=0.1.18=hd34e5fa_3
	  - aws-crt-cpp=0.26.6=h13f0230_4
	  - aws-sdk-cpp=1.11.267=h134aaec_6
	  - azure-core-cpp=1.11.1=he231e37_1
	  - azure-storage-blobs-cpp=12.10.0=h2ffa867_1
	  - azure-storage-common-cpp=12.5.0=h09a5875_4
	  - babel=2.14.0=pyhd8ed1ab_0
	  - beautifulsoup4=4.12.3=pyha770c72_0
	  - bleach=6.1.0=pyhd8ed1ab_0
	  - blosc=1.21.5=h9c252e8_1
	  - branca=0.7.2=pyhd8ed1ab_0
	  - brotli=1.1.0=hb547adb_1
	  - brotli-bin=1.1.0=hb547adb_1
	  - brotli-python=1.1.0=py312h9f69965_1
	  - bzip2=1.0.8=h93a5062_5
	  - c-ares=1.28.1=h93a5062_0
	  - ca-certificates=2024.2.2=hf0a4a13_0
	  - cached-property=1.5.2=hd8ed1ab_1
	  - cached_property=1.5.2=pyha770c72_1
	  - cairo=1.18.0=hd1e100b_0
	  - certifi=2024.2.2=pyhd8ed1ab_0
	  - cffi=1.16.0=py312h8e38eb3_0
	  - cfitsio=4.4.0=h808cd33_1
	  - charset-normalizer=3.3.2=pyhd8ed1ab_0
	  - click=8.1.7=unix_pyh707e725_0
	  - click-plugins=1.1.1=py_0
	  - cligj=0.7.2=pyhd8ed1ab_1
	  - comm=0.2.2=pyhd8ed1ab_0
	  - contourpy=1.2.1=py312h0fef576_0
	  - cycler=0.12.1=pyhd8ed1ab_0
	  - debugpy=1.8.1=py312h20a0b95_0
	  - decorator=5.1.1=pyhd8ed1ab_0
	  - defusedxml=0.7.1=pyhd8ed1ab_0
	  - entrypoints=0.4=pyhd8ed1ab_0
	  - exceptiongroup=1.2.0=pyhd8ed1ab_2
	  - executing=2.0.1=pyhd8ed1ab_0
	  - expat=2.6.2=hebf3989_0
	  - fiona=1.9.6=py312hd158ed5_0
	  - fmt=10.2.1=h2ffa867_0
	  - folium=0.16.0=pyhd8ed1ab_0
	  - font-ttf-dejavu-sans-mono=2.37=hab24e00_0
	  - font-ttf-inconsolata=3.000=h77eed37_0
	  - font-ttf-source-code-pro=2.038=h77eed37_0
	  - font-ttf-ubuntu=0.83=h77eed37_1
	  - fontconfig=2.14.2=h82840c6_0
	  - fonts-conda-ecosystem=1=0
	  - fonts-conda-forge=1=0
	  - fonttools=4.51.0=py312he37b823_0
	  - fqdn=1.5.1=pyhd8ed1ab_0
	  - freetype=2.12.1=hadb7bae_2
	  - freexl=2.0.0=hfbad9fb_0
	  - gdal=3.8.4=py312h56161e1_5
	  - geopandas=0.14.4=pyhd8ed1ab_0
	  - geopandas-base=0.14.4=pyha770c72_0
	  - geos=3.12.1=h965bd2d_0
	  - geotiff=1.7.1=h7bcba05_15
	  - gettext=0.22.5=h8fbad5d_2
	  - gettext-tools=0.22.5=h8fbad5d_2
	  - gflags=2.2.2=hc88da5d_1004
	  - giflib=5.2.2=h93a5062_0
	  - glog=0.7.0=hc6770e3_0
	  - h11=0.14.0=pyhd8ed1ab_0
	  - h2=4.1.0=pyhd8ed1ab_0
	  - hdf4=4.2.15=h2ee6834_7
	  - hdf5=1.14.3=nompi_h5bb55e9_100
	  - hpack=4.0.0=pyh9f0ad1d_0
	  - httpcore=1.0.5=pyhd8ed1ab_0
	  - httpx=0.27.0=pyhd8ed1ab_0
	  - hyperframe=6.0.1=pyhd8ed1ab_0
	  - icu=73.2=hc8870d7_0
	  - idna=3.7=pyhd8ed1ab_0
	  - importlib-metadata=7.1.0=pyha770c72_0
	  - importlib_metadata=7.1.0=hd8ed1ab_0
	  - importlib_resources=6.4.0=pyhd8ed1ab_0
	  - ipykernel=6.29.3=pyh3cd1d5f_0
	  - ipython=8.22.2=pyh707e725_0
	  - ipywidgets=8.1.2=pyhd8ed1ab_0
	  - isoduration=20.11.0=pyhd8ed1ab_0
	  - jedi=0.19.1=pyhd8ed1ab_0
	  - jinja2=3.1.3=pyhd8ed1ab_0
	  - joblib=1.4.0=pyhd8ed1ab_0
	  - json-c=0.17=h40ed0f5_0
	  - json5=0.9.25=pyhd8ed1ab_0
	  - jsonpointer=2.4=py312h81bd7bf_3
	  - jsonschema=4.21.1=pyhd8ed1ab_0
	  - jsonschema-specifications=2023.12.1=pyhd8ed1ab_0
	  - jsonschema-with-format-nongpl=4.21.1=pyhd8ed1ab_0
	  - jupyter-lsp=2.2.5=pyhd8ed1ab_0
	  - jupyter_client=8.6.1=pyhd8ed1ab_0
	  - jupyter_core=5.7.2=py312h81bd7bf_0
	  - jupyter_events=0.10.0=pyhd8ed1ab_0
	  - jupyter_server=2.14.0=pyhd8ed1ab_0
	  - jupyter_server_terminals=0.5.3=pyhd8ed1ab_0
	  - jupyterlab=4.1.8=pyhd8ed1ab_0
	  - jupyterlab_pygments=0.3.0=pyhd8ed1ab_1
	  - jupyterlab_server=2.27.1=pyhd8ed1ab_0
	  - jupyterlab_widgets=3.0.10=pyhd8ed1ab_0
	  - kealib=1.5.3=h210d843_0
	  - kiwisolver=1.4.5=py312h389731b_1
	  - krb5=1.21.2=h92f50d5_0
	  - lcms2=2.16=ha0e7c42_0
	  - lerc=4.0.0=h9a09cb3_0
	  - libabseil=20240116.2=cxx17_hebf3989_0
	  - libaec=1.1.3=hebf3989_0
	  - libarchive=3.7.2=hcacb583_1
	  - libarrow=15.0.2=hca667bd_5_cpu
	  - libarrow-acero=15.0.2=h3f3aa29_5_cpu
	  - libarrow-dataset=15.0.2=h3f3aa29_5_cpu
	  - libarrow-flight=15.0.2=h224147a_5_cpu
	  - libarrow-flight-sql=15.0.2=hb630850_5_cpu
	  - libarrow-gandiva=15.0.2=h3b9069c_5_cpu
	  - libarrow-substrait=15.0.2=hd92e347_5_cpu
	  - libasprintf=0.22.5=h8fbad5d_2
	  - libasprintf-devel=0.22.5=h8fbad5d_2
	  - libblas=3.9.0=22_osxarm64_openblas
	  - libboost-headers=1.84.0=hce30654_2
	  - libbrotlicommon=1.1.0=hb547adb_1
	  - libbrotlidec=1.1.0=hb547adb_1
	  - libbrotlienc=1.1.0=hb547adb_1
	  - libcblas=3.9.0=22_osxarm64_openblas
	  - libcrc32c=1.1.2=hbdafb3b_0
	  - libcurl=8.7.1=h2d989ff_0
	  - libcxx=16.0.6=h4653b0c_0
	  - libdeflate=1.20=h93a5062_0
	  - libedit=3.1.20191231=hc8eb9b7_2
	  - libev=4.33=h93a5062_2
	  - libevent=2.1.12=h2757513_1
	  - libexpat=2.6.2=hebf3989_0
	  - libffi=3.4.2=h3422bc3_5
	  - libgdal=3.8.4=h7181668_5
	  - libgettextpo=0.22.5=h8fbad5d_2
	  - libgettextpo-devel=0.22.5=h8fbad5d_2
	  - libgfortran=5.0.0=13_2_0_hd922786_3
	  - libgfortran5=13.2.0=hf226fd6_3
	  - libglib=2.80.0=hfc324ee_6
	  - libgoogle-cloud=2.23.0=hbebe991_1
	  - libgoogle-cloud-storage=2.23.0=h8a76758_1
	  - libgrpc=1.62.2=h9c18a4f_0
	  - libiconv=1.17=h0d3ecfb_2
	  - libintl=0.22.5=h8fbad5d_2
	  - libintl-devel=0.22.5=h8fbad5d_2
	  - libjpeg-turbo=3.0.0=hb547adb_1
	  - libkml=1.3.0=h1eb4d9f_1018
	  - liblapack=3.9.0=22_osxarm64_openblas
	  - libllvm16=16.0.6=haab561b_3
	  - libnetcdf=4.9.2=nompi_h291a7c2_113
	  - libnghttp2=1.58.0=ha4dd798_1
	  - libopenblas=0.3.27=openmp_h6c19121_0
	  - libparquet=15.0.2=h5304c63_5_cpu
	  - libpng=1.6.43=h091b4b1_0
	  - libpq=16.2=h0f8b458_1
	  - libprotobuf=4.25.3=hbfab5d5_0
	  - libre2-11=2023.09.01=h7b2c953_2
	  - librttopo=1.1.0=hc8f776e_15
	  - libsodium=1.0.18=h27ca646_1
	  - libspatialindex=1.9.3=hbdafb3b_4
	  - libspatialite=5.1.0=h69abc6b_4
	  - libsqlite=3.45.3=h091b4b1_0
	  - libssh2=1.11.0=h7a5bd25_0
	  - libthrift=0.19.0=h026a170_1
	  - libtiff=4.6.0=h07db509_3
	  - libutf8proc=2.8.0=h1a8c8d9_0
	  - libwebp-base=1.4.0=h93a5062_0
	  - libxcb=1.15=hf346824_0
	  - libxml2=2.12.6=h0d0cfa8_2
	  - libzip=1.10.1=ha0bc3c6_3
	  - libzlib=1.2.13=h53f4e23_5
	  - llvm-openmp=18.1.3=hcd81f8e_0
	  - lonboard=0.8.0=pyh80e38bb_0
	  - lz4-c=1.9.4=hb7217d7_0
	  - lzo=2.10=h93a5062_1001
	  - mapclassify=2.6.1=pyhd8ed1ab_0
	  - markupsafe=2.1.5=py312he37b823_0
	  - matplotlib-base=3.8.4=py312ha6faf65_0
	  - matplotlib-inline=0.1.7=pyhd8ed1ab_0
	  - minizip=4.0.5=hc35e051_0
	  - mistune=3.0.2=pyhd8ed1ab_0
	  - munkres=1.1.4=pyh9f0ad1d_0
	  - nbclient=0.10.0=pyhd8ed1ab_0
	  - nbconvert=7.16.3=hd8ed1ab_1
	  - nbconvert-core=7.16.3=pyhd8ed1ab_1
	  - nbconvert-pandoc=7.16.3=hd8ed1ab_1
	  - nbformat=5.10.4=pyhd8ed1ab_0
	  - ncurses=6.4.20240210=h078ce10_0
	  - nest-asyncio=1.6.0=pyhd8ed1ab_0
	  - networkx=3.3=pyhd8ed1ab_1
	  - notebook-shim=0.2.4=pyhd8ed1ab_0
	  - nspr=4.35=hb7217d7_0
	  - nss=3.98=h5ce2875_0
	  - numpy=1.26.4=py312h8442bc7_0
	  - openjpeg=2.5.2=h9f1df11_0
	  - openssl=3.2.1=h0d3ecfb_1
	  - orc=2.0.0=h4aad248_1
	  - overrides=7.7.0=pyhd8ed1ab_0
	  - packaging=24.0=pyhd8ed1ab_0
	  - palettable=3.3.3=pyhd8ed1ab_0
	  - pandas=2.2.2=py312h88edd18_0
	  - pandoc=3.1.13=hce30654_0
	  - pandocfilters=1.5.0=pyhd8ed1ab_0
	  - parso=0.8.4=pyhd8ed1ab_0
	  - pcre2=10.43=h26f9a81_0
	  - pexpect=4.9.0=pyhd8ed1ab_0
	  - pickleshare=0.7.5=py_1003
	  - pillow=10.3.0=py312h8a801b1_0
	  - pixman=0.43.4=hebf3989_0
	  - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
	  - platformdirs=4.2.1=pyhd8ed1ab_0
	  - poppler=24.03.0=h896e6cb_0
	  - poppler-data=0.4.12=hd8ed1ab_0
	  - postgresql=16.2=hf829917_1
	  - proj=9.3.1=h93d94ba_0
	  - prometheus_client=0.20.0=pyhd8ed1ab_0
	  - prompt-toolkit=3.0.42=pyha770c72_0
	  - psutil=5.9.8=py312he37b823_0
	  - psygnal=0.11.0=pyhd8ed1ab_0
	  - pthread-stubs=0.4=h27ca646_1001
	  - ptyprocess=0.7.0=pyhd3deb0d_0
	  - pure_eval=0.2.2=pyhd8ed1ab_0
	  - pyarrow=15.0.2=py312hbf1f86f_5_cpu
	  - pycparser=2.22=pyhd8ed1ab_0
	  - pygments=2.17.2=pyhd8ed1ab_0
	  - pyobjc-core=10.2=py312h9d22092_0
	  - pyobjc-framework-cocoa=10.2=py312h9d22092_0
	  - pyparsing=3.1.2=pyhd8ed1ab_0
	  - pyproj=3.6.1=py312h4d912e0_5
	  - pysocks=1.7.1=pyha2e5f31_6
	  - python=3.12.3=h4a7b5fc_0_cpython
	  - python-dateutil=2.9.0=pyhd8ed1ab_0
	  - python-fastjsonschema=2.19.1=pyhd8ed1ab_0
	  - python-json-logger=2.0.7=pyhd8ed1ab_0
	  - python-tzdata=2024.1=pyhd8ed1ab_0
	  - python_abi=3.12=4_cp312
	  - pytz=2024.1=pyhd8ed1ab_0
	  - pyyaml=6.0.1=py312h02f2b3b_1
	  - pyzmq=26.0.2=py312h99b2490_0
	  - re2=2023.09.01=h4cba328_2
	  - readline=8.2=h92ec313_1
	  - referencing=0.35.0=pyhd8ed1ab_0
	  - requests=2.31.0=pyhd8ed1ab_0
	  - rfc3339-validator=0.1.4=pyhd8ed1ab_0
	  - rfc3986-validator=0.1.1=pyh9f0ad1d_0
	  - rpds-py=0.18.0=py312h77200ec_0
	  - rtree=1.2.0=py312h22f7183_0
	  - scikit-learn=1.4.2=py312hd4306f4_0
	  - scipy=1.13.0=py312h9d7df2b_0
	  - send2trash=1.8.3=pyh31c8845_0
	  - setuptools=69.5.1=pyhd8ed1ab_0
	  - shapely=2.0.4=py312h04e4829_0
	  - six=1.16.0=pyh6c4a22f_0
	  - snappy=1.2.0=hd04f947_1
	  - sniffio=1.3.1=pyhd8ed1ab_0
	  - soupsieve=2.5=pyhd8ed1ab_1
	  - spdlog=1.13.0=h5fcca99_0
	  - sqlite=3.45.3=hf2abe2d_0
	  - stack_data=0.6.2=pyhd8ed1ab_0
	  - terminado=0.18.1=pyh31c8845_0
	  - threadpoolctl=3.5.0=pyhc1e730c_0
	  - tiledb=2.21.2=h299f1dd_3
	  - tinycss2=1.3.0=pyhd8ed1ab_0
	  - tk=8.6.13=h5083fa2_1
	  - tomli=2.0.1=pyhd8ed1ab_0
	  - tornado=6.4=py312he37b823_0
	  - traitlets=5.14.3=pyhd8ed1ab_0
	  - types-python-dateutil=2.9.0.20240316=pyhd8ed1ab_0
	  - typing-extensions=4.11.0=hd8ed1ab_0
	  - typing_extensions=4.11.0=pyha770c72_0
	  - typing_utils=0.1.0=pyhd8ed1ab_0
	  - tzcode=2024a=h93a5062_0
	  - tzdata=2024a=h0c530f3_0
	  - uri-template=1.3.0=pyhd8ed1ab_0
	  - uriparser=0.9.7=h13dd4ca_1
	  - urllib3=2.2.1=pyhd8ed1ab_0
	  - watchfiles=0.21.0=py312h5280bc4_0
	  - wcwidth=0.2.13=pyhd8ed1ab_0
	  - webcolors=1.13=pyhd8ed1ab_0
	  - webencodings=0.5.1=pyhd8ed1ab_2
	  - websocket-client=1.8.0=pyhd8ed1ab_0
	  - widgetsnbextension=4.0.10=pyhd8ed1ab_0
	  - wrapt=1.16.0=py312he37b823_0
	  - xerces-c=3.2.5=hf393695_0
	  - xorg-libxau=1.0.11=hb547adb_0
	  - xorg-libxdmcp=1.1.3=h27ca646_0
	  - xyzservices=2024.4.0=pyhd8ed1ab_0
	  - xz=5.2.6=h57fd34a_0
	  - yaml=0.2.5=h3422bc3_2
	  - zeromq=4.3.5=hebf3989_1
	  - zipp=3.17.0=pyhd8ed1ab_0
	  - zlib=1.2.13=h53f4e23_5
	  - zstd=1.5.5=h4f39d0f_0
	prefix: /Users/kyle/github/kylebarron/jupyterlab-save-notebook-state-bug-example/.pixi/envs/default
Command Line Output
Paste the output from your command line running `jupyter lab` here, use `--debug` if possible.
Browser Output
Paste the output from your browser Javascript console here, if applicable.
@kylebarron kylebarron added the bug label Apr 29, 2024
Copy link

welcome bot commented Apr 29, 2024

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! 🤗

If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively.
welcome
You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! 👋

Welcome to the Jupyter community! 🎉

@jupyterlab-probot jupyterlab-probot bot added the status:Needs Triage Applied to new issues that need triage label Apr 29, 2024
@JasonWeill JasonWeill removed the status:Needs Triage Applied to new issues that need triage label Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants