What problem does it solve?
Provides a persistent, stateful Python execution environment so you can iteratively build, inspect, and refine code without losing variables or context between runs. This eliminates the friction of rerunning entire scripts for small experiments and supports rapid data exploration, debugging, and ML iteration.
Core Features & Use Cases
- Stateful REPL: Execute multi-line Python snippets against a live Jupyter kernel where imports, variables, and objects persist across calls.
- Kernel & Notebook Management: Discover running servers and notebooks, create sessions, inspect live variables, and edit notebook cells via the hamelnb CLI with structured JSON output.
- Verification and Control: Restart kernels, run notebooks top-to-bottom for verification, and configure execution timeouts for long-running tasks.
- Use Case: Iteratively explore a large DataFrame, run transformations step-by-step, preview intermediate variables, and finalize a reproducible notebook once analysis stabilizes.
Quick Start
Start a headless Jupyter server, create a scratch.ipynb session, and run iterative Python snippets with the hamelnb execute command to inspect live variables and refine code.