Compare commits

..

1 Commits

Author SHA1 Message Date
dependabot[bot] dd3cbc33f2
Bump the actions group with 2 updates
5 months ago

@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Build
uses: ./.github/actions/build-dist
@ -41,7 +41,7 @@ jobs:
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
@ -68,7 +68,7 @@ jobs:
needs:
- test
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/report-coverage@v1
with:
fail_under: 78
@ -77,7 +77,7 @@ jobs:
name: Test Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- run: |
sudo apt-get update
@ -92,7 +92,7 @@ jobs:
timeout-minutes: 20
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
dependency_type: minimum
@ -106,7 +106,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
dependency_type: pre
@ -138,11 +138,11 @@ jobs:
py_cmd: python
steps:
- name: Install Python
uses: actions/setup-python@v6
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
allow-prereleases: true
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v5
with:
name: notebook-dist-${{ github.run_number }}
path: ./dist
@ -170,18 +170,18 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1
with:
ignore_links: 'https://playwright.dev/docs/test-cli/ https://blog.jupyter.org/.* https://mybinder.org/v2/gh/jupyter/notebook/main https://nbviewer.jupyter.org https://stackoverflow.com https://github.com/[^/]+/?$'
ignore_links: 'https://playwright.dev/docs/test-cli/ https://blog.jupyter.org/the-big-split-9d7b88a031a7 https://blog.jupyter.org/jupyter-ascending-1bf5b362d97e https://mybinder.org/v2/gh/jupyter/notebook/main https://nbviewer.jupyter.org https://stackoverflow.com https://github.com/[^/]+/?$'
ignore_glob: 'ui-tests/test/notebooks/*'
test_lint:
name: Test Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- name: Run Linters
run: |

@ -22,14 +22,14 @@ jobs:
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- name: Install dependencies
run: |
python -m pip install -U "jupyterlab>=4.6.0a0,<4.7" hatch
python -m pip install -U "jupyterlab>=4.5.0a0,<4.6" hatch
jlpm
jlpm run build
@ -69,16 +69,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v6
uses: actions/setup-python@v5
with:
python-version: '3.10'
architecture: 'x64'
- name: Install dependencies
run: |
python -m pip install -U "jupyterlab>=4.6.0a0,<4.7" pip
python -m pip install -U "jupyterlab>=4.5.0a0,<4.6" pip
jlpm
jlpm run build

@ -17,7 +17,7 @@ jobs:
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- name: Check Release
@ -27,7 +27,7 @@ jobs:
version_spec: next
- name: Upload Distributions
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v4
with:
name: notebook-jupyter-releaser-dist-${{ github.run_number }}
path: .jupyter_releaser_checkout/dist

@ -34,7 +34,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: React to the triggering comment
run: |
@ -86,7 +86,7 @@ jobs:
- name: Build
uses: ./.github/actions/build-dist
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v5
with:
name: notebook-dist-${{ github.run_number }}
path: ./dist

@ -20,8 +20,6 @@ jobs:
id-token: write
steps:
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
with:
node_version: '24'
- uses: actions/create-github-app-token@v2
id: app-token

@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Build
uses: ./.github/actions/build-dist
@ -34,12 +34,12 @@ jobs:
browser: [firefox, chromium]
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v4
- name: Base Setup
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- uses: actions/download-artifact@v6
- uses: actions/download-artifact@v5
with:
name: notebook-dist-${{ github.run_number }}
path: ./dist
@ -62,7 +62,7 @@ jobs:
- name: Upload Playwright Test assets
if: always()
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v4
with:
name: notebook-${{ matrix.browser }}-test-assets
path: |
@ -70,7 +70,7 @@ jobs:
- name: Upload Playwright Test report
if: always()
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v4
with:
name: notebook-${{ matrix.browser }}-test-report
path: |
@ -87,7 +87,7 @@ jobs:
- name: Upload updated snapshots
if: failure()
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v4
with:
name: notebook-${{ matrix.browser }}-updated-snapshots
path: ui-tests/test

@ -35,17 +35,17 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch || 'main' }}
- name: Set up Python
uses: actions/setup-python@v6
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Node
uses: actions/setup-node@v6
uses: actions/setup-node@v4
with:
node-version: '20.x'
@ -79,7 +79,7 @@ jobs:
jlpm
jlpm deduplicate
fi
- uses: prefix-dev/setup-pixi@v0.9.3
- uses: prefix-dev/setup-pixi@v0.8.14
with:
pixi-version: v0.41.4
manifest-path: pyproject.toml

3
.gitignore vendored

@ -145,6 +145,3 @@ notebook/templates/*.html
# pixi environments
.pixi
*.egg-info
# Temporary files used for testing
tmp/

@ -0,0 +1,58 @@
github:
prebuilds:
master: true
pullRequests: true
pullRequestsFromForks: true
addCheck: false
addComment: false
addBadge: false
addLabel: false
tasks:
- name: setup
init: |
pushd /workspace
wget -qO- https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
popd
# bootstrap activation commands for other tasks to reuse
cat <<EOT > /workspace/bin/activate-env.sh
export MAMBA_ROOT_PREFIX=/workspace/.micromamba
export MAMBA_EXE=/workspace/bin/micromamba
$(/workspace/bin/micromamba shell hook --shell=bash)
export JUPYTER_PREFER_ENV_PATH=1
export TZ=UTC
micromamba activate
EOT
source /workspace/bin/activate-env.sh
micromamba install -n base -y -c conda-forge python=3.11 nodejs=18
source /workspace/bin/activate-env.sh
python -m pip install -e ".[dev,test]" && jlpm run build && jlpm develop
gp sync-done setup
command: |
gp sync-done setup
source /workspace/bin/activate-env.sh
jupyter notebook --no-browser --ServerApp.token='' --ServerApp.allow_remote_access=True
- name: auto-activate
command: |
gp sync-await setup
source /workspace/bin/activate-env.sh
jlpm watch
- name: shell
command: |
gp sync-await setup
echo "source /workspace/bin/activate-env.sh" >> ~/.bashrc
source /workspace/bin/activate-env.sh
- name: docs
command: |
gp sync-await setup
sudo apt-get update
sudo apt install enchant-2 -y
wget https://github.com/jgm/pandoc/releases/download/2.14.2/pandoc-2.14.2-1-amd64.deb -O /tmp/pandoc.deb && sudo dpkg -i /tmp/pandoc.deb
source /workspace/bin/activate-env.sh
hatch run docs:build
hatch run docs:serve
ports:
- port: 8888

@ -45,7 +45,7 @@ repos:
files: "^notebook"
stages: [manual]
args: ["--install-types", "--non-interactive"]
additional_dependencies: ["traitlets>=5.13", "tornado", "jupyter_server>=2.10", "jupyterlab_server>=2.25", "jupyterlab>=4.6.0a0,<4.7"]
additional_dependencies: ["traitlets>=5.13", "tornado", "jupyter_server>=2.10", "jupyterlab_server>=2.25", "jupyterlab>=4.5.0a1,<4.6"]
- repo: https://github.com/pre-commit/pygrep-hooks
rev: 'v1.10.0'

@ -12,344 +12,6 @@ upgrading `notebook`.
Use `pip install pip --upgrade` to upgrade pip. Check pip version with
`pip --version`.
## 7.5
Jupyter Notebook 7.5 is based on JupyterLab 4.5, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-4-to-4-5) which lists deprecations and changes to the public API.
Below are a few highlights for this new release. Most of the new features and improvements come from the update to JupyterLab 4.5, although they may not all be supported in Notebook 7.5.
For reference you may have a look at the [JupyterLab 4.5 changelog](https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v4-5) to learn more.
### Notebook improvements
The default windowing mode is now `contentVisibility` which improves cell rendering and alleviates previously reported issues. The minimap can be enabled for all windowing modes and all notebooks via the `Settings` menu, or by toggling the minimap per notebook with the `View` -> `Show Minimap` option.
Additional fixes improve layout containment and scrollbar behavior when working with long cells.
### Debugger and console enhancements
The debugger's evaluate dialog has been replaced with an interactive console featuring syntax highlighting and code completion. The variables panel now preserves state when switching editors. Visual improvements include highlighted selected breakpoints, improved empty line handling, and a paused indicator. Debugger panels now reference cell execution counts.
<img alt="Debugger panels with reference to execution counts and paused indicator as well as console evaluation"
src="https://raw.githubusercontent.com/jupyter/notebook/main/docs/source/_static/changelog_assets/7.5-debugger.webp"
class="jp-screenshot">
Log Console users can configure default log levels and customize toolbars.
### Terminal enhancements
The terminal now includes search functionality, with search highlights that adapt to theme changes.
### Media and content support
Built-in audio and video viewers allow direct file playback within Jupyter Notebook.
<img alt="Video file opened in a Jupyter Notebook tab"
src="https://raw.githubusercontent.com/jupyter/notebook/main/docs/source/_static/changelog_assets/7.5-media-player.webp"
class="jp-screenshot">
### File browser enhancements
- There is a new `allowFileUploads` setting to control upload permissions.
- Menu options for creating Python, R, or Julia files are now available from the New menu.
- The "Select All" command is now available with the Ctrl + A (or Cmd + A on macOS) keyboard shortcut in the file browser.
- Breadcrumbs are now configurable through `breadcrumbsLeftItems` and `breadcrumbsRightItems` settings.
### Settings editor improvements
The `addExtraLineOnCellMerge` setting removes extra lines when merging cells, matching classic notebook behavior.
### Cell toolbar settings
The cell toolbar settings are now exposed in the Settings Editor, making it easier to customize the cell toolbar appearance and behavior.
### Keyboard shortcuts
The `O` key has been defined as the keyboard shortcut to toggle cell outputs, restoring this familiar functionality from the classic notebook.
### User interface and accessibility
Automatic theme switching between light and dark modes is now available when system synchronization is enabled. Dialog components display buttons and checkboxes on separate lines for improved readability. Terminal selections show better visibility under high-contrast themes. Keyboard navigation and status bar tab ordering have been improved.
### Breaking changes
Python 3.8 support has been dropped in this release.
<!-- <START NEW CHANGELOG ENTRY> -->
## 7.6.0a0
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.1...e7f5e5d50ea18b0b17fe8a9df674025fcc6ab5d1))
### Maintenance and upkeep improvements
- Bump systeminformation from 5.23.14 to 5.27.14 in /ui-tests [#7788](https://github.com/jupyter/notebook/pull/7788) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab `4.6.0a0` [#7787](https://github.com/jupyter/notebook/pull/7787) ([@jtpio](https://github.com/jtpio))
### Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports).
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-12-16&to=2025-12-17&type=c))
@jtpio ([activity](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-12-16..2025-12-17&type=Issues))
<!-- <END NEW CHANGELOG ENTRY> -->
## 7.5.1
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0...fccf56801be0a27a3de76c00d2710a941f255b10))
### Bugs fixed
- Fix selector for the `O` keyboard shortcut [#7782](https://github.com/jupyter/notebook/pull/7782) ([@jtpio](https://github.com/jtpio), [@krassowski](https://github.com/krassowski))
- Fix missing debugger display provider in Notebook [#7774](https://github.com/jupyter/notebook/pull/7774) ([@arjxn-py](https://github.com/arjxn-py), [@jtpio](https://github.com/jtpio), [@martinRenou](https://github.com/martinRenou))
### Maintenance and upkeep improvements
- Update to JupyterLab v4.5.1 [#7785](https://github.com/jupyter/notebook/pull/7785) ([@jtpio](https://github.com/jtpio))
- Fix link to the IPython install page [#7783](https://github.com/jupyter/notebook/pull/7783) ([@jtpio](https://github.com/jtpio))
- Fix `hatch build`, ignore links to `blog.jupyter.org` [#7780](https://github.com/jupyter/notebook/pull/7780) ([@jtpio](https://github.com/jtpio))
- Bump the actions group with 4 updates [#7773](https://github.com/jupyter/notebook/pull/7773) ([@jtpio](https://github.com/jtpio))
### Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports).
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-11-19&to=2025-12-16&type=c))
@arjxn-py ([activity](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aarjxn-py+updated%3A2025-11-19..2025-12-16&type=Issues)) | @jtpio ([activity](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-11-19..2025-12-16&type=Issues)) | @krassowski ([activity](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-11-19..2025-12-16&type=Issues)) | @martinRenou ([activity](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3AmartinRenou+updated%3A2025-11-19..2025-12-16&type=Issues))
## 7.5.0
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0...be53ec8bc96cdbcb64b6f1c5ec39c123c087a348))
### Enhancements made
- Update to JupyterLab v4.5.0b1 [#7746](https://github.com/jupyter/notebook/pull/7746) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.5.0b0 [#7739](https://github.com/jupyter/notebook/pull/7739) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.5.0a4 [#7728](https://github.com/jupyter/notebook/pull/7728) ([@jtpio](https://github.com/jtpio))
- Increase the checkpoint polling interval to 30s [#7711](https://github.com/jupyter/notebook/pull/7711) ([@jtpio](https://github.com/jtpio))
- Define `O` as the keyboard shortcut to toggle cell outputs [#7709](https://github.com/jupyter/notebook/pull/7709) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.5.0a3 [#7703](https://github.com/jupyter/notebook/pull/7703) ([@jtpio](https://github.com/jtpio))
### Bugs fixed
- Expose the cell toolbar settings [#7766](https://github.com/jupyter/notebook/pull/7766) ([@jtpio](https://github.com/jtpio))
- Handle file rename errors [#7710](https://github.com/jupyter/notebook/pull/7710) ([@jtpio](https://github.com/jtpio))
- Fix open file with “#” in the filename [#7698](https://github.com/jupyter/notebook/pull/7698) ([@itsmevichu](https://github.com/itsmevichu))
### Maintenance and upkeep improvements
- Update to JupyterLab v4.5.0 [#7768](https://github.com/jupyter/notebook/pull/7768) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.5.0rc1 [#7764](https://github.com/jupyter/notebook/pull/7764) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.5.0rc0 [#7755](https://github.com/jupyter/notebook/pull/7755) ([@jtpio](https://github.com/jtpio))
- Bump the actions group across 1 directory with 3 updates [#7751](https://github.com/jupyter/notebook/pull/7751) ([@dependabot](https://github.com/dependabot))
- Use Node.js 24 / npm 11 to publish releases [#7749](https://github.com/jupyter/notebook/pull/7749) ([@jtpio](https://github.com/jtpio))
- Revert "Pin `click<8.3`" [#7733](https://github.com/jupyter/notebook/pull/7733) ([@jtpio](https://github.com/jtpio))
- Remove link to `npmjs.com` [#7730](https://github.com/jupyter/notebook/pull/7730) ([@jtpio](https://github.com/jtpio))
- Pin `click<8.3` [#7729](https://github.com/jupyter/notebook/pull/7729) ([@jtpio](https://github.com/jtpio))
- Bump the actions group across 1 directory with 3 updates [#7704](https://github.com/jupyter/notebook/pull/7704) ([@dependabot](https://github.com/dependabot))
- Update to JupyterLab v4.5.0a2 [#7694](https://github.com/jupyter/notebook/pull/7694) ([@jtpio](https://github.com/jtpio))
- Pin `httpx` [#7691](https://github.com/jupyter/notebook/pull/7691) ([@jtpio](https://github.com/jtpio))
- Bump prefix-dev/setup-pixi from 0.8.10 to 0.8.11 in the actions group [#7675](https://github.com/jupyter/notebook/pull/7675) ([@dependabot](https://github.com/dependabot))
- Bump prefix-dev/setup-pixi from 0.8.8 to 0.8.10 in the actions group [#7665](https://github.com/jupyter/notebook/pull/7665) ([@dependabot](https://github.com/dependabot))
- Bump brace-expansion from 1.1.11 to 1.1.12 in /ui-tests [#7664](https://github.com/jupyter/notebook/pull/7664) ([@dependabot](https://github.com/dependabot))
- Revert "CI: pin to `jupyter-core<5.8.0` on Windows" [#7657](https://github.com/jupyter/notebook/pull/7657) ([@minrk](https://github.com/minrk))
- Update to JupyterLab v4.5.0a1 [#7656](https://github.com/jupyter/notebook/pull/7656) ([@jtpio](https://github.com/jtpio))
- CI: pin to `jupyter-core<5.8.0` on Windows [#7655](https://github.com/jupyter/notebook/pull/7655) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.5.0a0 [#7650](https://github.com/jupyter/notebook/pull/7650) ([@jtpio](https://github.com/jtpio))
- Run UI tests on `ubuntu-latest` [#7639](https://github.com/jupyter/notebook/pull/7639) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.4.1 [#7638](https://github.com/jupyter/notebook/pull/7638) ([@jtpio](https://github.com/jtpio))
- Bump prefix-dev/setup-pixi from 0.8.5 to 0.8.8 in the actions group [#7637](https://github.com/jupyter/notebook/pull/7637) ([@dependabot](https://github.com/dependabot))
- chore: Fix UP006 [#7633](https://github.com/jupyter/notebook/pull/7633) ([@honnix](https://github.com/honnix))
- Bump prefix-dev/setup-pixi from 0.8.4 to 0.8.5 in the actions group [#7632](https://github.com/jupyter/notebook/pull/7632) ([@dependabot](https://github.com/dependabot))
- Drop support for Python 3.8 [#7628](https://github.com/jupyter/notebook/pull/7628) ([@honnix](https://github.com/honnix))
### Documentation improvements
- User facing changelog for 7.5 [#7770](https://github.com/jupyter/notebook/pull/7770) ([@jtpio](https://github.com/jtpio))
- Clean up references to Gitpod [#7767](https://github.com/jupyter/notebook/pull/7767) ([@jtpio](https://github.com/jtpio))
- Fix link to Code of Conduct in CONTRIBUTING.md [#7758](https://github.com/jupyter/notebook/pull/7758) ([@jtpio](https://github.com/jtpio))
- Remove JupyterCon 2025 announcement banner [#7757](https://github.com/jupyter/notebook/pull/7757) ([@jasongrout](https://github.com/jasongrout))
- Update JupyterCon 2025 announcement links [#7744](https://github.com/jupyter/notebook/pull/7744) ([@krassowski](https://github.com/krassowski))
- Add JupyterCon banner and add Jupyter colors [#7727](https://github.com/jupyter/notebook/pull/7727) ([@choldgraf](https://github.com/choldgraf))
- Fix grammatical issues in Contributing.md [#7669](https://github.com/jupyter/notebook/pull/7669) ([@sangampaudel530](https://github.com/sangampaudel530))
- Fixed grammar and typos in CONTRIBUTING.md [#7645](https://github.com/jupyter/notebook/pull/7645) ([@jchen1223](https://github.com/jchen1223))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-04-09&to=2025-11-19&type=c))
[@afshin](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aafshin+updated%3A2025-04-09..2025-11-19&type=Issues) | [@choldgraf](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Acholdgraf+updated%3A2025-04-09..2025-11-19&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-04-09..2025-11-19&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-04-09..2025-11-19&type=Issues) | [@honnix](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahonnix+updated%3A2025-04-09..2025-11-19&type=Issues) | [@itsmevichu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aitsmevichu+updated%3A2025-04-09..2025-11-19&type=Issues) | [@jasongrout](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajasongrout+updated%3A2025-04-09..2025-11-19&type=Issues) | [@jchen1223](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajchen1223+updated%3A2025-04-09..2025-11-19&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-04-09..2025-11-19&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-04-09..2025-11-19&type=Issues) | [@lumberbot-app](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Alumberbot-app+updated%3A2025-04-09..2025-11-19&type=Issues) | [@minrk](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aminrk+updated%3A2025-04-09..2025-11-19&type=Issues) | [@nkn2022](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ankn2022+updated%3A2025-04-09..2025-11-19&type=Issues) | [@sangampaudel530](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Asangampaudel530+updated%3A2025-04-09..2025-11-19&type=Issues)
## 7.5.0rc1
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-rc.0...7533ccab5e4adc765e57a35b1791850daf952044))
### Maintenance and upkeep improvements
- Update to JupyterLab v4.5.0rc1 [#7764](https://github.com/jupyter/notebook/pull/7764) ([@jtpio](https://github.com/jtpio))
- Bump the actions group across 1 directory with 3 updates [#7751](https://github.com/jupyter/notebook/pull/7751) ([@dependabot](https://github.com/dependabot))
### Documentation improvements
- Fix link to Code of Conduct in CONTRIBUTING.md [#7758](https://github.com/jupyter/notebook/pull/7758) ([@jtpio](https://github.com/jtpio))
- Remove JupyterCon 2025 announcement banner [#7757](https://github.com/jupyter/notebook/pull/7757) ([@jasongrout](https://github.com/jasongrout))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-11-03&to=2025-11-14&type=c))
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-11-03..2025-11-14&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-11-03..2025-11-14&type=Issues) | [@jasongrout](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajasongrout+updated%3A2025-11-03..2025-11-14&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-11-03..2025-11-14&type=Issues)
## 7.5.0rc0
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-beta.1...18ba796a58402999044b7e8c4401319b76fed0ce))
### Maintenance and upkeep improvements
- Update to JupyterLab v4.5.0rc0 [#7755](https://github.com/jupyter/notebook/pull/7755) ([@jtpio](https://github.com/jtpio))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-10-20&to=2025-11-03&type=c))
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-10-20..2025-11-03&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-10-20..2025-11-03&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-10-20..2025-11-03&type=Issues)
## 7.5.0b1
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-beta.0...7f84b95ed6550508f9de03d27cd8c2cb84777648))
### Enhancements made
- Update to JupyterLab v4.5.0b1 [#7746](https://github.com/jupyter/notebook/pull/7746) ([@jtpio](https://github.com/jtpio))
### Maintenance and upkeep improvements
- Use Node.js 24 / npm 11 to publish releases [#7749](https://github.com/jupyter/notebook/pull/7749) ([@jtpio](https://github.com/jtpio))
### Documentation improvements
- Update JupyterCon 2025 announcement links [#7744](https://github.com/jupyter/notebook/pull/7744) ([@krassowski](https://github.com/krassowski))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-09-29&to=2025-10-20&type=c))
[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-09-29..2025-10-20&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-09-29..2025-10-20&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-09-29..2025-10-20&type=Issues) | [@nkn2022](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ankn2022+updated%3A2025-09-29..2025-10-20&type=Issues)
## 7.5.0b0
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.3...828708ec26cc4d2ff9f8b725b00024481ae42d2d))
### Enhancements made
- Update to JupyterLab v4.5.0b0 [#7739](https://github.com/jupyter/notebook/pull/7739) ([@jtpio](https://github.com/jtpio))
### Documentation improvements
- Add JupyterCon banner and add Jupyter colors [#7727](https://github.com/jupyter/notebook/pull/7727) ([@choldgraf](https://github.com/choldgraf))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-09-24&to=2025-09-29&type=c))
[@choldgraf](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Acholdgraf+updated%3A2025-09-24..2025-09-29&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-09-24..2025-09-29&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-09-24..2025-09-29&type=Issues)
## 7.5.0a3
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.2...254b06ca4b232a0a96ad2dddde560e41df371e57))
### Enhancements made
- Update to JupyterLab v4.5.0a4 [#7728](https://github.com/jupyter/notebook/pull/7728) ([@jtpio](https://github.com/jtpio))
- Increase the checkpoint polling interval to 30s [#7711](https://github.com/jupyter/notebook/pull/7711) ([@jtpio](https://github.com/jtpio))
- Define `O` as the keyboard shortcut to toggle cell outputs [#7709](https://github.com/jupyter/notebook/pull/7709) ([@jtpio](https://github.com/jtpio))
### Bugs fixed
- Handle file rename errors [#7710](https://github.com/jupyter/notebook/pull/7710) ([@jtpio](https://github.com/jtpio))
### Maintenance and upkeep improvements
- Revert "Pin `click<8.3`" [#7733](https://github.com/jupyter/notebook/pull/7733) ([@jtpio](https://github.com/jtpio))
- Remove link to `npmjs.com` [#7730](https://github.com/jupyter/notebook/pull/7730) ([@jtpio](https://github.com/jtpio))
- Pin `click<8.3` [#7729](https://github.com/jupyter/notebook/pull/7729) ([@jtpio](https://github.com/jtpio))
- Bump the actions group across 1 directory with 3 updates [#7704](https://github.com/jupyter/notebook/pull/7704) ([@dependabot](https://github.com/dependabot))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-08-18&to=2025-09-24&type=c))
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-08-18..2025-09-24&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-08-18..2025-09-24&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-08-18..2025-09-24&type=Issues) | [@nkn2022](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ankn2022+updated%3A2025-08-18..2025-09-24&type=Issues)
## 7.5.0a2
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.1...3100d879bfe09c629b4add998bd2ac408ffa2af8))
### Enhancements made
- Update to JupyterLab v4.5.0a3 [#7703](https://github.com/jupyter/notebook/pull/7703) ([@jtpio](https://github.com/jtpio))
### Bugs fixed
- Fix open file with “#” in the filename [#7698](https://github.com/jupyter/notebook/pull/7698) ([@itsmevichu](https://github.com/itsmevichu))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-08-11&to=2025-08-18&type=c))
[@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-08-11..2025-08-18&type=Issues) | [@itsmevichu](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aitsmevichu+updated%3A2025-08-11..2025-08-18&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-08-11..2025-08-18&type=Issues)
## 7.5.0a1
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.5.0-alpha.0...f56a27c17bfd85f37a27dea9512c675120571e63))
### Maintenance and upkeep improvements
- Update to JupyterLab v4.5.0a2 [#7694](https://github.com/jupyter/notebook/pull/7694) ([@jtpio](https://github.com/jtpio))
- Pin `httpx` [#7691](https://github.com/jupyter/notebook/pull/7691) ([@jtpio](https://github.com/jtpio))
- Bump prefix-dev/setup-pixi from 0.8.10 to 0.8.11 in the actions group [#7675](https://github.com/jupyter/notebook/pull/7675) ([@dependabot](https://github.com/dependabot))
- Bump prefix-dev/setup-pixi from 0.8.8 to 0.8.10 in the actions group [#7665](https://github.com/jupyter/notebook/pull/7665) ([@dependabot](https://github.com/dependabot))
- Bump brace-expansion from 1.1.11 to 1.1.12 in /ui-tests [#7664](https://github.com/jupyter/notebook/pull/7664) ([@dependabot](https://github.com/dependabot))
- Revert "CI: pin to `jupyter-core<5.8.0` on Windows" [#7657](https://github.com/jupyter/notebook/pull/7657) ([@minrk](https://github.com/minrk))
- Update to JupyterLab v4.5.0a1 [#7656](https://github.com/jupyter/notebook/pull/7656) ([@jtpio](https://github.com/jtpio))
- CI: pin to `jupyter-core<5.8.0` on Windows [#7655](https://github.com/jupyter/notebook/pull/7655) ([@jtpio](https://github.com/jtpio))
### Documentation improvements
- Fix grammatical issues in Contributing.md [#7669](https://github.com/jupyter/notebook/pull/7669) ([@sangampaudel530](https://github.com/sangampaudel530))
- Fixed grammar and typos in CONTRIBUTING.md [#7645](https://github.com/jupyter/notebook/pull/7645) ([@jchen1223](https://github.com/jchen1223))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-05-07&to=2025-08-11&type=c))
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-05-07..2025-08-11&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-05-07..2025-08-11&type=Issues) | [@jchen1223](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajchen1223+updated%3A2025-05-07..2025-08-11&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-05-07..2025-08-11&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Akrassowski+updated%3A2025-05-07..2025-08-11&type=Issues) | [@minrk](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Aminrk+updated%3A2025-05-07..2025-08-11&type=Issues) | [@sangampaudel530](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Asangampaudel530+updated%3A2025-05-07..2025-08-11&type=Issues)
## 7.5.0a0
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0...22e29fc41901ef8116670bc8a04eeb833858ff51))
### Maintenance and upkeep improvements
- Update to JupyterLab v4.5.0a0 [#7650](https://github.com/jupyter/notebook/pull/7650) ([@jtpio](https://github.com/jtpio))
- Run UI tests on `ubuntu-latest` [#7639](https://github.com/jupyter/notebook/pull/7639) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.4.1 [#7638](https://github.com/jupyter/notebook/pull/7638) ([@jtpio](https://github.com/jtpio))
- Bump prefix-dev/setup-pixi from 0.8.5 to 0.8.8 in the actions group [#7637](https://github.com/jupyter/notebook/pull/7637) ([@dependabot](https://github.com/dependabot))
- chore: Fix UP006 [#7633](https://github.com/jupyter/notebook/pull/7633) ([@honnix](https://github.com/honnix))
- Bump prefix-dev/setup-pixi from 0.8.4 to 0.8.5 in the actions group [#7632](https://github.com/jupyter/notebook/pull/7632) ([@dependabot](https://github.com/dependabot))
- Drop support for Python 3.8 [#7628](https://github.com/jupyter/notebook/pull/7628) ([@honnix](https://github.com/honnix))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-04-09&to=2025-05-07&type=c))
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-04-09..2025-05-07&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-04-09..2025-05-07&type=Issues) | [@honnix](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahonnix+updated%3A2025-04-09..2025-05-07&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-04-09..2025-05-07&type=Issues)
## 7.4
Jupyter Notebook 7.4 is based on JupyterLab 4.4, and includes a number of new features, bug fixes, and enhancements for extension developers. This release is compatible with extensions supporting JupyterLab 4.0. Extension authors are recommended to consult the [Extension Migration Guide](https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html#jupyterlab-4-3-to-4-4) which lists deprecations and changes to the public API.
@ -405,6 +67,30 @@ The context menu, available under right mouse click in browsers, can now be disa
by toggling the `Enable Context Menu` option available in the Command Palette,
or via the JSON Settings Editor in the Application Context Menu.
<!-- <START NEW CHANGELOG ENTRY> -->
## 7.5.0a0
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.4.0...22e29fc41901ef8116670bc8a04eeb833858ff51))
### Maintenance and upkeep improvements
- Update to JupyterLab v4.5.0a0 [#7650](https://github.com/jupyter/notebook/pull/7650) ([@jtpio](https://github.com/jtpio))
- Run UI tests on `ubuntu-latest` [#7639](https://github.com/jupyter/notebook/pull/7639) ([@jtpio](https://github.com/jtpio))
- Update to JupyterLab v4.4.1 [#7638](https://github.com/jupyter/notebook/pull/7638) ([@jtpio](https://github.com/jtpio))
- Bump prefix-dev/setup-pixi from 0.8.5 to 0.8.8 in the actions group [#7637](https://github.com/jupyter/notebook/pull/7637) ([@dependabot](https://github.com/dependabot))
- chore: Fix UP006 [#7633](https://github.com/jupyter/notebook/pull/7633) ([@honnix](https://github.com/honnix))
- Bump prefix-dev/setup-pixi from 0.8.4 to 0.8.5 in the actions group [#7632](https://github.com/jupyter/notebook/pull/7632) ([@dependabot](https://github.com/dependabot))
- Drop support for Python 3.8 [#7628](https://github.com/jupyter/notebook/pull/7628) ([@honnix](https://github.com/honnix))
### Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/notebook/graphs/contributors?from=2025-04-09&to=2025-05-07&type=c))
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Adependabot+updated%3A2025-04-09..2025-05-07&type=Issues) | [@github-actions](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Agithub-actions+updated%3A2025-04-09..2025-05-07&type=Issues) | [@honnix](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ahonnix+updated%3A2025-04-09..2025-05-07&type=Issues) | [@jtpio](https://github.com/search?q=repo%3Ajupyter%2Fnotebook+involves%3Ajtpio+updated%3A2025-04-09..2025-05-07&type=Issues)
<!-- <END NEW CHANGELOG ENTRY> -->
## 7.4.0
([Full Changelog](https://github.com/jupyter/notebook/compare/@jupyter-notebook/application-extension@7.3.2...fbfe36574e04b16ed7ba9303c5e819330f402f87))

@ -2,7 +2,7 @@
Thanks for contributing to Jupyter Notebook!
Make sure to follow [Project Jupyter's Code of Conduct](https://jupyter.org/governance/conduct/code-of-conduct)
Make sure to follow [Project Jupyter's Code of Conduct](https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md)
for a friendly and welcoming collaborative environment.
## Setting up a development environment
@ -72,7 +72,7 @@ jupyter notebook
### Local changes in Notebook dependencies
The development installation described above fetches JavaScript dependencies from `npm`.
The development installation described above fetches JavaScript dependencies from [npmjs](https://www.npmjs.com/),
according to the versions in the _package.json_ file.
However, it is sometimes useful to be able to test changes in Notebook, with dependencies (e.g. `@jupyterlab` packages) that have not yet
been published.
@ -243,5 +243,6 @@ Alternatively you can also contribute to Jupyter Notebook without setting up a l
- Run `pixi shell` in a terminal to activate the development environment
- Use the commands above for building the extension and running the tests, for example: `jlpm build`
- To start the application: `pixi run start`. A popup should appear with a button to open the Jupyter Notebook in a new browser tab. If the popup does not appear, you can navigate to the "Forwarded ports" panel to find the URL to the application.
- GitHub's [built-in editor](https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files) is suitable for contributing small fixes.
- [Gitpod](https://gitpod.io/#https://github.com/jupyter/notebook) integration is enabled. The Gitpod config automatically builds the Jupyter Notebook application and the documentation.
- GitHubs [built-in editor](https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files) is suitable for contributing small fixes.
- A more advanced [github.dev](https://docs.github.com/en/codespaces/the-githubdev-web-based-editor) editor can be accessed by pressing the dot (.) key while in the Jupyter Notebook GitHub repository

@ -3,6 +3,7 @@
![Github Actions Status](https://github.com/jupyter/notebook/workflows/Build/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/jupyter-notebook/badge/?version=latest)](https://jupyter-notebook.readthedocs.io/en/latest/?badge=latest)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyter/notebook/main?urlpath=tree)
[![Gitpod](https://img.shields.io/badge/gitpod_editor-open-blue.svg)](https://gitpod.io/#https://github.com/jupyter/notebook)
The Jupyter notebook is a web-based notebook environment for interactive
computing.

@ -1,210 +1,212 @@
{
"name": "@jupyter-notebook/app",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"private": true,
"scripts": {
"build": "rspack",
"build:prod": "rspack --config ./rspack.prod.config.js",
"build": "webpack",
"build:prod": "webpack --config ./webpack.prod.config.js",
"clean": "rimraf build && jlpm run clean:static",
"clean:static": "rimraf -g \"../notebook/static/!(favicons)\"",
"watch": "rspack --watch --config rspack.config.js"
"watch": "webpack --config ./webpack.config.watch.js"
},
"resolutions": {
"@codemirror/state": "~6.5.2",
"@codemirror/view": "~6.38.1",
"@jupyter-notebook/application": "~7.6.0-alpha.0",
"@jupyter-notebook/application-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/console-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/docmanager-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/documentsearch-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/help-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/notebook-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/terminal-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/tree": "~7.6.0-alpha.0",
"@jupyter-notebook/tree-extension": "~7.6.0-alpha.0",
"@jupyter-notebook/ui-components": "~7.6.0-alpha.0",
"@codemirror/view": "~6.36.7",
"@jupyter-notebook/application": "~7.5.0-alpha.0",
"@jupyter-notebook/application-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/console-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/docmanager-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/documentsearch-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/help-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/notebook-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/terminal-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/tree": "~7.5.0-alpha.0",
"@jupyter-notebook/tree-extension": "~7.5.0-alpha.0",
"@jupyter-notebook/ui-components": "~7.5.0-alpha.0",
"@jupyter/react-components": "~0.16.7",
"@jupyter/web-components": "~0.16.7",
"@jupyter/ydoc": "~3.1.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/application-extension": "~4.6.0-alpha.0",
"@jupyterlab/apputils": "~4.7.0-alpha.0",
"@jupyterlab/apputils-extension": "~4.6.0-alpha.0",
"@jupyterlab/attachments": "~4.6.0-alpha.0",
"@jupyterlab/audio-extension": "~4.6.0-alpha.0",
"@jupyterlab/cell-toolbar": "~4.6.0-alpha.0",
"@jupyterlab/cell-toolbar-extension": "~4.6.0-alpha.0",
"@jupyterlab/celltags-extension": "~4.6.0-alpha.0",
"@jupyterlab/codeeditor": "~4.6.0-alpha.0",
"@jupyterlab/codemirror": "~4.6.0-alpha.0",
"@jupyterlab/codemirror-extension": "~4.6.0-alpha.0",
"@jupyterlab/completer": "~4.6.0-alpha.0",
"@jupyterlab/completer-extension": "~4.6.0-alpha.0",
"@jupyterlab/console": "~4.6.0-alpha.0",
"@jupyterlab/console-extension": "~4.6.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/csvviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/debugger": "~4.6.0-alpha.0",
"@jupyterlab/debugger-extension": "~4.6.0-alpha.0",
"@jupyterlab/docmanager": "~4.6.0-alpha.0",
"@jupyterlab/docmanager-extension": "~4.6.0-alpha.0",
"@jupyterlab/documentsearch": "~4.6.0-alpha.0",
"@jupyterlab/documentsearch-extension": "~4.6.0-alpha.0",
"@jupyterlab/extensionmanager": "~4.6.0-alpha.0",
"@jupyterlab/extensionmanager-extension": "~4.6.0-alpha.0",
"@jupyterlab/filebrowser": "~4.6.0-alpha.0",
"@jupyterlab/filebrowser-extension": "~4.6.0-alpha.0",
"@jupyterlab/fileeditor": "~4.6.0-alpha.0",
"@jupyterlab/fileeditor-extension": "~4.6.0-alpha.0",
"@jupyterlab/help-extension": "~4.6.0-alpha.0",
"@jupyterlab/htmlviewer": "~4.6.0-alpha.0",
"@jupyterlab/htmlviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/hub-extension": "~4.6.0-alpha.0",
"@jupyterlab/imageviewer": "~4.6.0-alpha.0",
"@jupyterlab/imageviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/javascript-extension": "~4.6.0-alpha.0",
"@jupyterlab/json-extension": "~4.6.0-alpha.0",
"@jupyterlab/logconsole-extension": "~4.6.0-alpha.0",
"@jupyterlab/lsp": "~4.6.0-alpha.0",
"@jupyterlab/lsp-extension": "~4.6.0-alpha.0",
"@jupyterlab/mainmenu": "~4.6.0-alpha.0",
"@jupyterlab/mainmenu-extension": "~4.6.0-alpha.0",
"@jupyterlab/markdownviewer": "~4.6.0-alpha.0",
"@jupyterlab/markdownviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/markedparser-extension": "~4.6.0-alpha.0",
"@jupyterlab/mathjax-extension": "~4.6.0-alpha.0",
"@jupyterlab/mermaid": "~4.6.0-alpha.0",
"@jupyterlab/mermaid-extension": "~4.6.0-alpha.0",
"@jupyterlab/metadataform": "~4.6.0-alpha.0",
"@jupyterlab/metadataform-extension": "~4.6.0-alpha.0",
"@jupyterlab/notebook": "~4.6.0-alpha.0",
"@jupyterlab/notebook-extension": "~4.6.0-alpha.0",
"@jupyterlab/observables": "~5.6.0-alpha.0",
"@jupyterlab/outputarea": "~4.6.0-alpha.0",
"@jupyterlab/pdf-extension": "~4.6.0-alpha.0",
"@jupyterlab/pluginmanager-extension": "~4.6.0-alpha.0",
"@jupyterlab/rendermime": "~4.6.0-alpha.0",
"@jupyterlab/rendermime-interfaces": "~3.14.0-alpha.0",
"@jupyterlab/running-extension": "~4.6.0-alpha.0",
"@jupyterlab/services": "~7.6.0-alpha.0",
"@jupyterlab/services-extension": "~4.6.0-alpha.0",
"@jupyterlab/settingeditor": "~4.6.0-alpha.0",
"@jupyterlab/settingeditor-extension": "~4.6.0-alpha.0",
"@jupyterlab/settingregistry": "~4.6.0-alpha.0",
"@jupyterlab/shortcuts-extension": "~5.4.0-alpha.0",
"@jupyterlab/statedb": "~4.6.0-alpha.0",
"@jupyterlab/statusbar": "~4.6.0-alpha.0",
"@jupyterlab/terminal": "~4.6.0-alpha.0",
"@jupyterlab/terminal-extension": "~4.6.0-alpha.0",
"@jupyterlab/theme-dark-extension": "~4.6.0-alpha.0",
"@jupyterlab/theme-dark-high-contrast-extension": "~4.6.0-alpha.0",
"@jupyterlab/theme-light-extension": "~4.6.0-alpha.0",
"@jupyterlab/toc-extension": "~6.6.0-alpha.0",
"@jupyterlab/tooltip": "~4.6.0-alpha.0",
"@jupyterlab/tooltip-extension": "~4.6.0-alpha.0",
"@jupyterlab/translation": "~4.6.0-alpha.0",
"@jupyterlab/translation-extension": "~4.6.0-alpha.0",
"@jupyterlab/ui-components": "~4.6.0-alpha.0",
"@jupyterlab/ui-components-extension": "~4.6.0-alpha.0",
"@jupyterlab/vega5-extension": "~4.6.0-alpha.0",
"@jupyterlab/video-extension": "~4.6.0-alpha.0",
"@jupyter/ydoc": "~3.0.4",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/application-extension": "~4.5.0-alpha.1",
"@jupyterlab/apputils": "~4.6.0-alpha.1",
"@jupyterlab/apputils-extension": "~4.5.0-alpha.1",
"@jupyterlab/attachments": "~4.5.0-alpha.1",
"@jupyterlab/cell-toolbar": "~4.5.0-alpha.1",
"@jupyterlab/cell-toolbar-extension": "~4.5.0-alpha.1",
"@jupyterlab/celltags-extension": "~4.5.0-alpha.1",
"@jupyterlab/codeeditor": "~4.5.0-alpha.1",
"@jupyterlab/codemirror": "~4.5.0-alpha.1",
"@jupyterlab/codemirror-extension": "~4.5.0-alpha.1",
"@jupyterlab/completer": "~4.5.0-alpha.1",
"@jupyterlab/completer-extension": "~4.5.0-alpha.1",
"@jupyterlab/console": "~4.5.0-alpha.1",
"@jupyterlab/console-extension": "~4.5.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/csvviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/debugger": "~4.5.0-alpha.1",
"@jupyterlab/debugger-extension": "~4.5.0-alpha.1",
"@jupyterlab/docmanager": "~4.5.0-alpha.1",
"@jupyterlab/docmanager-extension": "~4.5.0-alpha.1",
"@jupyterlab/documentsearch": "~4.5.0-alpha.1",
"@jupyterlab/documentsearch-extension": "~4.5.0-alpha.1",
"@jupyterlab/extensionmanager": "~4.5.0-alpha.1",
"@jupyterlab/extensionmanager-extension": "~4.5.0-alpha.1",
"@jupyterlab/filebrowser": "~4.5.0-alpha.1",
"@jupyterlab/filebrowser-extension": "~4.5.0-alpha.1",
"@jupyterlab/fileeditor": "~4.5.0-alpha.1",
"@jupyterlab/fileeditor-extension": "~4.5.0-alpha.1",
"@jupyterlab/help-extension": "~4.5.0-alpha.1",
"@jupyterlab/htmlviewer": "~4.5.0-alpha.1",
"@jupyterlab/htmlviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/hub-extension": "~4.5.0-alpha.1",
"@jupyterlab/imageviewer": "~4.5.0-alpha.1",
"@jupyterlab/imageviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/javascript-extension": "~4.5.0-alpha.1",
"@jupyterlab/json-extension": "~4.5.0-alpha.1",
"@jupyterlab/logconsole-extension": "~4.5.0-alpha.1",
"@jupyterlab/lsp": "~4.5.0-alpha.1",
"@jupyterlab/lsp-extension": "~4.5.0-alpha.1",
"@jupyterlab/mainmenu": "~4.5.0-alpha.1",
"@jupyterlab/mainmenu-extension": "~4.5.0-alpha.1",
"@jupyterlab/markdownviewer": "~4.5.0-alpha.1",
"@jupyterlab/markdownviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/markedparser-extension": "~4.5.0-alpha.1",
"@jupyterlab/mathjax-extension": "~4.5.0-alpha.1",
"@jupyterlab/mermaid": "~4.5.0-alpha.1",
"@jupyterlab/mermaid-extension": "~4.5.0-alpha.1",
"@jupyterlab/metadataform": "~4.5.0-alpha.1",
"@jupyterlab/metadataform-extension": "~4.5.0-alpha.1",
"@jupyterlab/notebook": "~4.5.0-alpha.1",
"@jupyterlab/notebook-extension": "~4.5.0-alpha.1",
"@jupyterlab/observables": "~5.5.0-alpha.1",
"@jupyterlab/outputarea": "~4.5.0-alpha.1",
"@jupyterlab/pdf-extension": "~4.5.0-alpha.1",
"@jupyterlab/pluginmanager-extension": "~4.5.0-alpha.1",
"@jupyterlab/rendermime": "~4.5.0-alpha.1",
"@jupyterlab/rendermime-interfaces": "~3.13.0-alpha.1",
"@jupyterlab/running-extension": "~4.5.0-alpha.1",
"@jupyterlab/services": "~7.5.0-alpha.1",
"@jupyterlab/services-extension": "~4.5.0-alpha.1",
"@jupyterlab/settingeditor": "~4.5.0-alpha.1",
"@jupyterlab/settingeditor-extension": "~4.5.0-alpha.1",
"@jupyterlab/settingregistry": "~4.5.0-alpha.1",
"@jupyterlab/shortcuts-extension": "~5.3.0-alpha.1",
"@jupyterlab/statedb": "~4.5.0-alpha.1",
"@jupyterlab/statusbar": "~4.5.0-alpha.1",
"@jupyterlab/terminal": "~4.5.0-alpha.1",
"@jupyterlab/terminal-extension": "~4.5.0-alpha.1",
"@jupyterlab/theme-dark-extension": "~4.5.0-alpha.1",
"@jupyterlab/theme-dark-high-contrast-extension": "~4.5.0-alpha.1",
"@jupyterlab/theme-light-extension": "~4.5.0-alpha.1",
"@jupyterlab/toc-extension": "~6.5.0-alpha.1",
"@jupyterlab/tooltip": "~4.5.0-alpha.1",
"@jupyterlab/tooltip-extension": "~4.5.0-alpha.1",
"@jupyterlab/translation": "~4.5.0-alpha.1",
"@jupyterlab/translation-extension": "~4.5.0-alpha.1",
"@jupyterlab/ui-components": "~4.5.0-alpha.1",
"@jupyterlab/ui-components-extension": "~4.5.0-alpha.1",
"@jupyterlab/vega5-extension": "~4.5.0-alpha.1",
"@lezer/common": "~1.2.1",
"@lezer/highlight": "~1.2.0",
"@lumino/algorithm": "~2.0.4",
"@lumino/application": "~2.4.5",
"@lumino/commands": "~2.3.3",
"@lumino/coreutils": "~2.2.2",
"@lumino/disposable": "~2.1.5",
"@lumino/domutils": "~2.0.4",
"@lumino/dragdrop": "~2.1.7",
"@lumino/messaging": "~2.0.4",
"@lumino/properties": "~2.0.4",
"@lumino/signaling": "~2.1.5",
"@lumino/virtualdom": "~2.0.4",
"@lumino/widgets": "~2.7.2",
"@lumino/algorithm": "~2.0.3",
"@lumino/application": "~2.4.4",
"@lumino/commands": "~2.3.2",
"@lumino/coreutils": "~2.2.1",
"@lumino/disposable": "~2.1.4",
"@lumino/domutils": "~2.0.3",
"@lumino/dragdrop": "~2.1.6",
"@lumino/messaging": "~2.0.3",
"@lumino/properties": "~2.0.3",
"@lumino/signaling": "~2.1.4",
"@lumino/virtualdom": "~2.0.3",
"@lumino/widgets": "~2.7.1",
"react": "~18.2.0",
"react-dom": "~18.2.0",
"yjs": "~13.6.8"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyter-notebook/application-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/console-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/docmanager-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/documentsearch-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/help-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/notebook-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/terminal-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/tree": "^7.6.0-alpha.0",
"@jupyter-notebook/tree-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/ui-components": "^7.6.0-alpha.0",
"@jupyterlab/application-extension": "~4.6.0-alpha.0",
"@jupyterlab/apputils-extension": "~4.6.0-alpha.0",
"@jupyterlab/attachments": "~4.6.0-alpha.0",
"@jupyterlab/audio-extension": "~4.6.0-alpha.0",
"@jupyterlab/cell-toolbar-extension": "~4.6.0-alpha.0",
"@jupyterlab/celltags-extension": "~4.6.0-alpha.0",
"@jupyterlab/codemirror": "~4.6.0-alpha.0",
"@jupyterlab/codemirror-extension": "~4.6.0-alpha.0",
"@jupyterlab/completer-extension": "~4.6.0-alpha.0",
"@jupyterlab/console-extension": "~4.6.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/csvviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/debugger-extension": "~4.6.0-alpha.0",
"@jupyterlab/docmanager-extension": "~4.6.0-alpha.0",
"@jupyterlab/documentsearch-extension": "~4.6.0-alpha.0",
"@jupyterlab/extensionmanager-extension": "~4.6.0-alpha.0",
"@jupyterlab/filebrowser-extension": "~4.6.0-alpha.0",
"@jupyterlab/fileeditor-extension": "~4.6.0-alpha.0",
"@jupyterlab/help-extension": "~4.6.0-alpha.0",
"@jupyterlab/htmlviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/hub-extension": "~4.6.0-alpha.0",
"@jupyterlab/imageviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/javascript-extension": "~4.6.0-alpha.0",
"@jupyterlab/json-extension": "~4.6.0-alpha.0",
"@jupyterlab/logconsole-extension": "~4.6.0-alpha.0",
"@jupyterlab/lsp": "~4.6.0-alpha.0",
"@jupyterlab/lsp-extension": "~4.6.0-alpha.0",
"@jupyterlab/mainmenu-extension": "~4.6.0-alpha.0",
"@jupyterlab/markdownviewer-extension": "~4.6.0-alpha.0",
"@jupyterlab/markedparser-extension": "~4.6.0-alpha.0",
"@jupyterlab/mathjax-extension": "~4.6.0-alpha.0",
"@jupyterlab/mermaid-extension": "~4.6.0-alpha.0",
"@jupyterlab/metadataform-extension": "~4.6.0-alpha.0",
"@jupyterlab/notebook-extension": "~4.6.0-alpha.0",
"@jupyterlab/pdf-extension": "~4.6.0-alpha.0",
"@jupyterlab/pluginmanager-extension": "~4.6.0-alpha.0",
"@jupyterlab/running-extension": "~4.6.0-alpha.0",
"@jupyterlab/services-extension": "~4.6.0-alpha.0",
"@jupyterlab/settingeditor": "~4.6.0-alpha.0",
"@jupyterlab/settingeditor-extension": "~4.6.0-alpha.0",
"@jupyterlab/shortcuts-extension": "~5.4.0-alpha.0",
"@jupyterlab/terminal-extension": "~4.6.0-alpha.0",
"@jupyterlab/theme-dark-extension": "~4.6.0-alpha.0",
"@jupyterlab/theme-dark-high-contrast-extension": "~4.6.0-alpha.0",
"@jupyterlab/theme-light-extension": "~4.6.0-alpha.0",
"@jupyterlab/toc-extension": "~6.6.0-alpha.0",
"@jupyterlab/tooltip-extension": "~4.6.0-alpha.0",
"@jupyterlab/translation-extension": "~4.6.0-alpha.0",
"@jupyterlab/ui-components-extension": "~4.6.0-alpha.0",
"@jupyterlab/vega5-extension": "~4.6.0-alpha.0",
"@jupyterlab/video-extension": "~4.6.0-alpha.0",
"@lumino/coreutils": "~2.2.2",
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyter-notebook/application-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/console-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/docmanager-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/documentsearch-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/help-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/notebook-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/terminal-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/tree": "^7.5.0-alpha.0",
"@jupyter-notebook/tree-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/ui-components": "^7.5.0-alpha.0",
"@jupyterlab/application-extension": "~4.5.0-alpha.1",
"@jupyterlab/apputils-extension": "~4.5.0-alpha.1",
"@jupyterlab/attachments": "~4.5.0-alpha.1",
"@jupyterlab/cell-toolbar-extension": "~4.5.0-alpha.1",
"@jupyterlab/celltags-extension": "~4.5.0-alpha.1",
"@jupyterlab/codemirror": "~4.5.0-alpha.1",
"@jupyterlab/codemirror-extension": "~4.5.0-alpha.1",
"@jupyterlab/completer-extension": "~4.5.0-alpha.1",
"@jupyterlab/console-extension": "~4.5.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/csvviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/debugger-extension": "~4.5.0-alpha.1",
"@jupyterlab/docmanager-extension": "~4.5.0-alpha.1",
"@jupyterlab/documentsearch-extension": "~4.5.0-alpha.1",
"@jupyterlab/extensionmanager-extension": "~4.5.0-alpha.1",
"@jupyterlab/filebrowser-extension": "~4.5.0-alpha.1",
"@jupyterlab/fileeditor-extension": "~4.5.0-alpha.1",
"@jupyterlab/help-extension": "~4.5.0-alpha.1",
"@jupyterlab/htmlviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/hub-extension": "~4.5.0-alpha.1",
"@jupyterlab/imageviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/javascript-extension": "~4.5.0-alpha.1",
"@jupyterlab/json-extension": "~4.5.0-alpha.1",
"@jupyterlab/logconsole-extension": "~4.5.0-alpha.1",
"@jupyterlab/lsp": "~4.5.0-alpha.1",
"@jupyterlab/lsp-extension": "~4.5.0-alpha.1",
"@jupyterlab/mainmenu-extension": "~4.5.0-alpha.1",
"@jupyterlab/markdownviewer-extension": "~4.5.0-alpha.1",
"@jupyterlab/markedparser-extension": "~4.5.0-alpha.1",
"@jupyterlab/mathjax-extension": "~4.5.0-alpha.1",
"@jupyterlab/mermaid-extension": "~4.5.0-alpha.1",
"@jupyterlab/metadataform-extension": "~4.5.0-alpha.1",
"@jupyterlab/notebook-extension": "~4.5.0-alpha.1",
"@jupyterlab/pdf-extension": "~4.5.0-alpha.1",
"@jupyterlab/pluginmanager-extension": "~4.5.0-alpha.1",
"@jupyterlab/running-extension": "~4.5.0-alpha.1",
"@jupyterlab/services-extension": "~4.5.0-alpha.1",
"@jupyterlab/settingeditor": "~4.5.0-alpha.1",
"@jupyterlab/settingeditor-extension": "~4.5.0-alpha.1",
"@jupyterlab/shortcuts-extension": "~5.3.0-alpha.1",
"@jupyterlab/terminal-extension": "~4.5.0-alpha.1",
"@jupyterlab/theme-dark-extension": "~4.5.0-alpha.1",
"@jupyterlab/theme-dark-high-contrast-extension": "~4.5.0-alpha.1",
"@jupyterlab/theme-light-extension": "~4.5.0-alpha.1",
"@jupyterlab/toc-extension": "~6.5.0-alpha.1",
"@jupyterlab/tooltip-extension": "~4.5.0-alpha.1",
"@jupyterlab/translation-extension": "~4.5.0-alpha.1",
"@jupyterlab/ui-components-extension": "~4.5.0-alpha.1",
"@jupyterlab/vega5-extension": "~4.5.0-alpha.1",
"@lumino/coreutils": "~2.2.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"yjs": "^13.5.40"
},
"devDependencies": {
"@jupyterlab/builder": "~4.6.0-alpha.0",
"@jupyterlab/buildutils": "~4.6.0-alpha.0",
"@rspack/cli": "^1.1.8",
"@rspack/core": "^1.1.8",
"@jupyterlab/builder": "~4.5.0-alpha.1",
"@jupyterlab/buildutils": "~4.5.0-alpha.1",
"@types/rimraf": "^3.0.2",
"css-loader": "~5.0.1",
"extra-watch-webpack-plugin": "^1.0.3",
"fs-extra": "^8.1.0",
"glob": "~7.1.6",
"handlebars": "^4.7.7",
"mini-css-extract-plugin": "~0.9.0",
"rimraf": "^3.0.2",
"style-loader": "~1.0.1",
"svg-url-loader": "~6.0.0",
"watch": "~1.0.2",
"webpack": "^5.76.1",
"webpack-bundle-analyzer": "^4.8.0",
"webpack-cli": "^5.0.1",
"webpack-merge": "^5.8.0",
"whatwg-fetch": "^3.0.0"
},
@ -246,7 +248,6 @@
"@jupyterlab/apputils-extension:toolbar-registry",
"@jupyterlab/apputils-extension:utilityCommands"
],
"@jupyterlab/audio-extension": true,
"@jupyterlab/codemirror-extension": true,
"@jupyterlab/completer-extension": [
"@jupyterlab/completer-extension:base-service",
@ -284,7 +285,6 @@
"@jupyterlab/help-extension:resources"
],
"@jupyterlab/htmlviewer-extension": true,
"@jupyterlab/hub-extension": true,
"@jupyterlab/imageviewer-extension": true,
"@jupyterlab/lsp-extension": true,
"@jupyterlab/mainmenu-extension": [
@ -310,14 +310,12 @@
"@jupyterlab/theme-dark-high-contrast-extension": true,
"@jupyterlab/translation-extension": true,
"@jupyterlab/ui-components-extension": true,
"@jupyterlab/video-extension": true
"@jupyterlab/hub-extension": true
},
"/tree": {
"@jupyterlab/cell-toolbar-extension": true,
"@jupyterlab/extensionmanager-extension": true,
"@jupyterlab/filebrowser-extension": [
"@jupyterlab/filebrowser-extension:browser",
"@jupyterlab/filebrowser-extension:create-new-language-file",
"@jupyterlab/filebrowser-extension:download",
"@jupyterlab/filebrowser-extension:file-upload-status",
"@jupyterlab/filebrowser-extension:open-with",
@ -334,15 +332,12 @@
"@jupyterlab/celltags-extension": true,
"@jupyterlab/cell-toolbar-extension": true,
"@jupyterlab/debugger-extension": [
"@jupyterlab/debugger-extension:completions",
"@jupyterlab/debugger-extension:config",
"@jupyterlab/debugger-extension:debug-console",
"@jupyterlab/debugger-extension:main",
"@jupyterlab/debugger-extension:notebooks",
"@jupyterlab/debugger-extension:service",
"@jupyterlab/debugger-extension:sidebar",
"@jupyterlab/debugger-extension:sources",
"@jupyterlab/debugger-extension:display-registry"
"@jupyterlab/debugger-extension:sources"
],
"@jupyterlab/logconsole-extension": true,
"@jupyterlab/metadataform-extension": true,

@ -1,15 +0,0 @@
/*
* Copyright (c) Jupyter Development Team.
* Distributed under the terms of the Modified BSD License.
*/
const base = require('./rspack.config');
module.exports = [
{
...base[0],
bail: false,
watch: true,
},
...base.slice(1),
];

@ -2,14 +2,14 @@
// Distributed under the terms of the Modified BSD License.
// Heavily inspired (and slightly tweaked) from:
// https://github.com/jupyterlab/jupyterlab/blob/master/examples/federated/core_package/rspack.config.js
// https://github.com/jupyterlab/jupyterlab/blob/master/examples/federated/core_package/webpack.config.js
const fs = require('fs-extra');
const path = require('path');
const rspack = require('@rspack/core');
const webpack = require('webpack');
const merge = require('webpack-merge').default;
const Handlebars = require('handlebars');
const { ModuleFederationPlugin } = rspack.container;
const { ModuleFederationPlugin } = webpack.container;
const BundleAnalyzerPlugin =
require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
@ -94,7 +94,7 @@ const extras = Build.ensureAssets({
});
/**
* Create the rspack ``shared`` configuration
* Create the webpack ``shared`` configuration
*/
function createShared(packageData) {
// Set up module federation sharing config

@ -0,0 +1,17 @@
const base = require('./webpack.config');
const ExtraWatchWebpackPlugin = require('extra-watch-webpack-plugin');
module.exports = [
{
...base[0],
bail: false,
watch: true,
plugins: [
...base[0].plugins,
new ExtraWatchWebpackPlugin({
files: ['../packages/_metapackage/tsconfig.tsbuildinfo'],
}),
],
},
...base.slice(1),
];

@ -4,7 +4,7 @@
*/
const merge = require('webpack-merge').default;
const config = require('./rspack.config');
const config = require('./webpack.config');
const WPPlugin = require('@jupyterlab/builder').WPPlugin;
config[0] = merge(config[0], {

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/buildutils",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"private": true,
"description": "Jupyter Notebook - Build Utilities",
"homepage": "https://github.com/jupyter/notebook",
@ -29,7 +29,7 @@
"watch": "tsc -w --listEmittedFiles"
},
"dependencies": {
"@jupyterlab/buildutils": "~4.6.0-alpha.0",
"@jupyterlab/buildutils": "~4.5.0-alpha.1",
"commander": "^6.2.0",
"fs-extra": "^9.1.0",
"semver": "^7.6.3",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

@ -400,7 +400,3 @@ intersphinx_mapping = {
spelling_lang = "en_US"
spelling_word_list_filename = "spelling_wordlist.txt"
def setup(app):
app.add_css_file("https://docs.jupyter.org/en/latest/_static/jupyter.css")

@ -8,7 +8,7 @@ This is for example the case for community contributed themes such as [jupyter-t
Fortunately installing a custom theme for Notebook 7 is very easy. It is the same process as installing a regular extension.
For example let's say you want to install the [JupyterLab Night](https://github.com/jupyterlab-contrib/jupyterlab-night) theme. You can do so by running the following command:
For example let's say you want to install the [JupyterLab Night](https://github.com/martinRenou/jupyterlab-night) theme. You can do so by running the following command:
```bash
pip install jupyterlab-night

@ -45,7 +45,7 @@ notebook and its dependencies.
### Notebook documents
Notebook documents contain the inputs and outputs of an interactive session as
Notebook documents contains the inputs and outputs of a interactive session as
well as additional text that accompanies the code but is not meant for
execution. In this way, notebook files can serve as a complete computational
record of a session, interleaving executable code with explanatory text,
@ -355,7 +355,7 @@ Specific plotting library integration is a feature of the kernel.
## Installing kernels
For information on how to install a Python kernel, refer to the
[IPython install page](https://ipython.org/install).
[IPython install page](https://ipython.org/install.html).
The Jupyter wiki has a long list of [Kernels for other languages](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels).
They usually come with instructions on how to make the kernel available

@ -6,7 +6,7 @@ import re
from collections import namedtuple
# Use "hatch version xx.yy.zz" to handle version changes
__version__ = "7.6.0a0"
__version__ = "7.5.0a0"
# PEP440 version parser
_version_regex = re.compile(

@ -51,7 +51,7 @@
"yjs": "^13.5.40"
},
"devDependencies": {
"@jupyterlab/buildutils": "~4.6.0-alpha.0",
"@jupyterlab/buildutils": "~4.5.0-alpha.1",
"@typescript-eslint/eslint-plugin": "^5.55.0",
"@typescript-eslint/parser": "^5.55.0",
"eslint": "^8.36.0",

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/metapackage",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"private": true,
"description": "Jupyter Notebook - Metapackage",
"homepage": "https://github.com/jupyter/notebook",
@ -20,18 +20,18 @@
"watch": "tsc -b -w --preserveWatchOutput"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyter-notebook/application-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/console-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/docmanager-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/documentsearch-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/help-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/lab-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/notebook-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/terminal-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/tree": "^7.6.0-alpha.0",
"@jupyter-notebook/tree-extension": "^7.6.0-alpha.0",
"@jupyter-notebook/ui-components": "^7.6.0-alpha.0"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyter-notebook/application-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/console-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/docmanager-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/documentsearch-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/help-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/lab-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/notebook-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/terminal-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/tree": "^7.5.0-alpha.0",
"@jupyter-notebook/tree-extension": "^7.5.0-alpha.0",
"@jupyter-notebook/ui-components": "^7.5.0-alpha.0"
},
"devDependencies": {
"typescript": "~5.5.4"

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/application-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Application Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,22 +38,22 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyter-notebook/ui-components": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/apputils": "~4.7.0-alpha.0",
"@jupyterlab/codeeditor": "~4.6.0-alpha.0",
"@jupyterlab/console": "~4.6.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/docmanager": "~4.6.0-alpha.0",
"@jupyterlab/docregistry": "~4.6.0-alpha.0",
"@jupyterlab/mainmenu": "~4.6.0-alpha.0",
"@jupyterlab/rendermime": "~4.6.0-alpha.0",
"@jupyterlab/settingregistry": "~4.6.0-alpha.0",
"@jupyterlab/translation": "~4.6.0-alpha.0",
"@lumino/coreutils": "^2.2.2",
"@lumino/disposable": "^2.1.5",
"@lumino/widgets": "^2.7.2"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyter-notebook/ui-components": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/apputils": "~4.6.0-alpha.1",
"@jupyterlab/codeeditor": "~4.5.0-alpha.1",
"@jupyterlab/console": "~4.5.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/docmanager": "~4.5.0-alpha.1",
"@jupyterlab/docregistry": "~4.5.0-alpha.1",
"@jupyterlab/mainmenu": "~4.5.0-alpha.1",
"@jupyterlab/rendermime": "~4.5.0-alpha.1",
"@jupyterlab/settingregistry": "~4.5.0-alpha.1",
"@jupyterlab/translation": "~4.5.0-alpha.1",
"@lumino/coreutils": "^2.2.1",
"@lumino/disposable": "^2.1.4",
"@lumino/widgets": "^2.7.1"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -9,7 +9,6 @@
"title": "Customize shell widget positioning",
"description": "Overrides default widget position in the application layout",
"default": {
"Debugger Console": { "area": "down" },
"Markdown Preview": { "area": "right" },
"Plugins": { "area": "left" }
}

@ -1,16 +0,0 @@
{
"jupyter.lab.setting-icon": "notebook-ui-components:jupyter",
"jupyter.lab.setting-icon-label": "Jupyter Notebook shortcuts",
"title": "Jupyter Notebook Shortcuts",
"description": "Keyboard shortcuts for Jupyter Notebook",
"jupyter.lab.shortcuts": [
{
"args": {},
"command": "notebook:toggle-cell-outputs",
"keys": ["O"],
"selector": ".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus"
}
],
"additionalProperties": false,
"type": "object"
}

@ -16,7 +16,6 @@ import {
ISanitizer,
ISplashScreen,
IToolbarWidgetRegistry,
showErrorMessage,
} from '@jupyterlab/apputils';
import { ConsolePanel } from '@jupyterlab/console';
@ -659,23 +658,14 @@ const title: JupyterFrontEndPlugin<void> = {
return;
}
try {
const result = await renameDialog(docManager, current.context);
const result = await renameDialog(docManager, current.context);
// activate the current widget to bring the focus
if (current) {
current.activate();
}
// activate the current widget to bring the focus
if (current) {
current.activate();
}
if (result === null) {
return;
}
} catch (error) {
showErrorMessage(
trans.__('Rename Error'),
(error as Error).message ||
trans.__('An error occurred while renaming the file.')
);
if (result === null) {
return;
}
@ -1006,20 +996,6 @@ const sidePanelVisibility: JupyterFrontEndPlugin<void> = {
},
};
/**
* A plugin for defining keyboard shortcuts specific to the notebook application.
*/
const shortcuts: JupyterFrontEndPlugin<void> = {
id: '@jupyter-notebook/application-extension:shortcuts',
description:
'A plugin for defining keyboard shortcuts specific to the notebook application.',
autoStart: true,
activate: (app: JupyterFrontEnd) => {
// for now this plugin is mostly useful for defining keyboard shortcuts
// specific to the notebook application
},
};
/**
* The default tree route resolver plugin.
*/
@ -1199,7 +1175,6 @@ const plugins: JupyterFrontEndPlugin<any>[] = [
rendermime,
shell,
sidePanelVisibility,
shortcuts,
splash,
status,
tabTitle,

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/application",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Application",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -42,22 +42,22 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/docregistry": "~4.6.0-alpha.0",
"@jupyterlab/rendermime-interfaces": "~3.14.0-alpha.0",
"@jupyterlab/ui-components": "~4.6.0-alpha.0",
"@lumino/algorithm": "^2.0.4",
"@lumino/coreutils": "^2.2.2",
"@lumino/messaging": "^2.0.4",
"@lumino/polling": "^2.1.5",
"@lumino/signaling": "^2.1.5",
"@lumino/widgets": "^2.7.2"
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/docregistry": "~4.5.0-alpha.1",
"@jupyterlab/rendermime-interfaces": "~3.13.0-alpha.1",
"@jupyterlab/ui-components": "~4.5.0-alpha.1",
"@lumino/algorithm": "^2.0.3",
"@lumino/coreutils": "^2.2.1",
"@lumino/messaging": "^2.0.3",
"@lumino/polling": "^2.1.4",
"@lumino/signaling": "^2.1.4",
"@lumino/widgets": "^2.7.1"
},
"devDependencies": {
"@babel/core": "^7.11.6",
"@babel/preset-env": "^7.12.1",
"@jupyterlab/testutils": "~4.6.0-alpha.0",
"@jupyterlab/testutils": "~4.3.2",
"@types/jest": "^29.2.5",
"jest": "^29.3.1",
"rimraf": "^3.0.2",

@ -15,7 +15,7 @@ class DefaultNotebookPathOpener implements INotebookPathOpener {
open(options: INotebookPathOpener.IOpenOptions): WindowProxy | null {
const { prefix, path, searchParams, target, features } = options;
const url = new URL(
URLExt.join(prefix, URLExt.encodeParts(path ?? '')),
URLExt.join(prefix, path ?? ''),
window.location.origin
);
if (searchParams) {

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/console-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Console Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,11 +38,11 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/console": "~4.6.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@lumino/algorithm": "^2.0.4"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/console": "~4.5.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@lumino/algorithm": "^2.0.3"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/docmanager-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Document Manager Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,14 +38,14 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/docmanager": "~4.6.0-alpha.0",
"@jupyterlab/docregistry": "~4.6.0-alpha.0",
"@jupyterlab/services": "~7.6.0-alpha.0",
"@lumino/algorithm": "^2.0.4",
"@lumino/signaling": "^2.1.5"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/docmanager": "~4.5.0-alpha.1",
"@jupyterlab/docregistry": "~4.5.0-alpha.1",
"@jupyterlab/services": "~7.5.0-alpha.1",
"@lumino/algorithm": "^2.0.3",
"@lumino/signaling": "^2.1.4"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/documentsearch-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Document Search Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,10 +38,10 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/documentsearch": "~4.6.0-alpha.0",
"@lumino/widgets": "^2.7.2"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/documentsearch": "~4.5.0-alpha.1",
"@lumino/widgets": "^2.7.1"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/help-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Help Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,11 +38,11 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/ui-components": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/apputils": "~4.7.0-alpha.0",
"@jupyterlab/mainmenu": "~4.6.0-alpha.0",
"@jupyterlab/translation": "~4.6.0-alpha.0",
"@jupyter-notebook/ui-components": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/apputils": "~4.6.0-alpha.1",
"@jupyterlab/mainmenu": "~4.5.0-alpha.1",
"@jupyterlab/translation": "~4.5.0-alpha.1",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/lab-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Lab Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -43,19 +43,19 @@
"watch:src": "tsc -w"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/apputils": "~4.7.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/docregistry": "~4.6.0-alpha.0",
"@jupyterlab/notebook": "~4.6.0-alpha.0",
"@jupyterlab/translation": "~4.6.0-alpha.0",
"@jupyterlab/ui-components": "~4.6.0-alpha.0",
"@lumino/commands": "^2.3.3",
"@lumino/disposable": "^2.1.5"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/apputils": "~4.6.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/docregistry": "~4.5.0-alpha.1",
"@jupyterlab/notebook": "~4.5.0-alpha.1",
"@jupyterlab/translation": "~4.5.0-alpha.1",
"@jupyterlab/ui-components": "~4.5.0-alpha.1",
"@lumino/commands": "^2.3.2",
"@lumino/disposable": "^2.1.4"
},
"devDependencies": {
"@jupyterlab/builder": "~4.6.0-alpha.0",
"@jupyterlab/builder": "~4.5.0-alpha.1",
"rimraf": "^3.0.2",
"typescript": "~5.5.4"
},

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/notebook-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Notebook Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,16 +38,16 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/apputils": "~4.7.0-alpha.0",
"@jupyterlab/cells": "~4.6.0-alpha.0",
"@jupyterlab/docmanager": "~4.6.0-alpha.0",
"@jupyterlab/notebook": "~4.6.0-alpha.0",
"@jupyterlab/settingregistry": "~4.6.0-alpha.0",
"@jupyterlab/translation": "~4.6.0-alpha.0",
"@lumino/polling": "^2.1.5",
"@lumino/widgets": "^2.7.2",
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/apputils": "~4.6.0-alpha.1",
"@jupyterlab/cells": "~4.5.0-alpha.1",
"@jupyterlab/docmanager": "~4.5.0-alpha.1",
"@jupyterlab/notebook": "~4.5.0-alpha.1",
"@jupyterlab/settingregistry": "~4.5.0-alpha.1",
"@jupyterlab/translation": "~4.5.0-alpha.1",
"@lumino/polling": "^2.1.4",
"@lumino/widgets": "^2.7.1",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},

@ -4,15 +4,7 @@
"jupyter.lab.toolbars": {
"TopBar": [{ "name": "checkpoint", "rank": 20 }]
},
"properties": {
"checkpointPollingInterval": {
"type": "number",
"title": "Checkpoint Polling Interval (seconds)",
"description": "How often to check for checkpoints (in seconds). Set to 0 to disable polling.",
"default": 30,
"minimum": 0
}
},
"properties": {},
"additionalProperties": false,
"type": "object"
}

@ -19,8 +19,6 @@ import { PageConfig, Text, Time, URLExt } from '@jupyterlab/coreutils';
import { IDocumentManager } from '@jupyterlab/docmanager';
import { DocumentRegistry } from '@jupyterlab/docregistry';
import { IMainMenu } from '@jupyterlab/mainmenu';
import {
@ -94,14 +92,13 @@ const checkpoints: JupyterFrontEndPlugin<void> = {
description: 'A plugin for the checkpoint indicator.',
autoStart: true,
requires: [IDocumentManager, ITranslator],
optional: [INotebookShell, IToolbarWidgetRegistry, ISettingRegistry],
optional: [INotebookShell, IToolbarWidgetRegistry],
activate: (
app: JupyterFrontEnd,
docManager: IDocumentManager,
translator: ITranslator,
notebookShell: INotebookShell | null,
toolbarRegistry: IToolbarWidgetRegistry | null,
settingRegistry: ISettingRegistry | null
toolbarRegistry: IToolbarWidgetRegistry | null
) => {
const { shell } = app;
const trans = translator.load('notebook');
@ -116,26 +113,18 @@ const checkpoints: JupyterFrontEndPlugin<void> = {
});
}
const getCurrent = () => {
const onChange = async () => {
const current = shell.currentWidget;
if (!current) {
return null;
return;
}
const context = docManager.contextForWidget(current);
if (!context) {
return null;
}
return context;
};
const updateCheckpointDisplay = async () => {
const current = getCurrent();
if (!current) {
return;
}
const checkpoints = await current.listCheckpoints();
context?.fileChanged.disconnect(onChange);
context?.fileChanged.connect(onChange);
const checkpoints = await context?.listCheckpoints();
if (!checkpoints || !checkpoints.length) {
node.textContent = '';
return;
}
const checkpoint = checkpoints[checkpoints.length - 1];
@ -145,80 +134,19 @@ const checkpoints: JupyterFrontEndPlugin<void> = {
);
};
const onSaveState = async (
sender: DocumentRegistry.IContext<DocumentRegistry.IModel>,
state: DocumentRegistry.SaveState
) => {
if (state !== 'completed') {
return;
}
// Add a small artificial delay so that the UI can pick up the newly created checkpoint.
// Since the save state signal is emitted after a file save, but not after a checkpoint has been created.
setTimeout(() => {
void updateCheckpointDisplay();
}, 500);
};
const onChange = async () => {
const context = getCurrent();
if (!context) {
return;
}
context.saveState.disconnect(onSaveState);
context.saveState.connect(onSaveState);
await updateCheckpointDisplay();
};
if (notebookShell) {
notebookShell.currentChanged.connect(onChange);
}
let checkpointPollingInterval = 30; // Default 30 seconds
let poll: Poll | null = null;
const createPoll = () => {
if (poll) {
poll.dispose();
}
if (checkpointPollingInterval > 0) {
poll = new Poll({
auto: true,
factory: () => updateCheckpointDisplay(),
frequency: {
interval: checkpointPollingInterval * 1000,
backoff: false,
},
standby: 'when-hidden',
});
}
};
const updateSettings = (settings: ISettingRegistry.ISettings): void => {
checkpointPollingInterval = settings.get('checkpointPollingInterval')
.composite as number;
createPoll();
};
if (settingRegistry) {
const loadSettings = settingRegistry.load(checkpoints.id);
Promise.all([loadSettings, app.restored])
.then(([settings]) => {
updateSettings(settings);
settings.changed.connect(updateSettings);
})
.catch((reason: Error) => {
console.error(
`Failed to load settings for ${checkpoints.id}: ${reason.message}`
);
// Fall back to creating poll with default settings
createPoll();
});
} else {
// Create poll with default settings
createPoll();
}
new Poll({
auto: true,
factory: () => onChange(),
frequency: {
interval: 2000,
backoff: false,
},
standby: 'when-hidden',
});
},
};

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/terminal-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Terminal Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,11 +38,11 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/terminal": "~4.6.0-alpha.0",
"@lumino/algorithm": "^2.0.4"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/terminal": "~4.5.0-alpha.1",
"@lumino/algorithm": "^2.0.3"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/tree-extension",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Tree Extension",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,23 +38,23 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyter-notebook/tree": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/apputils": "~4.7.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/docmanager": "~4.6.0-alpha.0",
"@jupyterlab/filebrowser": "~4.6.0-alpha.0",
"@jupyterlab/mainmenu": "~4.6.0-alpha.0",
"@jupyterlab/services": "~7.6.0-alpha.0",
"@jupyterlab/settingeditor": "~4.6.0-alpha.0",
"@jupyterlab/settingregistry": "~4.6.0-alpha.0",
"@jupyterlab/statedb": "~4.6.0-alpha.0",
"@jupyterlab/translation": "~4.6.0-alpha.0",
"@jupyterlab/ui-components": "~4.6.0-alpha.0",
"@lumino/algorithm": "^2.0.4",
"@lumino/commands": "^2.3.3",
"@lumino/widgets": "^2.7.2"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyter-notebook/tree": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/apputils": "~4.6.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/docmanager": "~4.5.0-alpha.1",
"@jupyterlab/filebrowser": "~4.5.0-alpha.1",
"@jupyterlab/mainmenu": "~4.5.0-alpha.1",
"@jupyterlab/services": "~7.5.0-alpha.1",
"@jupyterlab/settingeditor": "~4.5.0-alpha.1",
"@jupyterlab/settingregistry": "~4.5.0-alpha.1",
"@jupyterlab/statedb": "~4.5.0-alpha.1",
"@jupyterlab/translation": "~4.5.0-alpha.1",
"@jupyterlab/ui-components": "~4.5.0-alpha.1",
"@lumino/algorithm": "^2.0.3",
"@lumino/commands": "^2.3.2",
"@lumino/widgets": "^2.7.1"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -39,6 +39,8 @@ import {
runningIcon,
} from '@jupyterlab/ui-components';
import { Signal } from '@lumino/signaling';
import { Menu, MenuBar } from '@lumino/widgets';
import { NotebookTreeWidget, INotebookTree } from '@jupyter-notebook/tree';
@ -153,10 +155,28 @@ const fileActions: JupyterFrontEndPlugin<void> = {
toolbarRegistry: IToolbarWidgetRegistry,
translator: ITranslator
) => {
// TODO: use upstream signal when available to detect selection changes
// https://github.com/jupyterlab/jupyterlab/issues/14598
const selectionChanged = new Signal<FileBrowser, void>(browser);
const methods = [
'_selectItem',
'_handleMultiSelect',
'handleFileSelect',
] as const;
methods.forEach((method: (typeof methods)[number]) => {
const original = browser['listing'][method];
browser['listing'][method] = (...args: any[]) => {
original.call(browser['listing'], ...args);
selectionChanged.emit(void 0);
};
});
browser.model.pathChanged.connect(() => {
selectionChanged.emit(void 0);
});
// Create a toolbar item that adds buttons to the file browser toolbar
// to perform actions on the files
const { commands } = app;
const { selectionChanged } = browser;
const fileActions = new FilesActionButtons({
commands,
browser,
@ -280,22 +300,20 @@ const loadPlugins: JupyterFrontEndPlugin<void> = {
app.restored.then(async () => {
const plugins = await connector.list('all');
await Promise.all(
plugins.ids.map(async (id: string) => {
const [extension] = id.split(':');
// load the plugin if it is built-in the notebook application explicitly
// either included as an extension or as a plugin directly
const hasPlugin = pluginsSet.has(extension) || pluginsSet.has(id);
if (!hasPlugin || isDisabled(id) || id in settingRegistry.plugins) {
return;
}
try {
await settingRegistry.load(id);
} catch (error) {
console.warn(`Settings failed to load for (${id})`, error);
}
})
);
plugins.ids.forEach(async (id: string) => {
const [extension] = id.split(':');
// load the plugin if it is built-in the notebook application explicitly
// either included as an extension or as a plugin directly
const hasPlugin = pluginsSet.has(extension) || pluginsSet.has(id);
if (!hasPlugin || isDisabled(id) || id in settingRegistry.plugins) {
return;
}
try {
await settingRegistry.load(id);
} catch (error) {
console.warn(`Settings failed to load for (${id})`, error);
}
});
});
},
};

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/tree",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - Tree",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -38,22 +38,22 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyter-notebook/application": "^7.6.0-alpha.0",
"@jupyterlab/application": "~4.6.0-alpha.0",
"@jupyterlab/apputils": "~4.7.0-alpha.0",
"@jupyterlab/coreutils": "~6.6.0-alpha.0",
"@jupyterlab/docmanager": "~4.6.0-alpha.0",
"@jupyterlab/filebrowser": "~4.6.0-alpha.0",
"@jupyterlab/mainmenu": "~4.6.0-alpha.0",
"@jupyterlab/services": "~7.6.0-alpha.0",
"@jupyterlab/settingregistry": "~4.6.0-alpha.0",
"@jupyterlab/statedb": "~4.6.0-alpha.0",
"@jupyterlab/translation": "~4.6.0-alpha.0",
"@jupyterlab/ui-components": "~4.6.0-alpha.0",
"@lumino/algorithm": "^2.0.4",
"@lumino/commands": "^2.3.3",
"@lumino/coreutils": "^2.2.2",
"@lumino/widgets": "^2.7.2"
"@jupyter-notebook/application": "^7.5.0-alpha.0",
"@jupyterlab/application": "~4.5.0-alpha.1",
"@jupyterlab/apputils": "~4.6.0-alpha.1",
"@jupyterlab/coreutils": "~6.5.0-alpha.1",
"@jupyterlab/docmanager": "~4.5.0-alpha.1",
"@jupyterlab/filebrowser": "~4.5.0-alpha.1",
"@jupyterlab/mainmenu": "~4.5.0-alpha.1",
"@jupyterlab/services": "~7.5.0-alpha.1",
"@jupyterlab/settingregistry": "~4.5.0-alpha.1",
"@jupyterlab/statedb": "~4.5.0-alpha.1",
"@jupyterlab/translation": "~4.5.0-alpha.1",
"@jupyterlab/ui-components": "~4.5.0-alpha.1",
"@lumino/algorithm": "^2.0.3",
"@lumino/commands": "^2.3.2",
"@lumino/coreutils": "^2.2.1",
"@lumino/widgets": "^2.7.1"
},
"devDependencies": {
"rimraf": "^3.0.2",

@ -1,6 +1,6 @@
{
"name": "@jupyter-notebook/ui-components",
"version": "7.6.0-alpha.0",
"version": "7.5.0-alpha.0",
"description": "Jupyter Notebook - UI components",
"homepage": "https://github.com/jupyter/notebook",
"bugs": {
@ -42,14 +42,14 @@
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/ui-components": "~4.6.0-alpha.0",
"@jupyterlab/ui-components": "~4.5.0-alpha.1",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"@jupyterlab/testutils": "~4.6.0-alpha.0",
"@jupyterlab/testutils": "~4.3.2",
"@types/jest": "^29.2.5",
"babel-loader": "^8.0.6",
"jest": "^29.3.1",

46
pixi.lock generated

@ -93,9 +93,9 @@ environments:
- pypi: https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/1a/81/d5b27d91a8fbb709b6623806037f6de6b7c2543d7f03543aa5a6de9812e6/jupyterlab-4.5.0rc0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/ae/34/5cf309771d0347bc190598c1346a30f31dfa00e7eaeb97e42101064cf123/jupyterlab-4.5.0a1-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
@ -271,9 +271,9 @@ environments:
- pypi: https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/1a/81/d5b27d91a8fbb709b6623806037f6de6b7c2543d7f03543aa5a6de9812e6/jupyterlab-4.5.0rc0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/ae/34/5cf309771d0347bc190598c1346a30f31dfa00e7eaeb97e42101064cf123/jupyterlab-4.5.0a1-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
@ -449,9 +449,9 @@ environments:
- pypi: https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/1a/81/d5b27d91a8fbb709b6623806037f6de6b7c2543d7f03543aa5a6de9812e6/jupyterlab-4.5.0rc0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/ae/34/5cf309771d0347bc190598c1346a30f31dfa00e7eaeb97e42101064cf123/jupyterlab-4.5.0a1-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
@ -635,9 +635,9 @@ environments:
- pypi: https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/1a/81/d5b27d91a8fbb709b6623806037f6de6b7c2543d7f03543aa5a6de9812e6/jupyterlab-4.5.0rc0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/ae/34/5cf309771d0347bc190598c1346a30f31dfa00e7eaeb97e42101064cf123/jupyterlab-4.5.0a1-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/2c/f0/f02e2d150d581a294efded4020094a371bbab42423fe78625ac18854d89b/lazy-object-proxy-1.10.0.tar.gz
- pypi: https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl
@ -1724,20 +1724,20 @@ packages:
- pytest-timeout ; extra == 'test'
- pytest>=7.0 ; extra == 'test'
requires_python: '>=3.8'
- pypi: https://files.pythonhosted.org/packages/1a/81/d5b27d91a8fbb709b6623806037f6de6b7c2543d7f03543aa5a6de9812e6/jupyterlab-4.5.0rc0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/ae/34/5cf309771d0347bc190598c1346a30f31dfa00e7eaeb97e42101064cf123/jupyterlab-4.5.0a1-py3-none-any.whl
name: jupyterlab
version: 4.5.0rc0
sha256: 89a22b0587499fb7524ea1c541fab4dd2f4030b9c05284f627b9b2176e2cff1e
version: 4.5.0a1
sha256: 726f544efa6c6b19d8ca539a8d71ed354f8219345908c3150d8c98777e920a65
requires_dist:
- async-lru>=1.0.0
- httpx>=0.25.0,<1
- httpx>=0.25.0
- importlib-metadata>=4.8.3 ; python_full_version < '3.10'
- ipykernel>=6.5.0,!=6.30.0
- ipykernel>=6.5.0
- jinja2>=3.0.3
- jupyter-core
- jupyter-lsp>=2.0.0
- jupyter-server>=2.4.0,<3
- jupyterlab-server>=2.28.0,<3
- jupyterlab-server>=2.27.1,<3
- notebook-shim>=0.2
- packaging
- setuptools>=41.1.0
@ -1750,7 +1750,7 @@ packages:
- hatch ; extra == 'dev'
- pre-commit ; extra == 'dev'
- pytest-cov ; extra == 'dev'
- ruff==0.11.12 ; extra == 'dev'
- ruff==0.11.8 ; extra == 'dev'
- jsx-lexer ; extra == 'docs'
- myst-parser ; extra == 'docs'
- pydata-sphinx-theme>=0.13.0 ; extra == 'docs'
@ -1791,10 +1791,10 @@ packages:
version: 0.3.0
sha256: 841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780
requires_python: '>=3.8'
- pypi: https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl
- pypi: https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl
name: jupyterlab-server
version: 2.28.0
sha256: e4355b148fdcf34d312bbbc80f22467d6d20460e8b8736bf235577dd18506968
version: 2.27.3
sha256: e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4
requires_dist:
- babel>=2.10
- importlib-metadata>=4.8.3 ; python_full_version < '3.10'
@ -2301,12 +2301,12 @@ packages:
timestamp: 1734113054756
- pypi: .
name: notebook
version: 7.5.0
sha256: 7ef8c5626500483b32a57bf34d2e8a44fcaa531da6b150df0320b7755ab574ba
version: 7.5.0a0
sha256: eb3cdf797b8cb0a194a7d664fefe982c53d999b601463746895ee9e385eb07c8
requires_dist:
- jupyter-server>=2.4.0,<3
- jupyterlab-server>=2.28.0,<3
- jupyterlab>=4.5.0rc0,<4.6
- jupyterlab-server>=2.27.1,<3
- jupyterlab>=4.5.0a1,<4.6
- notebook-shim>=0.2,<0.3
- tornado>=6.2.0
- hatch ; extra == 'dev'
@ -2320,7 +2320,7 @@ packages:
- importlib-resources>=5.0 ; python_full_version < '3.10' and extra == 'test'
- ipykernel ; extra == 'test'
- jupyter-server[test]>=2.4.0,<3 ; extra == 'test'
- jupyterlab-server[test]>=2.28.0,<3 ; extra == 'test'
- jupyterlab-server[test]>=2.27.1,<3 ; extra == 'test'
- nbval ; extra == 'test'
- pytest-console-scripts ; extra == 'test'
- pytest-timeout ; extra == 'test'

@ -1,8 +1,10 @@
[build-system]
requires = [
"hatchling>=1.11",
"hatch-jupyter-builder>=0.5",
"jupyterlab>=4.6.0a0,<4.7",
"jupyterlab>=4.5.0a1,<4.6",
# See https://github.com/jupyter/notebook/issues/7690
# TODO: remove when https://github.com/jupyterlab/jupyterlab/pull/17746 is released
"httpx>=0.25.0,<1.0.dev1",
]
build-backend = "hatchling.build"
@ -36,8 +38,8 @@ classifiers = [
]
dependencies = [
"jupyter_server>=2.4.0,<3",
"jupyterlab>=4.6.0a0,<4.7",
"jupyterlab_server>=2.28.0,<3",
"jupyterlab>=4.5.0a1,<4.6",
"jupyterlab_server>=2.27.1,<3",
"notebook_shim>=0.2,<0.3",
"tornado>=6.2.0",
]
@ -62,7 +64,7 @@ test = [
"pytest-console-scripts",
"ipykernel",
"jupyter_server[test]>=2.4.0,<3",
"jupyterlab_server[test]>=2.28.0,<3",
"jupyterlab_server[test]>=2.27.1,<3",
"importlib-resources>=5.0;python_version<\"3.10\"",
]
docs = [
@ -114,10 +116,6 @@ artifacts = [
"notebook/templates",
]
include = ["/notebook"]
exclude = [
"notebook/labextension",
"notebook/schemas/@jupyter-notebook",
]
[tool.hatch.envs.docs]
features = ["docs"]
@ -182,7 +180,7 @@ version-cmd = "jlpm run release:bump --force --skip-commit"
[tool.jupyter-releaser.hooks]
before-bump-version = [
"python -m pip install -U \"jupyterlab>=4.6.0a0,<4.7\"",
"python -m pip install -U \"jupyterlab>=4.5.0a1,<4.6\"",
"jlpm",
"jlpm run build:utils",
"python -m pip install hatch"

1
src

@ -1 +0,0 @@
undefined

@ -15,8 +15,8 @@
"test:update": "playwright test --update-snapshots"
},
"dependencies": {
"@jupyterlab/galata": "~5.6.0-alpha.0",
"@playwright/test": "~1.57.0",
"@jupyterlab/galata": "~5.5.0-alpha.1",
"@playwright/test": "~1.52.0",
"rimraf": "^3.0.2"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 53 KiB

@ -223,31 +223,4 @@ test.describe('Notebook', () => {
await expect(page.locator('.jp-LogConsole')).toBeVisible();
});
test('Toggle cell outputs with the O keyboard shortcut', async ({
page,
tmpPath,
}) => {
const notebook = 'autoscroll.ipynb';
await page.contents.uploadFile(
path.resolve(__dirname, `./notebooks/${notebook}`),
`${tmpPath}/${notebook}`
);
await page.goto(`notebooks/${tmpPath}/${notebook}`);
await waitForKernelReady(page);
// run the two cells
await page.keyboard.press('Shift+Enter');
await page.keyboard.press('ControlOrMeta+Enter');
await page.keyboard.press('Escape');
await page.keyboard.press('O');
await page.waitForSelector('.jp-OutputPlaceholder', { state: 'visible' });
await page.keyboard.press('O');
await page.waitForSelector('.jp-OutputPlaceholder', { state: 'hidden' });
});
});

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 22 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save