Serve a Notebook
Deploy interactive Marimo notebooks, Streamlit apps, or MCP servers to Runtime and access them in your browser.
Deploy and open
Use dlt runtime serve:
dlt runtime serve fruitshop_notebook.py
This:
- Syncs your code and configuration to Runtime
- Creates an interactive job for the script
- Starts the app and waits until it's ready
- Opens the app in your browser
The command stays running and streams status updates. Press Ctrl+C to detach (the app keeps running in the cloud).
Access a running app
From the Web UI
- Notebooks appear on the Notebooks page as cards. Click a card to open the app.
- MCP servers appear on the MCPs page.
Running apps show a pulsing status indicator on their card.
From the CLI
Run dlt runtime serve again for the same script -- if it's already running, it opens the existing app.
Supported app types
| Type | Description |
|---|---|
| Marimo | Interactive Python notebooks with reactive execution |
| Streamlit | Data apps and dashboards |
| MCP | Model Context Protocol servers for AI tool integration |
Runtime auto-detects the app type from your script. All types use the same dlt runtime serve command.
View logs
dlt runtime logs fruitshop_notebook.py
See dlt runtime logs for options.
Stop a running app
dlt runtime cancel fruitshop_notebook.py
See dlt runtime cancel. You can also cancel from the Jobs page context menu.
Interactive vs batch profiles
Interactive apps use the access profile by default, which typically has read-only database credentials. Batch pipelines use the prod profile with read-write access. Configure profile-specific credentials in .dlt/secrets.access.toml and .dlt/secrets.prod.toml. See Manage Secrets.
Next steps
- Publish and Share your notebook with a public link
- See the Starter Pack for example notebooks