Skip to content

docs: Use rp login in SkyPilot setup instead of removed runpod config - #704

Open
promptless[bot] wants to merge 3 commits into
mainfrom
promptless/apps-sdk-flash-migration
Open

promptless[bot] wants to merge 3 commits into
mainfrom
promptless/apps-sdk-flash-migration

Conversation

@promptless

@promptless promptless Bot commented Jul 11, 2026 •

Copy link
Copy Markdown
Contributor

Updates the SkyPilot setup steps for the new rp CLI from runpod/runpod-python#534.

Why: runpod/runpod-python#534 replaces the old runpod CLI with rp. That removes runpod 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.mdx now has readers save their key with rp login --api-key YOUR_API_KEY. That command writes the same [default] api_key entry in ~/.runpod/config.toml that 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 new sdk/ 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 runpod release that ships rp. The step still installs runpod>=1.6, and runpod 1.12.0 on PyPI doesn't include rp yet. Consider raising the pin to the release version once it's known.

Verification: Vale reports no errors for the changed file. The login command and set_credentials in runpod-python, and SkyPilot's _check_runpod_credentials, were checked against the new instructions.

- 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).
Comment thread flash/migrate-to-apps-sdk.mdx Outdated
| --- | --- | --- |
| 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(...)` |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread flash/migrate-to-apps-sdk.mdx Outdated
return {"mean": float(np.mean(np.random.rand(size, size)))}

@runpod.local_entrypoint
def main():

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread flash/migrate-to-apps-sdk.mdx Outdated
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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread flash/migrate-to-apps-sdk.mdx Outdated

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 |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread flash/migrate-to-apps-sdk.mdx Outdated

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>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread flash/migrate-to-apps-sdk.mdx Outdated

- 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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@mintlify

mintlify Bot commented Jul 11, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
runpod-docs 🟢 Ready View Preview Oct 5, 2026, 9:56 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

@promptless
promptless Bot marked this pull request as ready for review October 5, 2026 21:32
Comment thread integrations/skypilot.mdx Resolved
Comment thread integrations/skypilot.mdx Resolved
@promptless promptless Bot changed the title docs: Add Flash to apps SDK migration guide and deprecation notices docs: Use rp login in SkyPilot setup instead of removed runpod config Oct 5, 2026

This branch was successfully deployed

1 active deployment
staging — 7d3e9024 Deployed Oct 5, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants