runpod/runpod-python
🐍 | Python library for Runpod API and serverless worker SDK.
Runpod | Pythonライブラリ
Runpodのクラウドプラットフォーム(GPU搭載の「pods」およびサーバーレスエンドポイント)と、自身のコードからやり取りするための、軽量でドキュメントが充実したPython SDKです。Runpod REST v2 APIをラップし、サーバーレスワーカー(カスタムモデル推論API)を構築するための小さなフレームワークを提供し、podのライフサイクル管理のためのヘルパーも含まれています。
機能概要
| エリア | 機能 |
|---|---|
| サーバーレスワーカーSDK | ジョブを処理するPython関数を記述し、runpod.serverless.start({"handler": my_func}) で起動します。SDKはヘルスチェック、オプションのGPU/ボリュームのウォームキャッシュを処理し、デバッグのためにローカルで実行することも可能です。 |
| REST v2ラッパー | runpod.Endpoint(id) は、デプロイされたエンドポイントを呼び出すための .run() (非同期) および .run_sync() (同期) メソッドを持つオブジェクトを提供します。 |
| Pod管理 | runpod.create_pod()、runpod.get_pods()、runpod.stop_pod()、runpod.resume_pod()、runpod.terminate_pod() などの関数により、GPUまたはCPU podをプログラムで起動、クエリ、制御できます。 |
| APIキーの取り扱い | runpod.api_key を介したグローバルキー、またはエンドポイントごとのキー設定が可能。優先順位はドキュメント化されており、スレッドセーフです。 |
| ユーティリティヘルパー | ネットワークマウントされたモデルキャッシュをウォームアップするための VolumeCache、ワーカー起動前にGPUやディスク容量などを検証するフィットネスチェックデコレーターなど。 |
クイックスタート(サーバーレスワーカー)
# my_worker.py
import runpod
def is_even(job):
n = job["input"]["number"]
if not isinstance(n, int):
return {"error": "need an integer"}
return n % 2 == 0
runpod.serverless.start({"handler": is_even})
このスクリプトをコンテナのエントリーポイント(Docker CMD またはRunpodテンプレート)として追加すると、関数がカスタムAPIエンドポイントとして公開されます。
クイックスタート(既存エンドポイントの呼び出し)
import runpod
runpod.api_key = "YOUR_KEY"
ep = runpod.Endpoint("ENDPOINT_ID")
result = ep.run_sync({"text": "hello"})
print(result) # → モデルの出力またはステータス辞書
Podライフサイクルの例
import runpod
runpod.api_key = "YOUR_KEY"
# GPU podの作成
pod = runpod.create_pod(name="demo", image="runpod/stack", gpu_type="NVIDIA GeForce RTX 4090")
print(pod["id"])
# 後で…
runpod.stop_pod(pod["id"]) # 一時停止
runpod.resume_pod(pod["id"]) # 再開
runpod.terminate_pod(pod["id"]) # 削除
インストール
# 安定版リリース
pip install runpod # または: uv add runpod
# 最新の開発版
pip install git+https://github.com/runpod/runpod-python.git
Python 3.10以上が必要です。
注目すべき設計ポイント
- フィットネスチェック – デコレーター (
@runpod.serverless.register_fitness_check) がワーカー起動時に一度実行されます。失敗するとプロセスが中止され、オーケストレーターが健全なインスタンスを再起動できるようになります。 - ネットワークボリュームのウォームキャッシュ –
VolumeCacheは、コールドスタート時にリモートボリューム(例:HuggingFaceモデルキャッシュ)をローカルストレージにコピーし、終了時に同期して戻すことで、数GBのダウンロードをエンドポイントごとに一度のコストに抑えます。 - スレッドセーフなエンドポイントオブジェクト – 各
Endpointは独自のAPIキーを保持するため、複数のスレッドからの同時リクエストが安全です。 - フル機能のPod作成 – GPUおよびCPU pod、カスタムDocker引数、ボリュームマウント、配置制約、スケーリングパラメータをサポートしています。
次のステップ
- ドキュメント – https://docs.runpod.io/serverless-ai/custom-apis およびリポジトリ内の
docs/フォルダを参照してください。 - 例 –
examples/ディレクトリで、すぐに使えるワーカーやpodスクリプトを確認してください。 - コミュニティ – Discord(READMEにリンクあり)に参加して、ヘルプ、機能リクエスト、お知らせを確認してください。
要約: runpod Pythonパッケージは、コードとRunpod GPUクラウドを繋ぐ公式のプロダクショングレードのブリッジであり、数行のPythonコードでpodの起動、モデルエンドポイントの呼び出し、カスタムサーバーレス推論APIのデプロイを可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト