Repository navigation
docs: Use rp login in SkyPilot setup instead of removed runpod config - #704
promptless[bot] wants to merge 3 commits into
Conversation
- New flash/migrate-to-apps-sdk.mdx: decorator/CLI mapping, config parity, call methods, what's not carried over - Deprecation notices on flash/overview and flash/cli/overview - Draft (commented) changelog entry for the apps SDK release + breaking rp CLI changes - Nav entry in docs.json Grounded in runpod/runpod-python#534 (unreleased).
| | --- | --- | --- | | ||
| | Package | `pip install runpod-flash` | `pip install runpod` | | ||
| | Import | `from runpod_flash import Endpoint` | `import runpod` and `from runpod import App` | | ||
| | Decorator | `@Endpoint(...)` | `@app.queue(...)`, `@app.api(...)`, or `@app.task(...)` | |
There was a problem hiding this comment.
The three decorators and their mapping from Flash's @Endpoint come from App.queue, App.api, and App.task in runpod/apps/app.py; @app.task provisions an ephemeral pod per call while @app.queue/@app.api back Serverless endpoints.
Source: https://github.com/runpod/runpod-python/blob/feat/apps-sdk/runpod/apps/app.py
| return {"mean": float(np.mean(np.random.rand(size, size)))} | ||
|
|
||
| @runpod.local_entrypoint | ||
| def main(): |
There was a problem hiding this comment.
The call methods (.remote(), .remote.aio(), .spawn() returning a Job, and .local()) and the fact that calling a handle directly raises TypeError are defined on FunctionHandle in runpod/apps/handles.py.
Source: https://github.com/runpod/runpod-python/blob/feat/apps-sdk/runpod/apps/handles.py
| You can also call one function's `.remote()` from inside another function's body to build cross-endpoint pipelines: the nested call runs on the sibling resource. | ||
|
|
||
| ## Step 4: Update your CLI commands | ||
|
|
There was a problem hiding this comment.
The rp CLI command set (login, init, dev, deploy, app, env, undeploy, update, plus the new logs --follow, secret, and registry groups) is defined in runpod/rp_cli/main.py; the entrypoint is registered as both rp and runpod in setup.py.
Source: https://github.com/runpod/runpod-python/blob/feat/apps-sdk/runpod/rp_cli/main.py
|
|
||
| The decorator configuration surface carries over directly. The following parameters are available on `@app.queue` (and, except where noted, on `@app.api` and `@app.task`): | ||
|
|
||
| | Parameter | Description | |
There was a problem hiding this comment.
The configuration parity table's defaults and constraints (workers default (0, 3), idle_timeout=60, scaler_value=4, max_concurrency queue-only, min_cuda_version set 11.8–13.0, gpu/cpu mutual exclusion, model= unsupported on tasks) come from ResourceSpec normalization/validation in runpod/apps/spec.py.
Source: https://github.com/runpod/runpod-python/blob/feat/apps-sdk/runpod/apps/spec.py
|
|
||
| This opens your browser to approve the login. After you approve, your API key is saved to `~/.runpod/config.toml` for the `rp` CLI and the SDK. | ||
|
|
||
| <Tip> |
There was a problem hiding this comment.
The rp login browser-approval flow, the --api-key direct-store option, and credentials being saved to ~/.runpod/config.toml (with RUNPOD_API_KEY as the fallback) come from browser_login in runpod/apps/auth.py and the login command in runpod/rp_cli/main.py.
Source: https://github.com/runpod/runpod-python/blob/feat/apps-sdk/runpod/apps/auth.py
|
|
||
| - A [Runpod account](/get-started/manage-accounts) with a verified email address. | ||
| - A [Runpod API key](/get-started/api-keys) with **All** access permissions. | ||
| - [Python 3.10, 3.11, 3.12, 3.13, or 3.14](https://www.python.org/downloads/) installed. |
There was a problem hiding this comment.
The supported Python versions (3.10–3.14) in the Requirements section come from SUPPORTED_PYTHON_VERSIONS in runpod/apps/images.py, which is the range the per-python runtime images are built for.
Source: https://github.com/runpod/runpod-python/blob/feat/apps-sdk/runpod/apps/images.py
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
…rop migration guide superseded by #874
Updates the SkyPilot setup steps for the new
rpCLI from runpod/runpod-python#534.Why: runpod/runpod-python#534 replaces the old
runpodCLI withrp. That removesrunpod config, which the SkyPilot guide tells readers to run to save their API key. Once the release that includes #534 ships, the "Configure Runpod" step fails.What changed:
integrations/skypilot.mdxnow has readers save their key withrp login --api-key YOUR_API_KEY. That command writes the same[default]api_keyentry in~/.runpod/config.tomlthat SkyPilot's credential check reads.Scope change: This suggestion used to hold a migration guide (
flash/migrate-to-apps-sdk.mdx) and deprecation notices on the Flash overview and CLI overview. Those were drafted in July against the unmerged branch. The human-authored docs PR #874 (DOCS-504) now covers that work with the newsdk/section and banners on every Flash page, so those changes are removed here to avoid overlap. Only the SkyPilot fix, which #874 doesn't touch, remains.Timing: Publish this together with the
runpodrelease that shipsrp. The step still installsrunpod>=1.6, andrunpod1.12.0 on PyPI doesn't includerpyet. Consider raising the pin to the release version once it's known.Verification: Vale reports no errors for the changed file. The
logincommand andset_credentialsin runpod-python, and SkyPilot's_check_runpod_credentials, were checked against the new instructions.