Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vast.ai/llms.txt

Use this file to discover all available pages before exploring further.

Import

from vastai import Serverless

Constructor

Serverless(
    api_key: Optional[str] = os.environ.get('VAST_API_KEY', None),
    *,
    debug: bool = False,
    instance: str = 'prod',
    connection_limit: int = 500,
    default_request_timeout: float = 600.0,
    max_poll_interval: float = 5.0
)
api_key
Optional[str]
default:"os.environ.get('VAST_API_KEY', None)"
api_key
debug
bool
default:"False"
debug
instance
str
default:"'prod'"
instance
connection_limit
int
default:"500"
connection_limit
default_request_timeout
float
default:"600.0"
default_request_timeout
max_poll_interval
float
default:"5.0"
max_poll_interval

Methods

is_open

is_open()

close

async close()

get_ssl_context

async get_ssl_context() -> ssl.SSLContext
Download Vast.ai root cert and build SSL context (cached).

get_endpoint

async get_endpoint(name = '') -> Endpoint
name
Any
default:"''"
name

get_endpoints

async get_endpoints() -> list[Endpoint]

get_endpoint_workers

async get_endpoint_workers(endpoint: Endpoint) -> List[Worker]
endpoint
Endpoint
required
endpoint

get_endpoint_session

async get_endpoint_session(
    endpoint,
    session_id: int,
    session_auth: str,
    timeout: float = 10.0
)
endpoint
Any
required
endpoint
session_id
int
required
session_id
session_auth
str
required
session_auth
timeout
float
default:"10.0"
timeout

end_endpoint_session

async end_endpoint_session(session: Session, timeout: float = 10.0)
session
Session
required
session
timeout
float
default:"10.0"
timeout

start_endpoint_session

async start_endpoint_session(
    endpoint: Endpoint,
    cost: int = 100,
    lifetime: float = 60,
    on_close_route: str = None,
    on_close_payload: dict = None,
    timeout: float = None
) -> Session
endpoint
Endpoint
required
endpoint
cost
int
default:"100"
cost
lifetime
float
default:"60"
lifetime
on_close_route
str
on_close_route
on_close_payload
dict
on_close_payload
timeout
float
timeout

queue_endpoint_request

queue_endpoint_request(
    endpoint: Endpoint,
    worker_route: str,
    worker_payload: dict,
    session: Session = None,
    serverless_request: Optional[ServerlessRequest] = None,
    cost: int = 100,
    timeout: Optional[float] = None,
    worker_timeout: Optional[float] = 600,
    retry: bool = True,
    max_retries: int = None,
    stream: bool = False
) -> ServerlessRequest
Return a Future that will resolve once the request completes.
endpoint
Endpoint
required
endpoint
worker_route
str
required
worker_route
worker_payload
dict
required
worker_payload
session
Session
session
serverless_request
Optional[ServerlessRequest]
serverless_request
cost
int
default:"100"
cost
timeout
Optional[float]
timeout
worker_timeout
Optional[float]
default:"600"
worker_timeout
retry
bool
default:"True"
retry
max_retries
int
max_retries
stream
bool
default:"False"
stream