Skip to main content
The apps SDK ships in the core runpod package and is the successor to runpod-flash. It becomes available when the next runpod release is published to PyPI. Until then, use this guide to plan your migration.
The apps SDK brings Flash into the core runpod package. You define GPU functions with a decorator and run them on Runpod through a single client, CLI, and set of worker runtimes, all shipped from the same runpod version. This guide maps your existing Flash code and commands to their apps SDK equivalents. Migration is mostly mechanical: install runpod, rename your decorators and CLI commands, then redeploy. Your Python control flow, function bodies, and hardware configuration carry over unchanged.

What changes at a glance

Flash and the apps SDK share the same control plane. Apps, environments, and builds are the same platform objects, so apps you deployed with Flash keep running, and the apps SDK client can see and manage them.

Requirements

Step 1: Install runpod and authenticate

Uninstall runpod-flash and install runpod. Installing the package also installs the rp CLI.
Authenticate with Runpod:
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.
To store a key without the browser flow, run rp login --api-key YOUR_KEY. You can also set the RUNPOD_API_KEY environment variable, which the SDK reads when no config file is present.

Step 2: Create an app and rename your decorators

In Flash, you decorate a function with @Endpoint and call it directly. In the apps SDK, you create a named App and decorate functions with @app.queue, @app.api, or @app.task. Before (Flash):
After (apps SDK):
The hardware and dependency configuration is identical. Three things change:
  • Functions belong to a named App. Create one with runpod.App("name") before defining functions.
  • You call the function through a method, not directly. Use .remote() to run it in the cloud (calling the handle directly raises a TypeError). See Step 3.
  • The apps SDK uses @runpod.local_entrypoint as the entry point for a dev session instead of asyncio.run(main()). Run the module with rp dev.

Choose the right decorator

Flash’s remote functions map to three apps SDK decorators, depending on the workload:

Step 3: Update how you call functions

In Flash you await the decorated function directly. In the apps SDK, each decorated function becomes a handle with explicit call methods:
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

The flash CLI becomes rp. Most commands keep the same name and behavior: The apps SDK adds rp logs <pod_id> --follow for streaming worker logs, and rp secret and rp registry command groups for managing platform secrets and container registry credentials.
The rp CLI is not the same as runpodctl. It manages apps, endpoints, and Pods for the apps SDK, while runpodctl remains a separate tool.

Configuration parameter parity

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):

Volumes, secrets, and models

The apps SDK provides typed helpers for storage, secrets, and cached models, imported from runpod:
  • Volume attaches a network volume, created on first use. Access its mount path inside the worker with volume.path.
  • Secret references an encrypted platform secret by name. Its value is decrypted when the worker boots and never travels through the SDK. Manage secrets with rp secret add/list/delete.
  • Model pre-caches Hugging Face weights so they are on disk before your function runs. Access the staged directory with model.path.

What is not carried over

A few Flash features are intentionally left out of the apps SDK:
  • The unified Endpoint class. Use @app.queue, @app.api, or @app.task instead.
  • The local HTTP dev server. rp dev provisions temporary live endpoints on the platform, watches your files, and re-runs your entry point on demand, so you develop against real infrastructure.
  • Queue class endpoints.
  • .env auto-loading. Environment configuration is explicit through the env= parameter and Secret. The rp init template excludes .env from the deploy artifact.

Your existing Flash apps keep running

Apps, environments, and builds are the same platform objects across Flash and the apps SDK. Apps you deployed with Flash keep running, and you can see and manage them with the apps SDK client:

Next steps

Flash overview

Review the Flash concepts that carry over to the apps SDK.

Configuration parameters

See the full configuration reference for endpoint functions.