Commands

Vast.py

usage: vast.py [-h] [--url URL] [--raw] [--api-key API_KEY] command ...
positional arguments:
command command to run. one of:
help print this help message
copy Copy directories between instances and/or local
search offers Search for instance types using custom query
show instances Display user's current instances
ssh-url ssh url helper
scp-url scp url helper
show machines [Host] Show hosted machines
show invoices Get billing history reports
show user Get current user data
generate pdf-invoices
list machine [Host] list a machine for rent
unlist machine [Host] Unlist a listed machine
remove defjob [Host] Delete default jobs
reboot instance Reboot (stop/start) an instance
start instance Start a stopped instance
stop instance Stop a running instance
label instance Assign a string label to an instance
destroy instance Destroy an instance (irreversible, deletes data)
execute Execute a (constrained) remote command on a machine
logs Get the logs for an instance
set defjob [Host] Create default jobs for a machine
create instance Create a new instance
change bid Change the bid price for a spot/interruptible instance
set min-bid [Host] Set the minimum bid/rental price for a machine
set api-key Set api-key (get your api-key from the console/CLI)
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key
Use 'vast COMMAND --help' for more info about a command

change bid -- Change the bid price for a spot/interruptible instance

usage: ./vast change bid id [--price PRICE]
positional arguments:
id id of instance type to change bid
optional arguments:
-h, --help show this help message and exit
--price PRICE per machine bid price in $/hour
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key
Change the current bid price of instance id to PRICE.
If PRICE is not specified, then a winning bid price is used as the default.

copy -- Copy directories between instances and/or local

usage: ./vast copy src dst
positional arguments:
src instance_id:/path to source of object to copy.
dst instance_id:/path to target of copy operation.
optional arguments:
-h, --help show this help message and exit
-i IDENTITY, --identity IDENTITY
Location of ssh private key
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key
Copies a directory from a source location to a target location. Each of source and destination
directories can be either local or remote, subject to appropriate read and write
permissions required to carry out the action. The format for both src and dst is [instance_id:]path.
Examples:
vast copy 11824:/data/test 12371:/temp
vast copy 11824:/data/test data/test
vast copy data/test 11824:/data/test
The first example copy syncs the directory '/tmp' in instance 12371 from the directory '/data/test' in instance 11824.
The second example copy syncs the relative directory 'data/test' on the local machine from '/data/test' in instance 11824.
The third example copy syncs the directory '/data/test' in instance 11824 from the relative directory 'data/test' on the local machine.

create instance -- Create a new instance

usage: ./vast create instance id [OPTIONS] [--args ...]
positional arguments:
id id of instance type to launch
optional arguments:
-h, --help show this help message and exit
--price PRICE per machine bid price in $/hour
--disk DISK size of local disk partition in GB
--image IMAGE docker container image to launch
--login LOGIN docker login arguments for private repo
authentication, surround with ''
--label LABEL label to set on the instance
--onstart ONSTART filename to use as onstart script
--onstart-cmd ONSTART_CMD
contents of onstart script as single argument
--ssh Launch as an ssh instance type.
--jupyter Launch as a jupyter instance instead of an ssh
instance.
--direct Use (faster) direct connections for jupyter & ssh.
--jupyter-dir JUPYTER_DIR
For runtype 'jupyter', directory in instance to use to
launch jupyter. Defaults to image's working directory.
--jupyter-lab For runtype 'jupyter', Launch instance with jupyter
lab.
--lang-utf8 Workaround for images with locale problems: install
and generate locales before instance launch, and set
locale to C.UTF-8.
--python-utf8 Workaround for images with locale problems: set
python's locale to C.UTF-8.
--env ENV env variables and port mapping options, surround with
''
--args ... list of arguments passed to container ENTRYPOINT.
Onstart is recommended for this purpose.
--create-from CREATE_FROM
Existing instance id to use as basis for new instance.
Instance configuration should usually be identical, as
only the difference from the base image is copied.
--force Skip sanity checks when creating from an existing
instance
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key
Examples:
vast create instance 384827 --image bobsrepo/pytorch:latest --login '-u bob -p 9d8df!fd89ufZ docker.io' --jupyter --direct --env '-e TZ=PDT -e XNAME=XX4 -p 22:22 -p 8080:8080' --disk 20
vast create instance 344521 --image anthonytatowicz/eth-cuda-miner --disk 20 --args -U -S us-west1.nanopool.org:9999 -O 0x5C9314b28Fbf25D1d054a9184C0b6abF27E20d95 --farm-recheck 200

destroy instance -- Destroy an instance (irreversible, deletes data)

usage: ./vast destroy instance id [-h] [--api-key API_KEY] [--raw]
positional arguments:
id id of instance to delete
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

execute -- Execute a (constrained) remote command on a machine

usage: ./vast execute ID COMMAND
positional arguments:
ID id of instance to execute on
COMMAND command to execute
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

generate pdf-invoices --

usage: ./vast generate pdf_invoices [OPTIONS]
optional arguments:
-h, --help show this help message and exit
-q, --quiet only display numeric ids
-s START_DATE, --start_date START_DATE
start date and time for report. Many formats accepted
(optional)
-e END_DATE, --end_date END_DATE
end date and time for report. Many formats accepted
(optional)
-c, --only_charges Show only charge items.
-p, --only_credits Show only credit items.
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

help -- print this help message

usage: vast.py help [-h] [--url URL] [--raw] [--api-key API_KEY] [subcommand]
positional arguments:
subcommand
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

label instance -- Assign a string label to an instance

usage: ./vast label instance <id> <label>
positional arguments:
id id of instance to label
label label to set
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

list machine -- [Host] list a machine for rent

usage: ./vast list machine id [--price_gpu PRICE_GPU] [--price_inetu PRICE_INETU] [--price_inetd PRICE_INETD] [--api-key API_KEY]
positional arguments:
id id of machine to list
optional arguments:
-h, --help show this help message and exit
-g PRICE_GPU, --price_gpu PRICE_GPU
per gpu rental price in $/hour (price for active
instances)
-s PRICE_DISK, --price_disk PRICE_DISK
storage price in $/GB/month (price for inactive
instances), default: $0.15/GB/month
-u PRICE_INETU, --price_inetu PRICE_INETU
price for internet upload bandwidth in $/GB
-d PRICE_INETD, --price_inetd PRICE_INETD
price for internet download bandwidth in $/GB
-m MIN_CHUNK, --min_chunk MIN_CHUNK
minimum amount of gpus
-e END_DATE, --end_date END_DATE
unix timestamp of the available until date (optional)
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

logs -- Get the logs for an instance

usage: ./vast logs [OPTIONS] INSTANCE_ID
positional arguments:
INSTANCE_ID id of instance
optional arguments:
-h, --help show this help message and exit
--tail TAIL Number of lines to show from the end of the logs (default
'1000')
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

reboot instance -- Reboot (stop/start) an instance

usage: ./vast reboot instance <id> [--raw]
positional arguments:
id id of instance to reboot
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

remove defjob -- [Host] Delete default jobs

usage: vast.py remove defjob [-h] [--url URL] [--raw] [--api-key API_KEY] id
positional arguments:
id id of machine to remove default instance from
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

scp-url -- scp url helper

usage: ./vast scp-url
optional arguments:
-h, --help show this help message and exit
--id ID id of instance
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

search offers -- Search for instance types using custom query

usage: ./vast search offers [--help] [--api-key API_KEY] [--raw] <query>
positional arguments:
query Query to search for. default: 'external=false
rentable=true verified=true', pass -n to ignore
default
optional arguments:
-h, --help show this help message and exit
-t TYPE, --type TYPE Show 'bid'(interruptible) or 'on-demand' offers.
default: on-demand
-i, --interruptible Alias for --type=bid
-b, --bid Alias for --type=bid
-d, --on-demand Alias for --type=on-demand
-n, --no-default Disable default query
--disable-bundling Show identical offers. This request is more heavily
rate limited.
--storage STORAGE Amount of storage to use for pricing, in GiB.
default=5.0GiB
-o ORDER, --order ORDER
Comma-separated list of fields to sort on. postfix
field with - to sort desc. ex: -o
'num_gpus,total_flops-'. default='score-'
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key
Query syntax:
query = comparison comparison...
comparison = field op value
field = <name of a field>
op = one of: <, <=, ==, !=, >=, >, in, notin
value = <bool, int, float, etc> | 'any'
note: to pass '>' and '<' on the command line, make sure to use quotes
Examples:
./vast search offers 'compute_cap > 610 total_flops < 5'
./vast search offers 'reliability > 0.99 num_gpus>=4' -o 'num_gpus-'
./vast search offers 'rentable = any'
Available fields:
Name Type Description
bw_nvlink float bandwidth NVLink
compute_cap: int cuda compute capability*100 (ie: 650 for 6.5, 700 for 7.0)
cpu_cores: int # virtual cpus
cpu_cores_effective: float # virtual cpus you get
cpu_ram: float system RAM in gigabytes
cuda_vers: float cuda version
direct_port_count int open ports on host's router
disk_bw: float disk read bandwidth, in MB/s
disk_space: float disk storage space, in GB
dlperf: float DL-perf score (see FAQ for explanation)
dlperf_usd: float DL-perf/$
dph: float $/hour rental cost
driver_version string driver version in use on a host.
duration: float max rental duration in days
external: bool show external offers
flops_usd: float TFLOPs/$
gpu_mem_bw: float GPU memory bandwidth in GB/s
gpu_ram: float GPU RAM in GB
gpu_frac: float Ratio of GPUs in the offer to gpus in the system
has_avx: bool CPU supports AVX instruction set.
id: int instance unique ID
inet_down: float internet download speed in Mb/s
inet_down_cost: float internet download bandwidth cost in $/GB
inet_up: float internet upload speed in Mb/s
inet_up_cost: float internet upload bandwidth cost in $/GB
machine_id int machine id of instance
min_bid: float current minimum bid price in $/hr for interruptible
num_gpus: int # of GPUs
pci_gen: float PCIE generation
pcie_bw: float PCIE bandwidth (CPU to GPU)
reliability: float machine reliability score (see FAQ for explanation)
rentable: bool is the instance currently rentable
rented: bool is the instance currently rented
storage_cost: float storage cost in $/GB/month
total_flops: float total TFLOPs from all GPUs
verified: bool is the machine verified

set api-key -- Set api-key (get your api-key from the console/CLI)

usage: ./vast set api-key APIKEY
positional arguments:
new_api_key Api key to set as currently logged in user
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

set defjob -- [Host] Create default jobs for a machine

usage: ./vast set defjob id [--api-key API_KEY] [--price_gpu PRICE_GPU] [--price_inetu PRICE_INETU] [--price_inetd PRICE_INETD] [--image IMAGE] [--args ...]
positional arguments:
id id of machine to launch default instance on
optional arguments:
-h, --help show this help message and exit
--price_gpu PRICE_GPU
per gpu rental price in $/hour
--price_inetu PRICE_INETU
price for internet upload bandwidth in $/GB
--price_inetd PRICE_INETD
price for internet download bandwidth in $/GB
--image IMAGE docker container image to launch
--args ... list of arguments passed to container launch
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

set min-bid -- [Host] Set the minimum bid/rental price for a machine

usage: ./vast set min_bid id [--price PRICE]
positional arguments:
id id of machine to set min bid price for
optional arguments:
-h, --help show this help message and exit
--price PRICE per gpu min bid price in $/hour
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key
Change the current min bid price of machine id to PRICE.

show instances -- Display user's current instances

usage: ./vast show instances [--api-key API_KEY] [--raw]
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

show invoices -- Get billing history reports

usage: ./vast show invoices [OPTIONS]
optional arguments:
-h, --help show this help message and exit
-q, --quiet only display numeric ids
-s START_DATE, --start_date START_DATE
start date and time for report. Many formats accepted
(optional)
-e END_DATE, --end_date END_DATE
end date and time for report. Many formats accepted
(optional)
-c, --only_charges Show only charge items.
-p, --only_credits Show only credit items.
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

show machines -- [Host] Show hosted machines

usage: ./vast show machines [OPTIONS]
optional arguments:
-h, --help show this help message and exit
-q, --quiet only display numeric ids
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

show user -- Get current user data

usage: ./vast show user [OPTIONS]
optional arguments:
-h, --help show this help message and exit
-q, --quiet display information about user
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

ssh-url -- ssh url helper

usage: ./vast ssh-url
optional arguments:
-h, --help show this help message and exit
--id ID id of instance
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

start instance -- Start a stopped instance

usage: ./vast start instance <id> [--raw]
positional arguments:
id id of instance to start/restart
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

stop instance -- Stop a running instance

usage: ./vast stop instance [--raw] <id>
positional arguments:
id id of instance to stop
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key

unlist machine -- [Host] Unlist a listed machine

usage: ./vast unlist machine <id>
positional arguments:
id id of machine to unlist
optional arguments:
-h, --help show this help message and exit
--url URL server REST api url
--raw output machine-readable json
--api-key API_KEY api key. defaults to using the one stored in
~/.vast_api_key