Title: docs: guides for running, automating and building on Deepnote by jamesbhobbs · Pull Request #620 · deepnote/deepnote · GitHub
Open Graph Title: docs: guides for running, automating and building on Deepnote by jamesbhobbs · Pull Request #620 · deepnote/deepnote
X Title: docs: guides for running, automating and building on Deepnote by jamesbhobbs · Pull Request #620 · deepnote/deepnote
Description: Summary Documents things Deepnote can already do that had no user-facing docs, or whose docs were out of date. Docs only, no code changes. This replaces #611–#618, which were split by topic. They cross-link heavily, so they're easier to review and merge together. Area Files What's new Running notebooks in CI deepnote-cli-ci.md (new), links from deepnote-cli.md and skills/deepnote/references/cli-run.md deepnote run on the runner (no secrets, safe on fork PRs) and run --cloud from trusted triggers; exit codes and failureCategory; security guidance for DEEPNOTE_TOKEN (Environments, no pull_request_target, --push --yes is destructive, snapshot artifacts expose outputs) Deepnote API guides deepnote-api.md (rewritten), deepnote-api-runs.md, -sessions.md, -machines.md, -workspace.md (new) The API page covered only auth and didn't link the generated reference. It's now an overview (conventions, pagination, 409/429, viewer tokens) plus task guides: runs with inputs, snapshots and app-data; interactive sessions; machine start/stop/resize and idle-shutdown recipes; project export/import, integrations, usages, search, files, members Notebooks as app backends streamlit.md, deepnote-cli-publish.md deepnote-toolkit 2.9.0 helpers (DeepnoteDocument, render_inputs, StreamlitCloudRunner) for running a notebook from a Streamlit app with the viewer's own permissions; a minimal JavaScript viewer-token handshake → POST /v2/runs → poll example Plugin for Claude Code and Codex deepnote-mcp.md One-command deepnote/agent-plugins install, sign-in, what the skills add, example prompts Notebooks in Git deepnote-cli-git.md (new) Snapshots vs source, a textconv driver for readable git diff/log -p, difftool with deepnote diff, pre-commit validate/lint, a PR job that writes block-level diffs to the job summary Dependency analysis deepnote-cli-dependencies.md (new) dag show/vars/downstream, run --block --dry-run, analyze, with real output from CLI 0.10.0 Local agent blocks deepnote-cli-agent-blocks.md (new) run --prompt; choosing a model and provider (Anthropic, OpenAI, OpenAI-compatible endpoints such as Ollama/OpenRouter/LiteLLM); base-URL overrides; MCP servers; Cloud compatibility of model ids VS Code and Cursor vscode-extension.md, local-setup.md Checked against vscode-deepnote 1.8.0. Removed the deleted Environments panel and commands that no longer exist; documented interpreter selection and the toolkit prompt, the project explorer, agent blocks, .deepnote.env.yaml integrations, Init notebooks, snapshots, the Variables panel, agent skills install, and settings Deepnote images outside Deepnote default-environment.md Running notebooks locally or in a GitHub Actions container: job on deepnote/python:3.x-datascience, using the image's /root/venv Every flag, endpoint and behavior was checked against source: the CLI and runtime-core in this repo, the public API spec plus webapp source, deepnote-toolkit at 2.9.0, agent-plugins, and vscode-deepnote. Tested Git recipes with published @deepnote/cli@0.10.0: the textconv driver in git diff and git log -p, the difftool, lint exiting 1 on a syntax error, validate exiting 2, the plain git hook blocking a commit, and the PR-summary script logic. Dependency analysis: all output on the page comes from real CLI 0.10.0 runs. Docker image: deepnote run inside deepnote/python:3.12-datascience succeeds with /root/venv activated (pandas, numpy and sklearn import). Without activating it, it fails with ModuleNotFoundError, which is why the page uses the absolute venv path. Prettier and cspell pass. All internal /docs/... links resolve except api-reference, which the docs site generates. Not yet verified CI page: run the runner and cloud workflows once in a private scratch repo (throwaway project and key for the cloud one, then delete them). API: run the curl and Python examples against a test workspace and clean up; confirm GET /v2/runs/{runId} returns session runs; confirm the Team/Enterprise plan callout. Streamlit: confirm Deepnote Cloud's Streamlit environment ships deepnote-toolkit ≥ 2.9.0; run both app examples in a hosted app. Plugin: install it in a clean Claude Code and a clean Codex and run one prompt in each. Git: the Actions PR-review job and the pre-commit framework config. Agent blocks: one run each with Anthropic, OpenAI and an OpenAI-compatible endpoint. VS Code/Cursor: click through the toolkit install prompt, the Init notebook run, and skills install. Docker image: the GitHub Actions container: example itself. The docs site renders the new pages, and anchors (#security, #outputs-and-snapshots, #integrations-from-a-file) resolve. Found along the way (not fixed here) lint never reports undefined variables. With CLI 0.10.0, a block reading undefined_thing passes. The analyzer drops undefined names from a block's used variables, so the undefined-variable rule never fires. The circular-dependency check also didn't fire for a = b + 1 / b = a + 1. The pages only claim what reproduces. VS Code always asks for an OpenAI key for agent blocks, whatever model the block names, so the VS Code section describes only the OpenAI flow. Supporting other providers would be a vscode-deepnote change. Related Sidebar entries for the new pages: deepnote/deepnote-internal#21211. 🤖 Generated with Claude Code Summary by CodeRabbit Documentation Added API guides for notebook runs, interactive sessions, machine controls, workspace workflows, authentication, and API behavior. Expanded CLI guidance for CI, dependency analysis, Git workflows, agent blocks, and viewer access for published apps. Added guides for Streamlit apps, MCP setup, and running notebooks outside Deepnote with public Python environments. Updated VS Code extension and local setup guides with notebook and project workflows, agent blocks, snapshots, integrations, commands, and Python environment requirements. Added CI guidance to CLI references and project sync documentation, and expanded the documentation dictionary.
Open Graph Description: Summary Documents things Deepnote can already do that had no user-facing docs, or whose docs were out of date. Docs only, no code changes. This replaces #611–#618, which were split by topic. They c...
X Description: Summary Documents things Deepnote can already do that had no user-facing docs, or whose docs were out of date. Docs only, no code changes. This replaces #611–#618, which were split by topic. They c...
Opengraph URL: https://github.com/deepnote/deepnote/pull/620
X: @github
Domain: github.com
| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /:user_id/:repository/pull/:id/commits/:range(.:format) |
| route-controller | pull_requests |
| route-action | commits |
| fetch-nonce | v2:5e79b75b-1763-0a95-70e0-26c6a82759c0 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | A5EC:1BE497:38C74B:4F0465:6AEDB35E |
| html-safe-nonce | ee21967bee2a292a69e49aba1eecfe70664d6fea1dae6e275aefa4c988d2d485 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNUVDOjFCRTQ5NzozOEM3NEI6NEYwNDY1OjZBRURCMzVFIiwidmlzaXRvcl9pZCI6Ijg5MTQwNzMzMjc0OTE3MjQxMjYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 75f485e2f9211d2a8ce71883a2501876d2da40ca0e1084d05a9aaffcf208c86f |
| hovercard-subject-tag | pull_request:5163427687 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/deepnote/deepnote/pull/620/commits/704b385e7a115ffff7f1ffd4f4591ffca073067a |
| twitter:image | https://avatars.githubusercontent.com/u/15235276?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/15235276?s=400&v=4 |
| og:image:alt | Summary Documents things Deepnote can already do that had no user-facing docs, or whose docs were out of date. Docs only, no code changes. This replaces #611–#618, which were split by topic. They c... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | e40242599af5e7da0f281843dec7492c322688d4a48caeea85f9fb8e41c8ea53 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/deepnote/deepnote git https://github.com/deepnote/deepnote.git |
| octolytics-dimension-user_id | 45339858 |
| octolytics-dimension-user_login | deepnote |
| octolytics-dimension-repository_id | 1066509034 |
| octolytics-dimension-repository_nwo | deepnote/deepnote |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1066509034 |
| octolytics-dimension-repository_network_root_nwo | deepnote/deepnote |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 89cbf2bb52a24fc179bf5925abba0ba574b262ce |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width