diff --git a/jupyter-interactive-visualization/manifest.json b/jupyter-interactive-visualization/manifest.json
index b61bfb1..5f705b0 100644
--- a/jupyter-interactive-visualization/manifest.json
+++ b/jupyter-interactive-visualization/manifest.json
@@ -6,10 +6,10 @@
     "entrypoint": "jupyter-interactive-visualization.ipynb"
   },
   "python": {
-    "version": "3.10.0",
+    "version": "3.10.12",
     "package_manager": {
       "name": "pip",
-      "version": "23.0.1",
+      "version": "23.2.1",
       "package_file": "requirements.txt"
     }
   },
@@ -18,7 +18,7 @@
       "checksum": "20b7f819b6b3f4fff5df28e05d6dd924"
     },
     "requirements.txt": {
-      "checksum": "9cf304c5a2680b5a0325e961c17db93f"
+      "checksum": "d59c8f2d87dd7d7a4633b6104332aec4"
     }
   }
 }
diff --git a/jupyter-interactive-visualization/requirements.txt b/jupyter-interactive-visualization/requirements.txt
index 5040424..1dfd1d0 100644
--- a/jupyter-interactive-visualization/requirements.txt
+++ b/jupyter-interactive-visualization/requirements.txt
@@ -1,93 +1,4 @@
-anyio==3.6.2
-appnope==0.1.3
-argon2-cffi==21.3.0
-argon2-cffi-bindings==21.2.0
-arrow==1.2.3
-asttokens==2.2.1
-attrs==22.2.0
-backcall==0.2.0
-beautifulsoup4==4.12.0
-bleach==6.0.0
-bokeh==3.1.0
-cffi==1.15.1
-comm==0.1.2
-contourpy==1.0.7
-debugpy==1.6.6
-decorator==5.1.1
-defusedxml==0.7.1
-executing==1.2.0
-fastjsonschema==2.16.3
-fqdn==1.5.1
-idna==3.4
-ipykernel==6.22.0
-ipython==8.11.0
-ipython-genutils==0.2.0
-ipywidgets==8.0.5
-isoduration==20.11.0
-jedi==0.18.2
-Jinja2==3.1.2
-jsonpointer==2.3
-jsonschema==4.17.3
-jupyter==1.0.0
-jupyter-console==6.6.3
-jupyter-events==0.6.3
-jupyter_client==8.1.0
-jupyter_core==5.3.0
-jupyter_server==2.7.2
-jupyter_server_terminals==0.4.4
-jupyterlab-pygments==0.2.2
-jupyterlab-widgets==3.0.6
-MarkupSafe==2.1.2
-matplotlib-inline==0.1.6
-mistune==2.0.5
-nbclassic==0.5.3
-nbclient==0.7.2
-nbconvert==7.2.10
-nbformat==5.8.0
-nest-asyncio==1.5.6
-notebook==6.5.3
-notebook_shim==0.2.2
-numpy==1.24.2
-packaging==23.0
-pandas==1.5.3
-pandocfilters==1.5.0
-parso==0.8.3
-pexpect==4.8.0
-pickleshare==0.7.5
-Pillow==10.0.1
-platformdirs==3.1.1
-plotly==5.13.1
-prometheus-client==0.16.0
-prompt-toolkit==3.0.38
-psutil==5.9.4
-ptyprocess==0.7.0
-pure-eval==0.2.2
-pycparser==2.21
-Pygments==2.15.0
-pyrsistent==0.19.3
-python-dateutil==2.8.2
-python-json-logger==2.0.7
-pytz==2022.7.1
-PyYAML==6.0
-pyzmq==25.0.2
-qtconsole==5.4.1
-QtPy==2.3.0
-rfc3339-validator==0.1.4
-rfc3986-validator==0.1.1
-Send2Trash==1.8.0
-six==1.16.0
-sniffio==1.3.0
-soupsieve==2.4
-stack-data==0.6.2
-tenacity==8.2.2
-terminado==0.17.1
-tinycss2==1.2.1
-tornado==6.3.3
-traitlets==5.9.0
-uri-template==1.2.0
-wcwidth==0.2.6
-webcolors==1.12
-webencodings==0.5.1
-websocket-client==1.5.1
-widgetsnbextension==4.0.6
-xyzservices==2023.2.0
+numpy
+plotly
+bokeh
+notebook
\ No newline at end of file
diff --git a/justfile b/justfile
index 91e3ea6..a0390b7 100644
--- a/justfile
+++ b/justfile
@@ -22,3 +22,6 @@ clean:
 # deploy manifest in current directory to target server
 deploy connect:
     rsconnect deploy manifest {{invocation_directory()}}/manifest.json -n {{connect}}
+
+release:
+    gh release create
\ No newline at end of file
diff --git a/quarto-lightbox/manifest.json b/quarto-lightbox/manifest.json
index 538d65f..80414b4 100644
--- a/quarto-lightbox/manifest.json
+++ b/quarto-lightbox/manifest.json
@@ -5,16 +5,16 @@
     "appmode": "quarto-static"
   },
   "quarto": {
-    "version": "1.1.189",
+    "version": "1.4.424",
     "engines": [
       "jupyter"
     ]
   },
   "python": {
-    "version": "3.10.4",
+    "version": "3.10.12",
     "package_manager": {
       "name": "pip",
-      "version": "22.3.1",
+      "version": "23.2.1",
       "package_file": "requirements.txt"
     }
   },
@@ -22,8 +22,11 @@
     ".gitignore": {
       "checksum": "06d306ff933a023ca365a9fbf6589381"
     },
+    ".internal.yml": {
+      "checksum": "1e5a127a851c07e0ca7655bb3d5c7713"
+    },
     "README.md": {
-      "checksum": "0ecee7ad8ddb45110229b1b0c23c3b96"
+      "checksum": "eca5c4e1f4827d2562c5de3abc100cdc"
     },
     "_extensions/quarto-ext/lightbox/_extension.yml": {
       "checksum": "3db0b546785dbeb0117afef962c424bd"
@@ -58,11 +61,14 @@
     "img/The_Wizard_of_Oz_1955_Lobby_Card.jpg": {
       "checksum": "bdbf9246bd2eb7ff5942b3bdc0f3a401"
     },
+    "quarto-lightbox.png": {
+      "checksum": "1105422772d95ab055a6c8a2f96c7061"
+    },
     "quarto-python-lightbox.qmd": {
       "checksum": "c1083bb396a02e22466cca0b5c5e7f6c"
     },
     "requirements.txt": {
-      "checksum": "d98af85c5ab8fce1fd8ad751ab9263fd"
+      "checksum": "97bf05c3ffb69a82084ecc2aaeee4760"
     }
   }
 }
diff --git a/quarto-lightbox/requirements.txt b/quarto-lightbox/requirements.txt
index f813d10..fbcb190 100644
--- a/quarto-lightbox/requirements.txt
+++ b/quarto-lightbox/requirements.txt
@@ -1,82 +1,100 @@
-anyio==3.6.2
-argon2-cffi==21.3.0
+anyio==4.0.0
+appnope==0.1.3
+argon2-cffi==23.1.0
 argon2-cffi-bindings==21.2.0
-asttokens==2.1.0
-attrs==22.1.0
+arrow==1.3.0
+asttokens==2.4.0
+async-lru==2.0.4
+attrs==23.1.0
+Babel==2.13.0
 backcall==0.2.0
-beautifulsoup4==4.11.1
-bleach==5.0.1
-cffi==1.15.1
-click==8.1.3
-contourpy==1.0.6
-cycler==0.11.0
-debugpy==1.6.3
+beautifulsoup4==4.12.2
+bleach==6.1.0
+certifi==2023.7.22
+cffi==1.16.0
+charset-normalizer==3.3.0
+comm==0.1.4
+contourpy==1.1.1
+cycler==0.12.1
+debugpy==1.8.0
 decorator==5.1.1
 defusedxml==0.7.1
-entrypoints==0.4
-executing==1.2.0
-fastjsonschema==2.16.2
-fonttools==4.38.0
+exceptiongroup==1.1.3
+executing==2.0.0
+fastjsonschema==2.18.1
+fonttools==4.43.1
+fqdn==1.5.1
 idna==3.4
-ipykernel==6.17.0
-ipython==8.10.0
-ipython-genutils==0.2.0
-ipywidgets==8.0.2
-jedi==0.18.1
+ipykernel==6.25.2
+ipython==8.16.1
+isoduration==20.11.0
+jedi==0.19.1
 Jinja2==3.1.2
-jsonschema==4.17.0
-jupyter==1.0.0
-jupyter-console==6.4.4
-jupyter-server==2.7.2
-jupyter_client==7.4.4
-jupyter_core==4.11.2
+json5==0.9.14
+jsonpointer==2.4
+jsonschema==4.19.1
+jsonschema-specifications==2023.7.1
+jupyter-events==0.8.0
+jupyter-lsp==2.2.0
+jupyter_client==8.4.0
+jupyter_core==5.4.0
+jupyter_server==2.8.0
+jupyter_server_terminals==0.4.4
+jupyterlab==4.0.7
 jupyterlab-pygments==0.2.2
-jupyterlab-widgets==3.0.3
-kiwisolver==1.4.4
-MarkupSafe==2.1.1
-matplotlib==3.6.2
+jupyterlab_server==2.25.0
+kiwisolver==1.4.5
+MarkupSafe==2.1.3
+matplotlib==3.8.0
 matplotlib-inline==0.1.6
-mistune==2.0.4
-nbclassic==0.4.8
-nbclient==0.7.0
-nbconvert==7.2.3
-nbformat==5.7.0
-nest-asyncio==1.5.6
-notebook==6.5.2
-notebook_shim==0.2.2
-numpy==1.23.4
-packaging==21.3
+mistune==3.0.2
+nbclient==0.8.0
+nbconvert==7.9.2
+nbformat==5.9.2
+nest-asyncio==1.5.8
+notebook==7.0.6
+notebook_shim==0.2.3
+numpy==1.26.1
+overrides==7.4.0
+packaging==23.2
 pandocfilters==1.5.0
 parso==0.8.3
 pexpect==4.8.0
 pickleshare==0.7.5
-Pillow==10.0.1
-prometheus-client==0.15.0
-prompt-toolkit==3.0.32
-psutil==5.9.3
+Pillow==10.1.0
+platformdirs==3.11.0
+prometheus-client==0.17.1
+prompt-toolkit==3.0.39
+psutil==5.9.6
 ptyprocess==0.7.0
 pure-eval==0.2.2
 pycparser==2.21
-Pygments==2.15.0
-PyJWT==2.6.0
-pyparsing==3.0.9
-pyrsistent==0.19.2
+Pygments==2.16.1
+pyparsing==3.1.1
 python-dateutil==2.8.2
-pyzmq==24.0.1
-qtconsole==5.4.0
-QtPy==2.2.1
-rsconnect-python==1.12.0
-semver==2.13.0
-Send2Trash==1.8.0
+python-json-logger==2.0.7
+PyYAML==6.0.1
+pyzmq==25.1.1
+referencing==0.30.2
+requests==2.31.0
+rfc3339-validator==0.1.4
+rfc3986-validator==0.1.1
+rpds-py==0.10.6
+Send2Trash==1.8.2
 six==1.16.0
 sniffio==1.3.0
-soupsieve==2.3.2.post1
-stack-data==0.6.0
-terminado==0.17.0
+soupsieve==2.5
+stack-data==0.6.3
+terminado==0.17.1
 tinycss2==1.2.1
+tomli==2.0.1
 tornado==6.3.3
-traitlets==5.5.0
-wcwidth==0.2.5
+traitlets==5.11.2
+types-python-dateutil==2.8.19.14
+typing_extensions==4.8.0
+uri-template==1.3.0
+urllib3==2.0.7
+wcwidth==0.2.8
+webcolors==1.13
 webencodings==0.5.1
-websocket-client==1.4.2
-widgetsnbextension==4.0.3
+websocket-client==1.6.4