Jupyter Storage Explorer
A file explorer for cloud storage and data lakes, right inside your Jupyter notebook, in the spirit of Azure Storage Explorer.
Browse Amazon S3, Azure Data Lake / Blob Storage, Google Cloud Storage, local disks and more; preview Parquet files, Delta Lake tables, CSV, Excel, JSON and other formats; page through, sort and filter tables; get ready-to-run code that loads the data into your notebook; and upload, download, move and edit files without leaving JupyterLab.
Highlights
StorageExplorer: any fsspec storage, several in one explorer; copy and paste between storages and notebooks.DataExplorer: page, sort and filter any dataframe; get the result back in code.- Previews of Delta Lake, Parquet, CSV, JSON, Excel, text and images, with code to load them.
- Background file operations with progress and Cancel; folder operations only in Unsafe mode.
- Bookmarks, remembered queries, transfer rules, and a JupyterLab launcher item.
Installation
pip install jupyter-storage-explorer
Install the package for your storage too:
| Storage | Package | Address |
|---|---|---|
| Amazon S3 | s3fs |
s3://bucket/path |
| Azure Data Lake / Blob Storage | adlfs |
abfs://container@account.dfs.core.windows.net/path |
| Google Cloud Storage | gcsfs |
gs://bucket/path |
| Local disk, in-memory | (included) | /path, memory:// |
Previewing and querying data files needs a data library, e.g. pip install polars deltalake. If one is missing, the
preview tells you what to install.
Quick start
From the JupyterLab launcher
The separate package jupyter-storage-explorer-launcher
adds Storage Explorer to JupyterLab's launcher and command palette, opening the explorer in its own tab:
pip install jupyter-storage-explorer-launcher
From Python code
from jupyter_storage_explorer import StorageExplorer
StorageExplorer("s3://my-bucket/data")
The explorer appears as the cell's output. Options after the address are passed to the storage package, e.g.
StorageExplorer("s3://my-bucket/data", profile="analytics"). Double-click a file to preview it; right-click for
everything else.
To browse a dataframe and get the rows you filtered back:
import polars as pl
from jupyter_storage_explorer import DataExplorer
explorer = DataExplorer(pl.scan_parquet("s3://my-bucket/lake/sales/*.parquet"))
explorer
explorer.result().collect() # after filtering and sorting in the widget
The notebooks folder has a demo of each widget (storage_explorer.ipynb, data_explorer.ipynb) on sample data made
by make_samples.py.
Documentation
- StorageExplorer: storages, using the explorer, unsafe operations, transfer policy, remembered states, supported formats, format options and all the options.
- DataExplorer: the data
browser,
result(),on_change(),QuerySettingsand the options. - The launcher: installing it
and configuring its tab with
launcher.pyfiles. - Development: building from source, the JupyterLab extension, releasing, and customizing the explorer's icons with CSS.
Requirements
- Python 3.11 or later
- JupyterLab 4. The widgets also show in other Jupyter frontends, but dragging files from JupyterLab's file browser works only in JupyterLab.
- For querying data: a recent polars (tested with polars 2.0).
DataExplorerworks with any dataframe narwhals supports; with polars installed, data in memory is queried with polars, which is faster.
Metadata
Release files for jupyter-storage-explorer 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyter_storage_explorer-0.7.1.tar.gz | 387.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_storage_explorer-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 577.3 kB
Release files / jupyter_storage_explorer-0.7.1.tar.gz
| Download URL | jupyter_storage_explorer-0.7.1.tar.gz |
|---|---|
| Size | 387.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba1d74aabbae09761881c01e484f3bf9e4beb7ac354ca3c3faa0c63d7a018e69
|
|
BLAKE2b-256 checksum How to use checksums |
c3aff761e7cf5b66da62e3e368ac9d3df6d63c46842dd23b8f6b5bf86198b25d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 14, 2026.
Transparency logRelease files / jupyter_storage_explorer-0.7.1-py3-none-any.whl
| Download URL | jupyter_storage_explorer-0.7.1-py3-none-any.whl |
|---|---|
| Size | 189.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2f52403d4267cbdbace2c65d6ac08697e9089bd1585a8b49ee3cd80682172588
|
|
BLAKE2b-256 checksum How to use checksums |
ffb0a7ba303640f9ac4df274fc0d2e7677bc0d04563aec1195caa8c947058ca8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 14, 2026.
Transparency log