This release is a pre-release and may not be stable for production use.
Runpod Python
Define GPU functions in Python. Run them in the cloud with one decorator.
Installation
pip install runpod # or: uv add runpod
rp login # authenticate once
Requires Python 3.10+. Installing the package also installs the rp CLI.
Example
import runpod
from runpod import App, Model, NetworkVolume, Secret
app = App("inference")
models = NetworkVolume("models", size=100)
llama = Model("meta-llama/Llama-3.1-8B-Instruct")
# an autoscaling job queue on cloud H100s: weights pre-cached,
# dependencies vendored at deploy time, scale-to-zero when idle
@app.queue(
gpu="H100",
workers=(0, 3),
dependencies=["vllm"],
mounts={"/runpod-volume": models},
model=llama,
env={"HF_TOKEN": Secret("hf-token")},
)
def chat(prompt: str):
import vllm
llm = vllm.LLM(model=str(llama.path)) # weights already on disk
return llm.generate(prompt)
# one ephemeral pod per call: provisions, runs to completion, terminates
@app.task(gpu="H100", gpu_count=2, mounts={"/models": models})
def finetune(steps: int = 1000):
...
return {"loss": final_loss}
@runpod.local_entrypoint
def main():
print(chat.remote("why is the sky blue?")) # blocks for the result
job = finetune.spawn(steps=500) # fire and forget -> Job
rp flash dev main.py # live dev session: edit, re-run, logs stream back
rp flash deploy # deploy production endpoints
Contributing
Pull requests and issues are welcome — see the contributing guide to get started.
git clone https://github.com/runpod/runpod-python.git
cd runpod-python
make setup
make test
⚡ | Serverless Worker (SDK)
This python package can also be used to create a serverless worker that can be deployed to Runpod as a custom endpoint API.
Quick Start
Create a python script in your project that contains your model definition and the Runpod worker start code. Run this python code as your default container start command:
# my_worker.py
import runpod
def is_even(job):
job_input = job["input"]
the_number = job_input["number"]
if not isinstance(the_number, int):
return {"error": "Silly human, you need to pass an integer."}
if the_number % 2 == 0:
return True
return False
runpod.serverless.start({"handler": is_even})
Make sure that this file is ran when your container starts. This can be accomplished by calling it in the docker command when you set up a template at console.runpod.io/serverless/user/templates or by setting it as the default command in your Dockerfile.
See our blog post for creating a basic Serverless API, or view the details docs for more information.
Local Test Worker
You can also test your worker locally before deploying it to Runpod. This is useful for debugging and testing.
python my_worker.py --rp_serve_api
📁 | Directory
.
├── docs # Documentation
├── examples # Examples
├── runpod # Package source code
│ ├── api # rest api v2 wrapper
│ ├── cli # Command Line Interface Functions
│ ├── endpoint # Language library - Endpoints
│ └── serverless # SDK - Serverless Worker
└── tests # Package tests
Metadata
Release files for runpod 2.0.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runpod-2.0.0rc1.tar.gz | 782.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runpod-2.0.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / runpod-2.0.0rc1.tar.gz
| Download URL | runpod-2.0.0rc1.tar.gz |
|---|---|
| Size | 782.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6391df53bba30457b683160079aca593a924d4ef461d81a4a95b741d04aaa6f2
|
|
BLAKE2b-256 checksum How to use checksums |
16431e4c09e61345f3a47bf032e8dea9772610ea1c647dde4aa34148f1e53c65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / runpod-2.0.0rc1-py3-none-any.whl
| Download URL | runpod-2.0.0rc1-py3-none-any.whl |
|---|---|
| Size | 448.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e925c886f3413a7532d1ceb8d8303d7ccc87b7bfcb3a79a412f38a9f64c14369
|
|
BLAKE2b-256 checksum How to use checksums |
a0cc184e5d8f4ef7f5b4eb661679b09974e6022898dce0cdba61442c92172bed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log