Configure the browser storage#
By default JupyterLite uses the user’s browser storage to store settings and site preferences.
Settings Storage#
By default, all of a user’s settings on the same domain will be available to all
JupyterLite instances hosted there. To create separate settings stores, change the
jupyter-lite.json#jupyter-config-data/settingsStorageName from the default of
JupyterLite Storage - <baseUrl>.
By default, the best available, persistent storage driver will be used. One may force a
particular set of drivers to try with
jupyter-lite.json#jupyter-config-data/settingsStorageDrivers. See more about
local storage drivers.
Local Storage Drivers#
By default, the “best” localForage driver will be selected from the technologies available in the user’s browser.
To force choosing from a particular set of technologies, settingsStorageDrivers,
contentsStorageDrivers and workspacesStorageDrivers can be specified, with the first
browser-compatible driver being chosen.
configuration value |
technology |
persistent? |
note |
|---|---|---|---|
|
IndexedDB |
yes |
usually the one selected |
|
WebSQL |
yes |
|
|
localStorage |
yes |
|
|
in-memory |
NO |
requires |
other |
unknown |
unknown |
may be added by third-party extensions |
Volatile Memory Storage#
Many extensions and features require the ability to at least think they are saving and loading contents and settings. If a user’s data cannot be stored due to browser security settings, a JupyterLite app will generally fail to fully initialize: while this might be frustrating, losing a user’s unique data creation is even more frustating.
Warning
If persistence is entirely handled outside of JupyterLite, e.g. in an embedded
repl it is possible to disable all persistence, assuring
total user data loss after every page/iframe reload:
set
enableMemoryStoragetotrueset
contentsStorageDriversandsettingsStorageDriversto["memoryStorageDriver"]