Skip to main content

Jupyter Storage Explorer launcher

PyPI - Version

Adds Storage Explorer to JupyterLab's launcher (section Other) and command palette. It opens Jupyter Storage Explorer in its own tab, on the folder JupyterLab's file browser shows.

The Storage Explorer item in JupyterLab's launcher

It also adds a side panel, a narrow explorer next to your notebooks:

  • Open it with the Storage Explorer icon in the left side bar.
  • The same storages as the tab; a folder's list, without the tree or the preview panel.
  • Files you view (View, a double-click) open in new tabs.
  • The filter button, left of ⚙, shows the filter.
  • If it stops responding, see Restart the side panel.
The side panel in JupyterLab's left side bar, a Parquet file selected, beside the tab its View button opened in the data browser

It also integrates every Storage Explorer, in its tab or in a notebook, with JupyterLab:

  • Drag and drop: drag files onto JupyterLab's file browser to download them there.
  • Open files in a tab: double-click a file to open it in JupyterLab's own editor or viewer; Save writes it back to the storage.
  • View in a new tab: open a table in the data browser, or another view (text, an image, ...), in a tab of its own.

Installation

Open a terminal in your JupyterLab and run the following. Then reload the page in your web browser.

pip install "jupyter-storage-explorer-launcher[polars]"

This installs the launcher in the Python environment of the default IPython kernel, which is usually JupyterLab's own. Requires JupyterLab 4.0 or later.

If the default kernel runs in another environment than JupyterLab's, install the launcher in both. JupyterLab loads the extension, and the kernel imports the Python package.

Persist the installation

An installation from a terminal is not kept in some environments:

  • JupyterLab in a virtual environment, e.g. a venv or a conda environment: the installation stays in it.
  • A Jupyter Docker Stacks image, e.g. quay.io/jupyter/scipy-notebook: the package is gone once the container is removed. To keep it, install it into the image's Python environment, in /opt/conda: RUN pip install ... in a Dockerfile starting FROM the image.
  • JupyterHub: a user's server often runs in a container, e.g. a Docker Stacks image as above. Administrators install the launcher in the single-user environment.

Extras

The launcher has the same extras as jupyter-storage-explorer (Installation), of two kinds:

  • Full extras, e.g. [polars]: the plugin and the libraries it uses.
  • Support-only extras, e.g. [polars-support]: the plugin alone, using the libraries already installed. Nothing else is installed or upgraded.

Plugins lists the plugins, with their extras and libraries.

Full extras are handy for a quick try. Support-only extras are highly recommended for an IPython kernel whose data access packages are carefully installed and configured (e.g. a shared JupyterHub image): the plugins use what is there and never change it.

pip install "jupyter-storage-explorer-launcher[all-supports]"  # every plugin, with the libraries you have

Then read Storages to set up access to your storages, and Using the explorer.

Configuration

Click the ⚙ button at the right of the tab's toolbar, then Edit configuration.

The settings menu (a gear) after Unsafe mode in the tab's toolbar: Columns, Actions, Logging, Edit configuration and About

It opens your settings, a Python file (launcher.py), in JupyterLab's editor; if you have none, it offers to create one from a template with an example of each setting.

launcher.py, created from the template, open in JupyterLab's editor beside the Storage Explorer tab

Uncomment and edit the settings you need, then save. Open a new Storage Explorer tab, or reload the page, to apply the changes.

For example, to open each tab on the data lake and the folder it starts on, with a preview at once:

def filesystems():
    return {
        "Here": ".",  # the folder the tab opens on
        "Data lake": "abfs://lake@myaccount.dfs.core.windows.net",
    }


def parameters():
    return {"preview_panel": "open"}

Troubleshooting

Restart the side panel

The side panel runs in a kernel of its own. If the panel stops responding, restart that kernel:

  1. Open JupyterLab's Running Terminals and Kernels panel in the left side bar.
  2. Under Kernels, hover over the kernel named Storage Explorer (side panel), followed by its id.
  3. Click its Shut Down button, a cross at the right.
JupyterLab's Running Terminals and Kernels panel, the Storage Explorer (side panel) kernel hovered, its Shut Down button at the right

The side panel then starts a new kernel and shows the explorer again.

Reloading the page is not enough when the kernel is stuck: the panel reconnects to the same kernel.

See the logs

The tabs and the side panel log nothing by default. To see what goes wrong in their kernels:

  1. Click the ⚙ button at the right of the tab's toolbar, then Logging, and choose a level, e.g. INFO. The next tabs keep it.
  2. Do what went wrong again.
  3. Choose Open log file in the same menu, in the tab where it went wrong. The tab's file of the day opens in JupyterLab's editor, read-only.

The files are in the storage-explorer/logs folder of Jupyter's configuration directory: see Logs.

Configuration details

The configuration file, launcher.py, has some of these functions, all optional:

Function Returns
filesystems() {name: URL or fsspec filesystem}
plugin_options() The plugins' options, by key, e.g. {"pandas-support": {"enabled": False}} (see each plugin's README)
engine_options() The engines' options, by engine and format (Engine options)
transfer_policy() Rules of a transfer policy
parameters() Other StorageExplorer arguments (StorageExplorer options), e.g. {"engine_preference": ["pandas"]}

If your file has an error, the tab still opens, without your settings. The error shows above the explorer and in its status bar. Fix the file with the ⚙ button, then open the tab again. This covers errors raised by the file, settings that do not exist, and values the explorer refuses.

Layers of the configuration file

Administrators can set up the tab for everyone: a storage-explorer/launcher.py in any of Jupyter's configuration directories (jupyter --paths, config section) is read, e.g. /etc/jupyter/storage-explorer/launcher.py for the whole system or <environment>/etc/jupyter/storage-explorer/launcher.py for one Python environment (e.g. a JupyterHub image). Each file is a layer, applied from the system's to the user's, so users' files usually come last. A later layer adds to an earlier one's settings or replaces them.

final() returns the settings later layers cannot change: function names (except parameters) and parameter names. For example, /etc/jupyter/storage-explorer/launcher.py:

def filesystems():
    return {
        "Here": ".",
        "Data lake": "abfs://lake@myaccount.dfs.core.windows.net",
    }


def transfer_policy():
    # No downloads from the lake to users' computers or to the Jupyter server.
    return [
        {"rule": "deny", "src": r"abfs://lake@.*", "dest": "browser:///.*"},
        {"rule": "deny", "src": r"abfs://lake@.*", "dest": "jupyterlab://.*"},
    ]


def parameters():
    return {"unsafe_mode": "blocked"}  # no folder operations


def final():
    return ["filesystems", "transfer_policy", "unsafe_mode"]  # users cannot change these

Final settings are not a security boundary: users can still create explorers in notebooks.

An error in any file other than the user's stops the tab: it shows only the error, naming the file. Users' files are left out instead (see Configuration details).

Other configuration files

Your files are in Jupyter's configuration directory, which jupyter --config-dir prints: ~/.jupyter by default (on Windows, %USERPROFILE%\.jupyter), or $JUPYTER_CONFIG_DIR where that is set. launcher.py is in its storage-explorer folder.

Icons

To change the explorer's icons, use JupyterLab's custom.css (see Icons), which applies to the launcher's tabs and to explorers in notebooks alike.

Bookmarks and query settings

The tabs share bookmarks, the data browser's query settings, the engine chosen and the list's columns. They keep them in storage-explorer/states.json in the same directory, unless parameters() sets states (another file's path, or None: in each tab's memory).

The logging level chosen in the Logging menu is kept there too.

Metadata

Release files for jupyter-storage-explorer-launcher 0.25.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyter-storage-explorer-launcher 0.25.1
File Size Uploaded Provenance Actions
jupyter_storage_explorer_launcher-0.25.1.tar.gz 526.3 kB With provenance Details for jupyter_storage_explorer_launcher-0.25.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jupyter-storage-explorer-launcher 0.25.1
File Interpreter ABI Platform Actions
jupyter_storage_explorer_launcher-0.25.1-py3-none-any.whl Python 3 none any Details for jupyter_storage_explorer_launcher-0.25.1-py3-none-any.whl

Total release size: 578.2 kB

Release files / jupyter_storage_explorer_launcher-0.25.1.tar.gz

Download URL jupyter_storage_explorer_launcher-0.25.1.tar.gz
Size 526.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3ac6d56094e9634ef6fb1ae342b70f66342b33238cd7aa1c48259f0a595afbb8
BLAKE2b-256 checksum
How to use checksums
9e660c5ffaf26cd69a8aae59384eae25b9fcc9ddacd2d17ad49bb9dc95f4b70e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Release files / jupyter_storage_explorer_launcher-0.25.1-py3-none-any.whl

Download URL jupyter_storage_explorer_launcher-0.25.1-py3-none-any.whl
Size 51.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9fc046afdb5f5170921baf8a3a1db3b109b8e9233f98e4545f073be65a240aca
BLAKE2b-256 checksum
How to use checksums
67e6fc39cf722d3002a7198cbb23bea2feea1616f78cbce1f7cb50be7177e89d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for jupyter-storage-explorer-launcher 0.25.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for jupyter_storage_explorer_launcher-0.25.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.25.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page