Giter Site home page Giter Site logo

hommayushi3 / runpod-python Goto Github PK

View Code? Open in Web Editor NEW

This project forked from runpod/runpod-python

0.0 0.0 0.0 558 KB

๐Ÿ | Python library for RunPod API and serverless worker SDK.

Home Page: https://pypi.org/project/runpod/

License: MIT License

Python 100.00%

runpod-python's Introduction

RunPod | Python Library

PyPI Package ย  Downloads

CI | Code Quality ย  CI | Unit Tests ย  CI | CodeQL

Welcome to the official Python library for RunPod API & SDK.

Table of Contents

๐Ÿ’ป | Installation

# Install the latest release version
pip install runpod

# or

# Install the latest development version (main branch)
pip install git+https://github.com/runpod/runpod-python.git

Python 3.10 or higher is required to use the latest version of this package.

โšก | 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 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:

# 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 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.

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

๐Ÿ“š | API Language Library (GraphQL Wrapper)

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 Cloud (Pods)

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
โ”œโ”€โ”€ examples           # Examples
โ”œโ”€โ”€ runpod             # Package source code
โ”‚   โ”œโ”€โ”€ api_wrapper    # Language library - API (GraphQL)
โ”‚   โ”œโ”€โ”€ cli            # Command Line Interface Functions
โ”‚   โ”œโ”€โ”€ 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.

Discord Banner 2

runpod-python's People

Contributors

justinmerrell avatar jorghi12 avatar zhl146 avatar skullmag avatar dependabot[bot] avatar therealadityashankar avatar shibanovp avatar winglian avatar arsenyinfo avatar lukewood avatar hommayushi3 avatar jimgoo avatar slep0v avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.