Skip to content

feat: Nemo IPython kernel + JupyterLab devcontainer - #1

Draft
jimwhite with Copilot wants to merge 4 commits into
mainfrom
copilot/add-nemo-jupyter-kernel
Draft

feat: Nemo IPython kernel + JupyterLab devcontainer#1
jimwhite with Copilot wants to merge 4 commits into
mainfrom
copilot/add-nemo-jupyter-kernel

Conversation

Copilot AI commented Aug 24, 2026

Copy link
Copy Markdown

Adds an interactive Nemo Datalog kernel for JupyterLab and a devcontainer that builds the full stack on startup.

nemo-jupyter/ — kernel package

  • nemo_kernel/kernel.pyNemoKernel (extends ipykernel.kernelbase.Kernel): accumulates rules across cells, runs the reasoner after each cell, and prints @output predicate results as tables. Parse errors roll back the offending cell. %%reset clears accumulated state.
  • nemo_kernel/kernel.json — kernelspec pointing at python -m nemo_kernel
  • nemo_kernel/install.pynemo-kernel-install CLI; registers the spec via jupyter_client with --sys-prefix or --user
  • pyproject.toml — minimal package; runtime dep is ipykernel>=6 only (assumes nmo_python is installed separately via maturin)

.devcontainer/

  • Dockerfilerust:1-bookworm base; installs Python + maturin; builds the nmo_python Rust extension wheel from workspace sources; installs JupyterLab, the Nemo kernel, and the default Python ipykernel
  • devcontainer.json — forwards port 8888, auto-opens browser, runs jupyter lab on container start, wires VS Code Python/Jupyter extensions to /opt/venv

Example notebook cell (Nemo kernel)

data(1, 2) .
data(hi, 42) .
data(hello, world) .

calculated(?x, !v) :- data(?y, ?x) .

@output calculated .

Results are printed inline after execution. Rules accumulate across cells; use %%reset to start over.

Copilot AI changed the title feat: add Nemo IPython kernel and devcontainer with JupyterLab feat: Nemo IPython kernel + JupyterLab devcontainer Aug 24, 2026
Copilot AI requested a review from jimwhite August 24, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants