Repository navigation
feat!: apps SDK, decorator-native GPU compute with live dev sessions and a new rp CLI - #534
Conversation
…d datacenter selection
|
Should be ready for a re-review. Took a look at all these comments, main things were addressed.
|
deanq
left a comment
There was a problem hiding this comment.
Re-review after the REST-wrapper rebase — the earlier blockers all look resolved (placement datacenter enum, dev teardown orphaning, the targets.py pod leaks, etc.). A few new issues in the new/rebased code, inline below.
The tasks.py gpu="any" one is the same enum→device-name class as the placement.py fix from last round and would block task deploys; the rp_info.py get_pod change is a retry regression on the rp pod connect path. The rest are robustness/correctness.
|
hey @KAJdev — poking this one. the 7 threads from my last pass are still open and the code hasn't moved. couple of them are actual bugs, not nits:
the |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Authentication, live refresh, SSE parsing, and task secret-validation bugs remain unresolved.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 5
Open (6)
GraphQL requests send masked value instead of API key · New Async transport sends masked instead of real authorization key · New Log requests use masked authorization instead of API key · New Invocation requests use masked authorization instead of API key · New Pod runner uses masked token for task authentication · New Rescan reuses cached module and stale app registrations · New
Resolved since last review (12)
When noRUNPOD_PACKAGE_SPECis set, this shim never installs the client SDK. That breaks the…_execute()retries every transport failure, but it is shared by non-idempotent mutations such as…session.start()runs before thetry/finallythat callssession.stop(). If provisioning a… If polling times out orunwrap_task_responseraises for a failed task,_doneis still false, so… The spawn path has no cleanup if pod startup, readiness, or/submitfails after the pod is… The stock lookup key omitsspec.gpu_count, and_fetch_gputherefore queries… The endpoint is removed from_endpointsbefore deletion succeeds. Ifdelete_endpointfails, the…dev_endpoint_name()appends a digest after the resource name, and resource names may contain…volume_listandattach_endpoint_volumessupport multiple endpoint volumes, but this public…datacenter=DataCenter.EU_RO_1is a valid public enum value, but this helper stores the enum… Theor Truemakes this assertion unconditional, so the test never verifies that… The exception guidance contains the malformed fragmentstr(...) it, which is confusing at the…
Resolve conflicts in two files: - runpod/__init__.py: keep the branch's lazy PEP-562 import surface and add main's serverless startup gate (run_import_checks). main's eager import block is dropped as redundant -- every name it exported is already resolvable through _LAZY_ATTRS. - README.md: keep the branch's apps-SDK rewrite (Installation, Example, Contributing) and append main's new sections (Serverless Worker, Worker Fitness Checks, Network-Volume Warm Cache, REST API v2, Pods, Directory). Dropped main's duplicate "Community and Contributing" and redundant Python-3.10 note already covered by the new intro.
Promptless documentation updates
|
Release PR #594 cut 2.0.0 but wrote its section as [2.1.0] with a compare link to a v2.1.0 tag that does not exist. It also omitted the breaking apps SDK change and everything released in the 2.0.0 rcs. - Retitle the section to 2.0.0, compare v1.12.0...v2.0.0, dated 2026-10-30 (the tag and GitHub release date) - Add a BREAKING CHANGES entry for #534 - Add the feat/fix/perf commits since 1.12.0 that the section missed, including #654 and #658 merged after the release PR was opened - Fold the hand-written "Unreleased" notes into 2.0.0; that code ships in the v2.0.0 tag, and release-please would otherwise insert future sections above it
Release PR #594 cut 2.0.0 but wrote its section as [2.1.0] with a compare link to a v2.1.0 tag that does not exist. It also omitted the breaking apps SDK change and everything released in the 2.0.0 rcs. - Retitle the section to 2.0.0, compare v1.12.0...v2.0.0, dated 2026-10-30 (the tag and GitHub release date) - Add a BREAKING CHANGES entry for #534 - Add the feat/fix/perf commits since 1.12.0 that the section missed, including #654 and #658 merged after the release PR was opened - Fold the hand-written "Unreleased" notes into 2.0.0; that code ships in the v2.0.0 tag, and release-please would otherwise insert future sections above it
Release PR #594 cut 2.0.0 but wrote its section as [2.1.0] with a compare link to a v2.1.0 tag that does not exist. It also omitted the breaking apps SDK change and everything released in the 2.0.0 rcs. - Retitle the section to 2.0.0, compare v1.12.0...v2.0.0, dated 2026-10-30 (the tag and GitHub release date) - Add a BREAKING CHANGES entry for #534 - Add the feat/fix/perf commits since 1.12.0 that the section missed, including #654 and #658 merged after the release PR was opened - Fold the hand-written "Unreleased" notes into 2.0.0; that code ships in the v2.0.0 tag, and release-please would otherwise insert future sections above it
Release PR #594 cut 2.0.0 but wrote its section as [2.1.0] with a compare link to a v2.1.0 tag that does not exist. It also omitted the breaking apps SDK change and everything released in the 2.0.0 rcs. - Retitle the section to 2.0.0, compare v1.12.0...v2.0.0, dated 2026-10-30 (the tag and GitHub release date) - Add a BREAKING CHANGES entry for #534 - Add the feat/fix/perf commits since 1.12.0 that the section missed, including #654 and #658 merged after the release PR was opened - Fold the hand-written "Unreleased" notes into 2.0.0; that code ships in the v2.0.0 tag, and release-please would otherwise insert future sections above it



Brings decorator-native GPU compute into the core
runpodpackage, with queue, API, and task resources sharing one app lifecycle and a live development workflow.Worker execution is versioned independently through
runpod-sdk-runtime, allowing runtime images and SDK clients to evolve on separate release cycles. Flash lifecycle commands live underrp flash, while account, secret, registry, pod, and SSH commands stay at the root.Completes CON-605
Completes CON-601
Completes CON-750