Skip to content
Agentmart
Submit a tool

jupyter-live-kernel

Stateful Jupyter kernel — variables persist across cells (hamelnb)

Skill by taracodlabs

IndexedApache-2.0★ 863
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/taracodlabs-jupyter-live-kernel

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Stateful Jupyter kernel — variables persist across cells (hamelnb)

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/jupyter-live-kernel

What's inside

Skill name
jupyter-live-kernel
Description
Stateful Jupyter kernel — variables persist across cells (hamelnb)
License
Apache-2.0
Instructions
108 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • skill.json

SKILL.md (first lines)

# Jupyter Live Kernel Execution

Run Python code in a persistent Jupyter kernel so that variables, imports, and state carry over between executions — exactly like working in a notebook, but from the CLI.

## When to Use

- User wants to run data analysis across multiple code cells with shared state
- User wants to explore a dataset step by step
- User wants to run ML training and inspect intermediate results
- User wants to execute a `.ipynb` notebook file from the command line
- User wants to maintain a REPL-like Python session with persistent variables

## How to Use

### 1. Install hamelnb (stateful kernel CLI)

```powershell
pip install hamelnb
# or use jupyter directly
pip install jupyter
```

### 2. Start a kernel and run cells (hamelnb)

```powershell
# Start a persistent kernel session (keeps running between calls)
hamelnb start --name datasession

# Execute a code snippet in the named session
hamelnb run datasession "import pandas as pd; df = pd.read_csv('data.csv'); print(df.shape)"

# Execute next cell — df variable is still available
hamelnb run datasession "print(df.describe())"

# Stop session when done
hamelnb stop datasession
```

### 3. Execute a notebook file

```powershell
# Run all cells in a notebook and save output
jupyter nbconvert --to notebook --execute analysis.ipynb --output analysis_out.ipynb

# Run and convert output to HTML for viewing
jupyter nbconvert --to html --execute analysis.ipynb --output report.html
```

### 4. Run Python code in a Jupyter kernel via Python API

```python
import jupyter_client, queue

km = jupyter_client.KernelManager(kernel_name="python3")
km.start_kernel()
kc = km.client()
kc.start_channels()
kc.wait_for_ready(timeout=30)

def run_cell(code):
  kc.execute(code)
  outputs = []
  while True:
    try:
      msg = kc.get_iopub_msg(timeout=10)
      if msg["msg_type"] == "stream":
        outputs.append(msg["content"]["text"])
      elif msg["msg_type"] == "execute_result":
        outputs.append(msg["content"]["data"].get("text/plain",""))
      elif msg["msg_type"] == "status" and msg["content"]["execution_state"] == "idle":
        break
    except queue.Empty:
      break
  return "".join(outputs)

print(run_cell("import pandas as pd; df = pd.read_csv('data.csv'); df.shape"))
print(run_cell("df.describe()"))   # df is still in scope!
km.shutdown_kernel()
```

### 5. Inject variables into a running kernel

```python
# Use run_cell from step 4 to inject values
run_cell("x = 42; y = [1, 2, 3]")
result = run_cell("print(x * 2, sum(y))")
```

## Examples

**"Load sales.csv and show the top 10 rows, then plot revenue by month"**
→ Use step 4: run cell 1 to load and preview the CSV, run cell 2 to group by month and show results — `df` persists between calls.

**"Execute my analysis.ipynb notebook and give me the output"**
→ Use step 3 with `jupyter nbconvert --to notebook --execute`.

**"Explore the wine quality dataset — check correlations step by step"**
→ Use hamelnb (step 2) to build up analysis iteratively with named session.

## Cautions

- Kernel sessions consume memory for as long as they run — always `km.shutdown_kernel()` when done
- Long-running cells (ML training) will block until complete — set reasonable timeouts
- `nbconvert --execute` re-runs all cells from scratch — it does not resume a previous state
- hamelnb is a third-party tool — verify it is installed with `pip show hamelnb` before use
- Never pass user secrets as inline code strings — use environment variables or config files instead

From taracodlabs/aiden, Apache-2.0.

More from taracodlabs/aiden

Compare and alternatives

    Featured in

    Signals

    Stars
    863
    Forks
    150
    Open issues
    12
    Last commit (this folder)
    May 6, 2026 (5 months ago)
    Last release
    Oct 19, 2026 (8 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from taracodlabs

    Cite this page

    jupyter-live-kernel skill. Agent Mart. https://agentmart.dev/skills/taracodlabs-jupyter-live-kernel (last updated 2026-10-24)