René's URL Explorer Experiment


Title: feat(cli): add deepnote streamlit publish by jamesbhobbs · Pull Request #466 · deepnote/deepnote · GitHub

Open Graph Title: feat(cli): add deepnote streamlit publish by jamesbhobbs · Pull Request #466 · deepnote/deepnote

X Title: feat(cli): add deepnote streamlit publish by jamesbhobbs · Pull Request #466 · deepnote/deepnote

Description: Adds deepnote streamlit publish , a CLI command that serves a Python file already stored in a Deepnote project's Files as a Streamlit app, and keeps deepnote publish

for uploading a local build directory only. A reviewer asked for two commands because the two flows differ: Streamlit publishing registers an existing project file and uploads nothing, while publish uploads local files. With separate commands, no positional argument changes meaning with a flag, and the streamlit group sits next to the existing static-site group, ready for more subcommands later. deepnote streamlit publish apps/dashboard.py --project-id What is inside New command deepnote streamlit publish (packages/cli/src/cli.ts, packages/cli/src/commands/streamlit-publish.ts). Options: --project-id, --url, --token, --no-wait. The entrypoint is a project-relative path; the CLI normalizes it and rejects unsafe paths with exit code 2 before any request. A missing token also exits 2. Publish flow (packages/cli/src/utils/publish-streamlit-app.ts). Creates the app, prints its URL, warns that creating an app restarts the project machine, then waits up to 10 minutes for the app to report running. If the server answers that an app already exists for the file, the CLI looks it up, reports it without restarting anything, and waits for it too. --no-wait returns right after the URL. A wait that times out or a failed status check exits 1 and keeps the URL on screen. A missing entrypoint file gets a hint to upload it in Deepnote or push it with deepnote sync --all-files alongside a notebook push. Ctrl+C interrupts the wait. @deepnote/cloud client (packages/cloud/src/streamlit-apps.ts). Adds createStreamlitApp, listStreamlitApps, getStreamlitAppStatus, waitForStreamlitApp, StreamlitAppTimeoutError and their types. The poller checks the deadline before every request, treats unavailable as non-terminal because the status passes through it while the machine restarts, and retries transient failures with capped backoff, mirroring pollRunUntilComplete. deepnote publish and deepnote static-site access keep their behaviour. Their help and output now say "app" instead of "static site" or "static website", and publish --help points to deepnote streamlit publish for Python files. The viewer-token note now says that the token can start runs in other projects of the same workspace where the viewer has direct access, and that such runs also require execute permission. Documentation in docs/deepnote-cli-publish.md, packages/cli/README.md, packages/cloud/README.md, skills/deepnote/SKILL.md and skills/deepnote/references/{apps,cli-publish}.md. One section per command; "app" means HTML, CSS and JavaScript hosted by Deepnote, "Streamlit app" means a Python UI running on project hardware. The pages document the restart on creation, the wait, the sync caveat, the entrypoint-deletion behaviour and the viewer-token limits. Tests: packages/cli/src/commands/streamlit-publish.test.ts drives the new command end to end through the CLI, including the existing-app paths through the real poller; packages/cloud/src/streamlit-apps.test.ts covers the client and the poller. Publishing behaviour to know Streamlit publishing registers an existing project file; it does not upload local files. Upload the entrypoint and its dependencies first. Creating a Streamlit app restarts the project machine and interrupts active work. Deleting an entrypoint can remove its app registration, though some UI-created Streamlit apps currently retain it. File sync replaces changed files by deleting and uploading them, so publish again after syncing an edited entrypoint and use the returned URL, which may change. Sync uploads working files alongside a notebook push; for a Python-only edit, upload in Deepnote. Streamlit publishing leaves app settings and sync state unchanged. Hosted Streamlit viewer API calls require the owner's API-access opt-in and a signed-in viewer with direct project access. Streamlit viewer tokens are limited to the hosting project. How it was tested pnpm test: 3,344 tests in 184 files pass, including the 21 streamlit publish tests and the existing-app regressions that run the real status poller for restart recovery and timeout. pnpm typecheck, pnpm build, pnpm lintAndFormat (8 pre-existing Biome warnings, none new), pnpm spell-check. Every heading link in the touched README, docs pages and skill references resolves. Built CLI help checked for publish, static-site access, streamlit and streamlit publish. publish --streamlit is rejected as an unknown option; a missing token or an invalid entrypoint exits 2 before any request. The built CLI was run against a local stub of the Deepnote API for create, existing app, --no-wait, timeout and missing-file flows; messages match the previous publish --streamlit build except the reworded sync hint. Ctrl+C while "Waiting for the app to start…" is spinning ends the command at once, checked in a pseudo-terminal against the stub API. Live on staging (https://api.deepnote-staging.com, built CLI at e50616d, real project and API token): Publishing a new app.py created the app, printed the restart warning and URL, and waited through unavailable → starting → running (69 s, exit 0). The returned URL serves the working Streamlit app. Publishing the same file again, as app.py, ./app.py or /app.py, reported the existing app without changes; the project still lists one app. --no-wait on a second file exited after 1 s while the app was still unavailable. A file missing from the project, a wrong token and an unknown project each exit 1 with the expected message; an unsafe path or a missing token exits 2 before any request. In a terminal, the spinner ends with "App is running". Validated locally with Node.js 22.22.2 and pnpm 10.19.0. Updates from review Merged main to resolve conflicts with #530 in the publish docs and skill reference, keeping this PR's pages and adding #530's .env token source, API key location and .env refusal. deepnote streamlit publish now reads DEEPNOTE_TOKEN from ./.env, like publish and static-site access after #530. CodeRabbit: the missing-token test now runs only in an empty temporary directory, so a .env in the working directory cannot supply a token. Re-verified live on staging at 6ba1d17: create and wait with the token only in .env, existing-app lookup, --no-wait, error paths, token precedence (--token > shell > .env), and publish refusing a build directory with .env. Related work Streamlit examples: #523. After this lands, merge feat/streamlit-apps-mvp into feat/streamlit-apps-examples and change examples/streamlit/README.md from deepnote publish --streamlit to deepnote streamlit publish. Entrypoint deletion cleanup: deepnote/deepnote-internal#20846, a separate draft backend fix. This PR qualifies the guidance until that fix is deployed. Python helpers: deepnote/deepnote-toolkit#122, tracked separately. Viewer API authentication: deepnote/deepnote-internal#20811, merged. BLU-6348. Summary by CodeRabbit New Features Added streamlit publish to register a project-relative Python file as a Streamlit app, with an option to skip waiting for readiness. Added Streamlit app listing, status checks, and readiness waiting with retries for temporary failures. Publishing can create or reuse a Streamlit app and report its URL and readiness status. App viewer access can reach notebooks in other workspace projects when the viewer has access; running them also requires execute permission. Bug Fixes Rejects --no-wait when publishing without selecting Streamlit. Documentation Updated publishing guides to distinguish browser-hosted and Streamlit apps and explain workflows, access, sync updates, conflicts, and troubleshooting. Clarified that Streamlit publishing registers an entrypoint without uploading it or changing app settings.

Open Graph Description: Adds deepnote streamlit publish <entrypoint>, a CLI command that serves a Python file already stored in a Deepnote project's Files as a Streamlit app, and keeps deepnote publish <dir&g...

X Description: Adds deepnote streamlit publish &lt;entrypoint&gt;, a CLI command that serves a Python file already stored in a Deepnote project&#39;s Files as a Streamlit app, and keeps deepnote publi...

Opengraph URL: https://github.com/deepnote/deepnote/pull/466

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,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-controllerpull_requests
route-actioncommits
fetch-noncev2:a3dc396c-e4ca-fb1b-8623-1e8ba99634f9
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idA7E8:BDB57:A36845:D923F3:6AEDCEAD
html-safe-nonce9bf813db7b8c9503a5742dbe3d8a4ad5322473d48085514dc8d015c73e45476d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBN0U4OkJEQjU3OkEzNjg0NTpEOTIzRjM6NkFFRENFQUQiLCJ2aXNpdG9yX2lkIjoiNjUzODk2NDc0NTA0MDI4NTM1NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacfae7118ad116da33610f96e7a18b58879bcdfd65189fdd9507924e28b2333f1b
hovercard-subject-tagpull_request:4300585815
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
twitter:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
og:image:altAdds deepnote streamlit publish <entrypoint>, a CLI command that serves a Python file already stored in a Deepnote project's Files as a Streamlit app, and keeps deepnote publish <dir&g...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonef60373873bb1ef795e8511ea1f2a76997e9c649d72b02942aedf2def3423a0ce
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/deepnote/deepnote git https://github.com/deepnote/deepnote.git
octolytics-dimension-user_id45339858
octolytics-dimension-user_logindeepnote
octolytics-dimension-repository_id1066509034
octolytics-dimension-repository_nwodeepnote/deepnote
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1066509034
octolytics-dimension-repository_network_root_nwodeepnote/deepnote
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release0f55cfa61438c7dc93d1024a1e5e5182b36830e2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F466%2Fcommits%2Fcdf999755f4fe463e3c8af60d7f723f27f9c9235
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F466%2Fcommits%2Fcdf999755f4fe463e3c8af60d7f723f27f9c9235
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=deepnote%2Fdeepnote
Reloadhttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
Reloadhttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
Reloadhttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
deepnotehttps://github.com/deepnote
deepnotehttps://github.com/deepnote/deepnote
Codehttps://github.com/deepnote/deepnote
Issues14 (14)https://github.com/deepnote/deepnote/issues
Pull requests24 (24)https://github.com/deepnote/deepnote/pulls
Discussionshttps://github.com/deepnote/deepnote/discussions
Actionshttps://github.com/deepnote/deepnote/actions
Security and qualityhttps://github.com/deepnote/deepnote/security
Insightshttps://github.com/deepnote/deepnote/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
voytihttps://github.com/voyti
mainhttps://github.com/deepnote/deepnote/tree/main
feat/streamlit-apps-mvphttps://github.com/deepnote/deepnote/tree/feat/streamlit-apps-mvp
Conversation 38 https://github.com/deepnote/deepnote/pull/466
Commits 77 https://github.com/deepnote/deepnote/pull/466/commits
Checks 21 https://github.com/deepnote/deepnote/pull/466/checks
Files changed https://github.com/deepnote/deepnote/pull/466/files
Please reload this pagehttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
feat(cli): add deepnote streamlit publish https://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235#top
Show all changes 77 commits https://github.com/deepnote/deepnote/pull/466/files
d079a72 fix(cloud): harden run snapshots and request deadlines jamesbhobbs Aug 5, 2026 https://github.com/deepnote/deepnote/pull/466/commits/d079a72841301fb54abe6d86ef0c54f6175cd337
b337a4c fix(cloud): address snapshot review feedback jamesbhobbs Aug 5, 2026 https://github.com/deepnote/deepnote/pull/466/commits/b337a4c82e6e7d1f699f169e651d922df0a26eff
eee22bc style: format README table after rebase conflict resolution jamesbhobbs Aug 13, 2026 https://github.com/deepnote/deepnote/pull/466/commits/eee22bc860a309738f6518f2e0ea71bdd42459a7
5f877b5 feat(cli): configure detached cloud-run storage jamesbhobbs Aug 5, 2026 https://github.com/deepnote/deepnote/pull/466/commits/5f877b55407300feebd6cd28c47b145acb8cb7ca
16e560a fix(cli): complete storage-mode values in Bash jamesbhobbs Aug 5, 2026 https://github.com/deepnote/deepnote/pull/466/commits/16e560a3a7731be6ce83f32132545a3b4330816a
08a1db2 fix(cli): narrow JSON.parse result to CloudRunResult in tests jamesbhobbs Aug 13, 2026 https://github.com/deepnote/deepnote/pull/466/commits/08a1db2a9f35387bb64c3f039541dec9e3b0eaa1
40b3273 feat(cloud): add block-level API client and push sync engine jamesbhobbs Aug 13, 2026 https://github.com/deepnote/deepnote/pull/466/commits/40b32737327f51b3d7104dec604a1a7cc10c9306
f08dc90 Merge branch 'main' into fix/cloud-run-reliability jamesbhobbs Aug 13, 2026 https://github.com/deepnote/deepnote/pull/466/commits/f08dc90ced0501ffb0f003ac64f070943364078d
02ceeb5 fix(cli): narrow optional snapshotPath before fs.readFile in test jamesbhobbs Aug 13, 2026 https://github.com/deepnote/deepnote/pull/466/commits/02ceeb51448553673ecba00d4b040ab7346c88c0
03f7c5b test(cli): add Zsh and Fish assertions for --storage-mode completions jamesbhobbs Aug 13, 2026 https://github.com/deepnote/deepnote/pull/466/commits/03f7c5bacf2141f57fa93303c14d1ccad1b30693
dd9139d Merge branch 'fix/cloud-run-reliability' into feat/cli-push-blocks jamesbhobbs Aug 13, 2026 https://github.com/deepnote/deepnote/pull/466/commits/dd9139dcddb9a6a64e0162d3d022108135734555
2d07cf3 fix(sync): apply the approved plan and stop phantom integration updates jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/2d07cf3c7e340d5ed74784398e329043cb50f633
d28c5ee Merge branch 'main' into fix/cloud-run-reliability jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/d28c5ee7693e54bfa3192343a3269fc6226c2ff5
a798388 fix(cli): report command failure when run succeeds but snapshot is mi… jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/a79838824e488e62074818bc3cf54c3770343f7a
1775458 fix(cli): defer re-fetch error throw until after no-op synthesis jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/177545837589dea29e2970b9e9c799e14b91bff9
326296c refactor(local-runner): one run endpoint for dynamic apps, cloud by d… jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/326296c94e014151d463c546302d277d735c0f5e
20680cf refactor(local-runner): merge the two runners into one, cloud by default jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/20680cf21d02ea383666308ed011d40cc7d1dd3d
42e912b fix(local-runner): derive a local run's success from its failed blocks jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/42e912bc2e0541f657f4b4d0c5f4f5ba2fce2428
13dcf6c test(local-runner): cover the default runner adapters jamesbhobbs Aug 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/13dcf6c48c32c0d397dd0a0bf33e753e0d347d3d
716cf2c feat: add Streamlit app helpers jamesbhobbs Aug 18, 2026 https://github.com/deepnote/deepnote/pull/466/commits/716cf2c8d64aa7ce97be75963360ab330fa0b351
5f9fe10 Merge branch 'main' into fix/cloud-run-reliability jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/5f9fe10840a769b49f787ddd20fd13c4167ec9eb
729053f fix(cloud,cli): mark synthesized snapshots and treat empty snapshot c… jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/729053f1be48158db4ce2319b0ba5f9511c0042d
b386cc7 docs(cli): correct cloud-run success and exit-code semantics, documen… jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/b386cc7b0e0804b94fed925807d984c1cc172cbe
579d515 Merge branch 'fix/cloud-run-reliability' into feat/cli-push-blocks jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/579d515d13a3f8f866b8f341370cd1ca9c0135d8
d368c8b Merge branch 'main' into feat/dynamic-app-one-run-endpoint jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/d368c8b957680bcfb0a266c6e53e35f2aebc62a6
df00b02 fix(local-runner): ignore volatile execution metadata in push plannin… jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/df00b027840a439f0622d16fceb1ab008b25efc2
4cd6fb7 fix(local-runner): keep unified run UI target-aware jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/4cd6fb7d1c30a397aa5ac0eee61b78f4323d28f8
dde1976 chore(repo): merge main into feat/cli-push-blocks jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/dde197676e028e1bd04d4d18bfb64870ee528185
d644fd0 fix(local-runner): reject primitive block metadata instead of throwin… jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/d644fd027bc710dabc43a6a371e3d0b321e6ae91
16b6c75 fix(local-runner): validate unified run targets jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/16b6c75f4df03a5277dc5612ed672fabe2bd2055
fdabece test(local-runner): satisfy spell check jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/fdabece07e7c15b824e3737877babac728952552
0c2e68d Merge branch 'main' into feat/dynamic-app-one-run-endpoint jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/0c2e68d5c50e68ed9b88502a47b7e1670b4e4802
9de623e feat(cli): wire --push into deepnote run --cloud (#477) jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/9de623e6d80246b086ec7b2154ad53edde891376
ded5835 fix(cli): treat an empty push plan as previewed under --dry-run jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/ded58354010cea1977142c6604a1249c89f4dbd6
2a485ed Merge branch 'feat/dynamic-app-one-run-endpoint' into feat/streamlit-… jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/2a485ed515a4203d630df4bced3e7459dfd36737
848b26c fix(streamlit): validate runner input contracts jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/848b26c027294a81bc4b343304c3a7561d5c05c9
7d6e1d8 Merge remote-tracking branch 'origin/feat/cli-push-blocks' into feat/… jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/7d6e1d8859b05d74763cbd34945aa46056404575
f76b6c4 Merge branch 'main' into feat/cli-push-blocks jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/f76b6c40ab27a1dfc9dc51021477560d8380da2c
941c5da Merge remote-tracking branch 'origin/feat/cli-push-blocks' into feat/… jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/941c5da42574e8f9c6776f785535ceea46ad5188
9a2f94c docs(streamlit): separate deployment sync from runtime jamesbhobbs Aug 19, 2026 https://github.com/deepnote/deepnote/pull/466/commits/9a2f94ca308c5f7334bcdb96e666601628ffb4bf
230bad0 chore(repo): merge main into feat/streamlit-apps-mvp jamesbhobbs Aug 26, 2026 https://github.com/deepnote/deepnote/pull/466/commits/230bad01a051adae398124291dcedd990ef390cb
97ed5dc refactor(streamlit): use Deepnote Toolkit jamesbhobbs Aug 26, 2026 https://github.com/deepnote/deepnote/pull/466/commits/97ed5dcf7e72ca97300d635bd54439cf42b53992
224b429 feat(cli): publish Streamlit apps jamesbhobbs Aug 26, 2026 https://github.com/deepnote/deepnote/pull/466/commits/224b4297260ac194386ef89685ba1865ce123d56
a47513c docs: satisfy markdown formatting jamesbhobbs Aug 26, 2026 https://github.com/deepnote/deepnote/pull/466/commits/a47513c4a5fc20d4772af404881e7d8ea649337c
7414151 docs: align with current prettier jamesbhobbs Aug 26, 2026 https://github.com/deepnote/deepnote/pull/466/commits/741415131591f35c732df82554a85ae9d09cd813
76d6077 chore(repo): merge main into feat/streamlit-apps-mvp voyti Sep 4, 2026 https://github.com/deepnote/deepnote/pull/466/commits/76d6077b233e7307ac3956fe7b1f54a5ce29f0cd
94b2c30 feat(cli): wait for a published Streamlit app to start and report an … voyti Sep 4, 2026 https://github.com/deepnote/deepnote/pull/466/commits/94b2c3031bdd653083ba24c6cb730dd21c7e90ac
dd0b7dc docs(cli,skill): push-first, restart, and signed-in viewer notes for … voyti Sep 4, 2026 https://github.com/deepnote/deepnote/pull/466/commits/dd0b7dc33dbb11ef725927215b89d5f5a5fe6b3f
0fa4f64 fix(cli,cloud): retry transient status failures and skip the wait for… voyti Sep 5, 2026 https://github.com/deepnote/deepnote/pull/466/commits/0fa4f645c7721c2429dc67fed2099ff86c68bd1f
4c00331 Merge branch 'main' into feat/streamlit-apps-mvp voyti Sep 14, 2026 https://github.com/deepnote/deepnote/pull/466/commits/4c0033155c78762e989482b933459ff5ce2231e3
8bfa30b fix(cli,cloud): fail on a status check error and stop polling once th… voyti Sep 14, 2026 https://github.com/deepnote/deepnote/pull/466/commits/8bfa30b2222d01035381167c836a9de4d1dd3b01
8366078 refactor(cli): surface a failed lookup of an existing Streamlit app a… voyti Sep 14, 2026 https://github.com/deepnote/deepnote/pull/466/commits/8366078eecc24e89c0316d7a30090bebb1863855
028f271 chore(cli): trim two comments on the Streamlit publish path and silen… voyti Sep 14, 2026 https://github.com/deepnote/deepnote/pull/466/commits/028f2715379a3a3bb0146a4cc920eb0bec1e9608
5e745af Merge remote-tracking branch 'origin/main' into pr-466-takeover voyti Sep 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/5e745af7daf49904c773fea8494abd63a45d9690
f990ec4 docs(cli,skill): document that an app follows its entrypoint file and… voyti Sep 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/f990ec4c79c80be7b4e470f656df74921895f64f
360d2ad chore(examples): move the Streamlit example apps to a follow-up PR voyti Sep 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/360d2ad4c1f33d3c57c13fa3e2cea345278a2f1f
daa5cfe docs(cli,skill): list the Streamlit options on the public publish pag… voyti Sep 17, 2026 https://github.com/deepnote/deepnote/pull/466/commits/daa5cfe07ab77c012bf68102584e6a85cc14cd9d
2997a85 docs(cli,skill): say that --no-wait also skips the wait for an app th… voyti Sep 18, 2026 https://github.com/deepnote/deepnote/pull/466/commits/2997a855196b4ccb4ff6ead65bf1e70cd4cf6b39
aeeff4d refactor(cli): move Streamlit publishing out of the publish command voyti Sep 18, 2026 https://github.com/deepnote/deepnote/pull/466/commits/aeeff4d362a3a2b514453a06aef5725e81ca2586
5ecf41a chore(cli,cloud): drop defensive guards and a literal-pinning test, a… voyti Sep 18, 2026 https://github.com/deepnote/deepnote/pull/466/commits/5ecf41a460f9096121495c7c55ab33010a7a9c71
ad698c8 refactor: simplify app publishing and agent guidance voyti Sep 22, 2026 https://github.com/deepnote/deepnote/pull/466/commits/ad698c8fb5b579342e5ff73e6b5b438837ef94c8
14d9bf9 Merge branch 'main' into feat/streamlit-apps-mvp dinohamzic Sep 23, 2026 https://github.com/deepnote/deepnote/pull/466/commits/14d9bf9c888632a2a0b20926edf2d3ece383346a
d7fde96 fix(cli): wait for existing Streamlit apps and clarify viewer access voyti Sep 23, 2026 https://github.com/deepnote/deepnote/pull/466/commits/d7fde968d0e9c86131f03a79645e5478b4a0b08e
03561e4 docs: distinguish apps from Streamlit apps voyti Sep 23, 2026 https://github.com/deepnote/deepnote/pull/466/commits/03561e473b0eeebe994a06a768d07251cc507af4
5f44f98 Merge remote-tracking branch 'origin/main' into feat/streamlit-apps-mvp voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/5f44f9872f1d02d6bfed1c436bf106130805f031
6dff9b6 feat(cli): replace publish --streamlit with deepnote streamlit publish voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/6dff9b6ab7325674d7e6c8bbc1648116c2ebf57c
a4d4fdc docs(cli,skill): document deepnote streamlit publish voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/a4d4fdc2db9b1cde45c68dded8daae1e0a3c386b
1cdb18b fix(cli): let Ctrl+C interrupt the wait for a Streamlit app voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/1cdb18b03df6004e62767cb624e4a04ac5f173ea
ba07951 test(cli): stub DEEPNOTE_TOKEN with vi.stubEnv in the streamlit publi… voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/ba07951c38c7c7897691f6c251811f8e08c575e1
63bf874 docs(cli): name both publish commands in the shared sections voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/63bf874d9527cc842156d77789bfdc5ce0587aea
88bd449 fix(cli): say when deepnote sync --all-files pushes the Streamlit ent… voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/88bd449167f7525f527de756f3ee8e276f873d2c
732ddcd test(cli): silence commander usage errors in the streamlit publish tests voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/732ddcde314c4543d93ae5dafe7535ea78d78563
ca60c13 docs(cli,cloud,skill): complete the Streamlit publish reference rows … voyti Sep 25, 2026 https://github.com/deepnote/deepnote/pull/466/commits/ca60c130632ec7e19a76de5e73cea55ba7cac979
4b04c58 Merge branch 'main' into feat/streamlit-apps-mvp voyti Sep 29, 2026 https://github.com/deepnote/deepnote/pull/466/commits/4b04c585e154db1f3244395d2bf7ab73645c316d
8f25de0 fix(cli): read DEEPNOTE_TOKEN from .env in streamlit publish voyti Sep 29, 2026 https://github.com/deepnote/deepnote/pull/466/commits/8f25de03c3ed84432062c40d8c162ba7e66c5ace
c9f9608 test(cli): keep the streamlit publish missing-token test out of the w… voyti Sep 29, 2026 https://github.com/deepnote/deepnote/pull/466/commits/c9f96083dfa2ad9c6b49056cb9cda3863d6253fe
cdf9997 Merge branch 'main' into feat/streamlit-apps-mvp voyti Sep 29, 2026 https://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
Clear filters https://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
Please reload this pagehttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
Please reload this pagehttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
Prev https://github.com/deepnote/deepnote/pull/466/commits/c9f96083dfa2ad9c6b49056cb9cda3863d6253fe
Please reload this pagehttps://github.com/deepnote/deepnote/pull/466/commits/cdf999755f4fe463e3c8af60d7f723f27f9c9235
https://github.com/voyti
voytihttps://github.com/deepnote/deepnote/commits?author=voyti
view the diff.https://github.com/deepnote/deepnote/commit/cdf999755f4fe463e3c8af60d7f723f27f9c9235
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.