Official Python library for RunPod API & SDK.
- Table of Contents
- Installation
- SDK - Serverless Worker
- API Language Library
- Directory
- Community and Contributing
pip install runpod
This python package can also be used to create a serverless worker that can be deployed to RunPod as a custom endpoint API.
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.
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"
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 )
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)
. βββ docs # Documentation βββ runpod # Package source code β βββ endpoint # Language library - Endpoints β βββ serverless # SDK - Serverless Worker βββ tests # Package tests
We welcome both pull requests and issues on GitHub. Bug fixes and new features are encouraged.