User Guide#

Contents#

Frequently-Asked Questions#

How is JupyterLite different than JupyterLab?#

If you’re using a JupyterLite site, there isn’t much to know. It works like a regular, server-backed JupyterLab site, except:

  • The list of kernels, usually visible from the Launcher as different Notebook flavors, will be different

  • Your data is written to in-browser storage

    • though you may be able to copy

  • None of your data leaves your browser unless…

    • Extensions are installed and enabled

    • Your Notebooks include code that uses the browser’s fetch mechanism

How can I put my own content in JupyterLite?#

See the developer guide: it can get pretty involved!

How can I read content from Python?#

Accessing contents like other files and notebooks from a kernel might be tricky.

Currently the content visible by the end user is a mix of server provided files, and files saved locally in the web browser. This means that trying to access a server provided files from Python with paradigms like open('data.csv') will most likely fail.

A common workaround is be to manually fetch a file from a remote URL with the fetch method from the browser before manipulating its content:

import pandas as pd
from js import fetch

URL = "https://yourdomain.com/path/to/file.csv"

res = await fetch(URL)
text = await res.text()

filename = 'data.csv'

with open(filename, 'w') as f:
    f.write(text)

data = pd.read_csv(filename, sep=';')
data

Note

See the following issues and discussions for more information:

It is also possible to manipulate the data stored in IndexedDB from Python, but it can be pretty involved. See the example notebook for more details.