Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🐍 | Python library for RunPod API & SDK. (Fork for file upload enhancement)

License

Notifications You must be signed in to change notification settings

Kezzsim/runpod-python

Repository files navigation

RunPod | Python Library

CI | Code Quality CI | Unit Tests

Official Python library for RunPod API & SDK.

Table of Contents

Installation

pip install runpod

SDK - Serverless Worker

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

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 setup a template at runpod.io/console/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.

API Language Library

When interacting with the RunPod API you can use this library to make requests to the API.

import runpod
runpod.api_key = "your_runpod_api_key_found_under_settings"

Endpoints

You can interact with RunPod endpoints via a run or run_sync method.

endpoint = runpod.Endpoint("ENDPOINT_ID")
run_request = endpoint.run(
 {"your_model_input_key": "your_model_input_value"}
)
# Check the status of the endpoint run request
print(run_request.status())
# Get the output of the endpoint run request, blocking until the endpoint run is complete.
print(run_request.output())
endpoint = runpod.Endpoint("ENDPOINT_ID")
run_request = endpoint.run_sync(
 {"your_model_input_key": "your_model_input_value"}
)
# Returns the job results if completed within 90 seconds, otherwise, returns the job status.
print(run_request )

GPU Pod Control

import runpod
runpod.api_key = "your_runpod_api_key_found_under_settings"
# Create a pod
pod = runpod.create_pod("test", "runpod/stack", "NVIDIA GeForce RTX 3070")
# Stop the pod
runpod.stop_pod(pod.id)
# Start the pod
runpod.start_pod(pod.id)
# Terminate the pod
runpod.terminate_pod(pod.id)

Directory

.
β”œβ”€β”€ docs # Documentation
β”œβ”€β”€ runpod # Package source code
β”‚ β”œβ”€β”€ endpoint # Language library - Endpoints
β”‚ └── serverless # SDK - Serverless Worker
└── tests # Package tests

Community and Contributing

We welcome both pull requests and issues on GitHub. Bug fixes and new features are encouraged.

About

🐍 | Python library for RunPod API & SDK. (Fork for file upload enhancement)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /