Summary
When creating a workspace via the Nebi UI in JupyterLab, the workspace files are created on disk at the expected path (~/.local/share/nebi/workspaces/<name>-<uuid>/), but the path column in the SQLite database (nebi.db) remains NULL. This causes:
nebi workspace list --json reports "missing": true for the workspace
nb_nebi_kernels.NebiKernelSpecManager skips missing workspaces
- The workspace does not appear as a kernel in the JupyterLab launcher
Steps to reproduce
- Open JupyterLab with Nebi integration (via nebari-data-science-pack)
- Go to the Nebi tab > Workspaces > New Workspace
- Create a workspace (e.g., with
python = "3.9.*" and ray-serve = "2.43.*")
- Wait for status to show "Ready"
- Open the JupyterLab Launcher — the workspace kernel does not appear
Diagnosis
$ nebi workspace list --json
[
{
"id": "1ba3ccd6-...",
"name": "ray-serve",
"status": "ready",
"missing": true
# no "path" field
}
]
$ sqlite3 ~/.local/share/nebi/nebi.db "SELECT id, name, path FROM workspaces WHERE name='ray-serve';"
1ba3ccd6-...|ray-serve|
$ ls ~/.local/share/nebi/workspaces/
ray-serve-1ba3ccd6-d69b-41a1-a179-29ccbb411375/ # files exist on disk
Workaround
Manually update the database:
sqlite3 ~/.local/share/nebi/nebi.db \
"UPDATE workspaces SET path='$HOME/.local/share/nebi/workspaces/<name>-<uuid>' WHERE id='<uuid>';"
After this, nebi workspace list shows "missing": false and the kernel appears in the launcher.
Expected behavior
The path column should be automatically populated when a workspace is created, since Nebi already knows where it writes the workspace files.
Environment
- Nebi: v0.10.3
- nb_nebi_kernels: 0.1
- nebari-data-science-pack JupyterLab image:
sha-2044712
Summary
When creating a workspace via the Nebi UI in JupyterLab, the workspace files are created on disk at the expected path (
~/.local/share/nebi/workspaces/<name>-<uuid>/), but thepathcolumn in the SQLite database (nebi.db) remainsNULL. This causes:nebi workspace list --jsonreports"missing": truefor the workspacenb_nebi_kernels.NebiKernelSpecManagerskips missing workspacesSteps to reproduce
python = "3.9.*"andray-serve = "2.43.*")Diagnosis
$ nebi workspace list --json [ { "id": "1ba3ccd6-...", "name": "ray-serve", "status": "ready", "missing": true # no "path" field } ] $ sqlite3 ~/.local/share/nebi/nebi.db "SELECT id, name, path FROM workspaces WHERE name='ray-serve';" 1ba3ccd6-...|ray-serve| $ ls ~/.local/share/nebi/workspaces/ ray-serve-1ba3ccd6-d69b-41a1-a179-29ccbb411375/ # files exist on diskWorkaround
Manually update the database:
After this,
nebi workspace listshows"missing": falseand the kernel appears in the launcher.Expected behavior
The
pathcolumn should be automatically populated when a workspace is created, since Nebi already knows where it writes the workspace files.Environment
sha-2044712