Build typed IPython app execution pipeline

This commit is contained in:
lda
2026-08-30 01:46:36 +07:00 Verified
commit d4d05d12cf
13 changed files with 1283 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# IPython demo
The application-facing API is:
```python
from ipython_demo import App
app = App()
call = app.run_code(
"print('hello'); 2 + 2",
shell_name="new",
collapsed=False,
)
```
`call` contains the submitted `code`, `call_id`, `shell_name`, `collapsed`
state, a typed `result`, and ordered typed `events`. Event sequences are
stable within a call, so a frontend can use `(call_id, sequence)` as its
idempotency and React key pair.
For MIME output, retain the complete bundle and choose a renderer in the UI.
The initial preference is `text/html`, JavaScript, `text/latex`, then
`text/plain`, with image MIME types handled by their image renderers. HTML
must be sanitized, and JavaScript should be treated as untrusted unless the
host explicitly opts into a sandboxed execution policy.
Run the JSON showcase with:
```text
uv run ipython-demo
```