Skip to content

vast-ai/vast-cli

Repository files navigation

Vast.ai Python SDK & CLI

PyPI version

The official Vast.ai Python package — provides both the CLI and SDK for managing Vast.ai GPU cloud resources, plus a serverless client for endpoint inference.

Install

pip install vastai

Note: pip install vastai-sdk also works and installs the same package. Both package names are supported for backward compatibility.

Quickstart

  1. Get your API key from https://cloud.vast.ai/manage-keys/

  2. Set your API key:

vastai set api-key YOUR_API_KEY
  1. Test a search:
vastai search offers --limit 3

You should see a short list of available GPU offers.

CLI Usage

The vastai command provides full access to the Vast.ai platform from your terminal:

vastai search offers 'gpu_name=RTX_4090 num_gpus>=4'
vastai create instance 12345 --image pytorch/pytorch --disk 32 --ssh --direct
vastai show instances
vastai stop instance 12345
vastai destroy instance 12345

Run vastai --help for a full list of commands. You can also use --help on any subcommand:

vastai search offers --help
vastai create instance --help

SDK Usage

from vastai import VastAI

vast = VastAI()  # uses VAST_API_KEY env var, or pass api_key="..."

vast.search_offers(query='gpu_name=RTX_4090 num_gpus>=4')
vast.show_instances()
vast.start_instance(id=12345)
vast.stop_instance(id=12345)

Use help(vast.search_offers) to view documentation for any method.

Migrating from vastai-sdk? The old import still works: from vastai_sdk import VastAI

Using the Serverless Client

  1. Create the client
from vastai import Serverless
serverless = Serverless() # or, Serverless("YOUR_API_KEY")
  1. Get an endpoint
endpoint = await serverless.get_endpoint("my-endpoint")
  1. Make a request
request_body = {
    "model": "Qwen/Qwen3-8B",
    "prompt" : "Who are you?",
    "max_tokens" : 100,
    "temperature" : 0.7
}
response = await serverless.request("/v1/completions", request_body)
  1. Read the response
text = response["response"]["choices"][0]["text"]
print(text)

Find more examples in the examples/ directory.

Tab Completion

Tab completion is supported in Bash and Zsh via argcomplete (installed automatically). To enable it:

activate-global-python-argcomplete

Or for a single session:

eval "$(register-python-argcomplete vastai)"

Contributing

This repository is open source. If you find a bug, please open an issue. PRs are welcome.

About

Vast.ai python and cli api client

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors