chore: publish from main

This commit is contained in:
github-actions[bot]
2026-09-01 05:05:49 +00:00
parent 44f29be0d6
commit 630a5d87a7
16 changed files with 7973 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
# Jupyter Notebooks
Create, edit, run, save, and checkpoint Jupyter notebooks in an interactive GitHub Copilot canvas.
![Jupyter Notebooks canvas showing Markdown, Python code, and execution output](assets/preview.png)
## What it does
- Opens existing `.ipynb` files from the current workspace.
- Creates code, Markdown, and raw cells with reorder, duplicate, undo, and redo controls.
- Runs Python cells through a fresh isolated process with bounded resources and captured rich output.
- Saves, renames, and duplicates notebooks as standard `.ipynb` files.
- Creates persistent checkpoints that can be restored from the canvas.
## Requirements
- Python 3 available as `python3` or `python`.
- The `@github/copilot-sdk` package installed with the extension.
## Install
Ask Copilot to install the committed extension:
```text
Install this extension: https://github.com/github/awesome-copilot/tree/main/extensions/jupyter-notebooks
```
Reload extensions, then ask Copilot to open the `jupyter-notebooks` canvas.
## Agent actions
The canvas provides actions for notebook lifecycle, workspace files, cell editing, execution, runtime selection, and checkpoints. Use `get_notebook` to inspect the current state before editing a cell.
## Security and local data
Notebook execution uses Python isolated mode in a fresh temporary directory. The runner applies CPU, file-size, process, and memory limits where the platform supports them, caps captured output, and stops execution after 30 seconds.
The local canvas server binds to `127.0.0.1`, protects requests with a per-instance capability token, validates action origins, and sends a restrictive content security policy. Notebook state and checkpoints stay in the active Copilot workspace.
Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

@@ -0,0 +1,4 @@
{
"name": "jupyter-notebooks",
"version": 1
}
@@ -0,0 +1,4 @@
// Extension: jupyter-notebooks
// The implementation is isolated so this required discovery entrypoint stays focused.
import "./notebook-canvas.mjs";
File diff suppressed because it is too large Load Diff
+16
View File
@@ -0,0 +1,16 @@
{
"name": "jupyter-notebooks",
"version": "1.0.0",
"type": "module",
"main": "extension.mjs",
"description": "Create, edit, run, save, and checkpoint Jupyter notebooks in an interactive Copilot canvas.",
"keywords": [
"data-analysis",
"interactive-notebooks",
"jupyter",
"python"
],
"dependencies": {
"@github/copilot-sdk": "latest"
}
}