Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
363 commits
Select commit Hold shift + click to select a range
1b01676
added depending on the size
karthik-vast-ai Apr 30, 2025
707fd36
changed wording
karthik-vast-ai Apr 30, 2025
56ef2d4
validating frequency values before
karthik-vast-ai Apr 30, 2025
13aeae1
fixed wording
karthik-vast-ai May 1, 2025
8785b6b
changed to use contract's end date, etc.
karthik-vast-ai May 2, 2025
c67e5fa
Merge pull request #182 from karthikp32/integrate-job-scheduling-func…
skiddar May 5, 2025
c17b8d9
Merge branch 'master' into take-snapshot-2
karthik-vast-ai May 5, 2025
35917b6
Merge pull request #201 from vast-ai/fix/pip-package-tracking
kristopolous May 6, 2025
9d70104
Merge pull request #203 from karthik-vast-ai/take-snapshot-2
skiddar May 6, 2025
4876494
auto create volume contract offer on machine list
liam-at-vast May 6, 2025
b6a66b2
added volume name arg
liam-at-vast May 8, 2025
f9bb069
Merge pull request #206 from vast-ai/HOST-1088-volume-autolist
liam-at-vast May 8, 2025
3c5afbb
Merge pull request #207 from vast-ai/HOST-1064-volume-names
liam-at-vast May 8, 2025
4de7239
Update README.md
skiddar May 10, 2025
7bf1312
Removed defunct vast_machine_tester.py
skiddar May 10, 2025
9500825
feat: unlist volumes (#208)
stackanthony May 14, 2025
ecdc3f8
adding --curl to search_templates
kristopolous May 15, 2025
17192ea
Merge pull request #209 from vast-ai/skiddar-patch-1
kristopolous May 15, 2025
403ec00
Create CODEOWNERS
skiddar May 16, 2025
a23dde2
change auto-update default to false
jsbcannell May 17, 2025
252fe5a
Merge pull request #212 from vast-ai/curlify-search_templates
kristopolous May 17, 2025
d3523fe
remove print on copying key
jsbcannell May 28, 2025
0b94998
adds VAST_URL as a possible override to the server_url_default
kristopolous May 30, 2025
1578578
Merge pull request #214 from kristopolous/Adding-VAST_URL-as-a-possib…
kristopolous May 30, 2025
cc1839f
feat(HOST-934): show clusters
stackanthony Jun 5, 2025
89ee695
feat: add cluster cli commands
stackanthony Jun 7, 2025
46aa72f
Bump setuptools from 78.1.0 to 78.1.1
dependabot[bot] Jun 9, 2025
46b1e39
Merge pull request #216 from vast-ai/dependabot/pip/setuptools-78.1.1
Nader-gator Jun 9, 2025
0d9e635
Bump requests from 2.32.3 to 2.32.4
dependabot[bot] Jun 9, 2025
bd3863c
Merge pull request #217 from vast-ai/dependabot/pip/requests-2.32.4
Nader-gator Jun 9, 2025
d33eeff
update requests for a patch
Nader-gator Jun 10, 2025
9b088cb
Merge pull request #218 from vast-ai/fix-dependencies
Nader-gator Jun 10, 2025
1c20574
chore (HOST-1271): support '-n NETWORK' in envs
spagovir Jun 10, 2025
54ded9e
Merge pull request #220 from vast-ai/chore/HOST-1271-network-flag-in-…
edgaratvast Jun 11, 2025
86349f9
feat: add cluster cli commands (#215)
stackanthony Jun 11, 2025
d327491
add functionality for adding or linking a volume to a created instance
Marcoh572 Jun 12, 2025
d778b0d
Merge pull request #221 from Marcoh572/master
Marcoh572 Jun 12, 2025
893882f
fix self test machine
Marcoh572 Jun 13, 2025
82b39e9
Merge branch 'vast-ai:master' into master
Marcoh572 Jun 13, 2025
eff83bf
Merge pull request #222 from Marcoh572/master
Marcoh572 Jun 13, 2025
910684d
fix allowed characters in -n to allow '-'
spagovir Jun 20, 2025
ee62420
adding more functions for nw vols
liam-at-vast Jun 24, 2025
875f92d
feat: support delete by overlay name (#226)
stackanthony Jun 25, 2025
994e65b
feat: unlist/list/add nw volumes (#224)
stackanthony Jun 25, 2025
b1b7408
cluster id search (#223)
stackanthony Jun 25, 2025
f83a216
Merge pull request #229 from vast-ai/create_nw_vol
liam-at-vast Jun 25, 2025
ae9dee6
fix: removing maintenance reason (#227)
stackanthony Jul 2, 2025
aa06c8f
HOST-1082 show nw vols (#231)
liam-at-vast Jul 7, 2025
b1fd154
resort, fix autogroup logs
jsbcannell Jul 12, 2025
c41e80d
Publish vast openapi yaml specs
sammy-vastai Jul 14, 2025
2514510
Merge pull request #234 from vast-ai/publish-openapi-specs
sammy-vastai Jul 16, 2025
555f25e
Merge pull request #228 from vast-ai/overlay-name-allowed-chars
jsbcannell Jul 18, 2025
7139379
Add tests, readme, util scripts for vast api docs (#236)
sammy-vastai Jul 18, 2025
a604a08
update autoscaler docs; update py script path
sammy-vastai Jul 18, 2025
c08ba5c
Update vast.py - added ssh keygen (#235)
Scott-Laytart Jul 18, 2025
2bcb035
Add response to create ssh key (#241)
Scott-Laytart Jul 28, 2025
4d417c8
Bump urllib3 from 2.2.3 to 2.5.0 (#240)
dependabot[bot] Jul 28, 2025
640df68
rm requirements.txrt (#242)
stackanthony Jul 28, 2025
393c972
portal_config validation and fixing how we set runtype for instance c…
Marcoh572 Jul 29, 2025
9f01eec
Merge pull request #243 from Marcoh572/master
Marcoh572 Jul 29, 2025
fef200a
Merge pull request #237 from vast-ai/update-autoscaler-docs
Colter-Downing Jul 31, 2025
46f7a0a
readme fix (#245)
Colter-Downing Jul 31, 2025
05806c0
updating autoscaler name to serverless
Colter-Downing Jul 19, 2025
036bf2c
Merge pull request #246 from vast-ai/cherry-pick-fix
Colter-Downing Jul 31, 2025
36a1cd7
Default auto-instance is now prod
Colter-Downing Jul 22, 2025
6ef451a
Update vast CLI to use proper autoscaling names [AUTO-303] (#244)
nakinnubis Jul 31, 2025
654f166
Merge branch 'master' into auto_instance-fix
Colter-Downing Jul 31, 2025
23a66e3
Merge pull request #247 from vast-ai/auto_instance-fix
Colter-Downing Jul 31, 2025
347fd07
HOST-1359 adding speeds to nw vol offers
stackanthony Aug 1, 2025
d34d598
removed relics of autogroup from vast.py (#249)
abiola-vastai Aug 1, 2025
755b42f
Auto-501 and function renaming
abiola-vastai Aug 2, 2025
72febe8
various nw vol updates (#233)
stackanthony Aug 2, 2025
1c110fe
fix: urllib3 dep
stackanthony Aug 5, 2025
33504cd
Merge pull request #250 from abiola-vastai/AUTO-501
Colter-Downing Aug 7, 2025
9abd8de
feat(HOST-1407): show network disks
agustin-vastai Aug 7, 2025
6a2d5ff
add tail
jsbcannell Aug 7, 2025
c340621
Merge branch 'master' of github.com:vast-ai/vast-cli
jsbcannell Aug 7, 2025
9bd1168
updating autogroup term to workergroup term
Colter-Downing Aug 8, 2025
59d4f62
adding combined yaml with serverless changes
Colter-Downing Aug 9, 2025
a302cb0
Merge pull request #256 from vast-ai/auto-to-worker-logs
Colter-Downing Aug 9, 2025
50b3438
HOST-1434 adding nw vol fields to search
liam-at-vast Aug 11, 2025
2be2458
Merge pull request #248 from vast-ai/HOST-1359-nw-disk-speed
liam-at-vast Aug 11, 2025
6aea018
HOST-1258 nw-vol docs added
liam-at-vast Aug 6, 2025
7e05e91
Merge pull request #252 from vast-ai/HOST-1258-nw-vol-api-docs
liam-at-vast Aug 11, 2025
74c4552
Add `host id` search field to vol_offer_fields (#254)
borisermakof Aug 11, 2025
5c2b4b1
Merge pull request #257 from vast-ai/HOST-1434-misc-nwvol-bugs
liam-at-vast Aug 12, 2025
60b9479
Merge pull request #253 from vast-ai/HOST-1407-show-network-disks
agustin-vastai Aug 13, 2025
30eb36a
correct formatting for veriffied=true
Colter-Downing Aug 15, 2025
bacd3ae
including combined yaml
Colter-Downing Aug 15, 2025
04ead7f
Merge pull request #261 from vast-ai/verified-true-bug
Colter-Downing Aug 15, 2025
a013e7f
Merge pull request #251 from vast-ai/fix/urllib3
skiddar Aug 16, 2025
a6a591c
Fix for update command broken due to missing search params. leading t…
abiola-vastai Aug 20, 2025
242276b
Added additional helpful message to let the user know endpoint id is …
abiola-vastai Aug 21, 2025
5ac59ba
update show instance api doc (#264)
sammy-vastai Aug 25, 2025
d06ec44
Update create instance API doc (#265)
sammy-vastai Aug 27, 2025
953edad
adding cold workers for workergroups
Colter-Downing Sep 1, 2025
16822cc
Merge pull request #266 from vast-ai/workergroup-cold-workers
Colter-Downing Sep 1, 2025
a73973b
HOST-1471 - Unified Resource Locator Copy (#271)
stackanthony Sep 22, 2025
257d9af
fix/add required name param
vastzuby Oct 1, 2025
db8c0a1
readd image to required fields
vastzuby Oct 2, 2025
cbd19ef
Merge pull request #272 from zubyjaved/fix-create-template
vastzuby Oct 2, 2025
67cfb71
regen combined yaml
vastzuby Oct 2, 2025
e1c147f
Merge pull request #274 from zubyjaved/regen-combined-yaml
vastzuby Oct 2, 2025
98b86c3
adding ability to delete in different autoscaler
Colter-Downing Oct 9, 2025
c5e2b1c
hiding auto_instance from --help
Colter-Downing Oct 10, 2025
2d507f1
Fix api docs team endpoints (#275)
vastzuby Oct 11, 2025
4804eba
HOST-1661 dont use sudo on copy
liam-at-vast Oct 15, 2025
f107051
Merge pull request #281 from vast-ai/HOST-1661-no-sudo-copy
liam-at-vast Oct 15, 2025
84df60e
Fix search offers (#282)
vastzuby Oct 16, 2025
e1cf8e7
update api docs with security updates and formatted descriptions (#280)
vastzuby Oct 17, 2025
29a1af2
refactor(search_offers): bundles endpoint, param cleanup, docs & resp…
vastzuby Oct 17, 2025
cc22d9a
fix: bad reqs for self test (#284)
stackanthony Oct 20, 2025
f507ac8
Updates help text for invoices (#278)
DrillableBit Oct 22, 2025
0840632
API docs: Update search offers example (#286)
vastzuby Oct 23, 2025
3e4b2bf
Merge pull request #276 from vast-ai/AUTO-add-auto-instance-for-delete
Colter-Downing Oct 27, 2025
61ed15c
API Doc update - Update instance endpts (#287)
vastzuby Oct 31, 2025
49ffc46
Fix broken cli commands (#288)
vastzuby Oct 31, 2025
d98de0b
HOST-1640 minor local fix
liam-at-vast Nov 3, 2025
8a02def
allow setting endpoint state; remove auto_instance from delete; allow…
spagovir Nov 6, 2025
24ab29c
Merge pull request #290 from vast-ai/HOST-1640-local-fix
liam-at-vast Nov 6, 2025
5dbef31
add defrag machines host cmd; fix host cmd sorting
jsbcannell Nov 12, 2025
d35450d
HOST-1558 docs update
liam-at-vast Nov 14, 2025
98e2680
QOL improvements: mutex groups for args and printing to a pager
Marcoh572 Nov 14, 2025
d9ae9ae
Merge pull request #293 from vast-ai/HOST-1558-vol-copy
liam-at-vast Nov 14, 2025
1de4d7f
visually separating global options for command help
Marcoh572 Nov 15, 2025
4d30307
new get invoices and charges command with colors!
Marcoh572 Nov 17, 2025
7f3ac22
Merge branch 'vast-ai:master' into master
Marcoh572 Nov 17, 2025
68894cd
adding rich to poetry deps
Marcoh572 Nov 18, 2025
c6cef67
Merge pull request #294 from Marcoh572/master
Marcoh572 Nov 18, 2025
09a304f
fix for deepcopy
Marcoh572 Nov 18, 2025
a0369f1
Merge pull request #295 from Marcoh572/master
Marcoh572 Nov 18, 2025
9b9a8d7
Merge pull request #292 from vast-ai/update-endpoint-updates-for-stat…
edgaratvast Nov 20, 2025
5ec348f
chore: only import rich for show invoices v1 (#296)
stackanthony Nov 20, 2025
71ea6ba
Fix: When search offers returns empty results with --raw, exit code i…
vastzuby Dec 5, 2025
b67be71
adding type filtering for invoices and charges and fixing minor impor…
Marcoh572 Dec 6, 2025
3f4e9fc
restore json output for search offers --raw, handle empty results (#300)
vastzuby Dec 8, 2025
bdcf2ef
Update env example create instance (#301)
vastzuby Dec 11, 2025
70393d8
Merge pull request #298 from Marcoh572/master
Marcoh572 Dec 13, 2025
79880a1
Fix show earnings timezone + response (#302)
vastzuby Dec 22, 2025
645acc7
ordering of flags now doesnt matter
Colter-Downing Dec 27, 2025
1b2c776
Merge pull request #304 from vast-ai/subparser-bug-fix
Colter-Downing Dec 30, 2025
277475b
fix: packages update
stackanthony Jan 13, 2026
4dc0cfb
Merge pull request #309 from vast-ai/fix/packages-update
skiddar Jan 13, 2026
7fe8d0b
Updated regions in search offers so it is consistent with full ist of…
robertfernandez-vast Jan 14, 2026
561c4eb
stop trying to read removed maintenance reason param
spagovir Jan 20, 2026
08fff4c
Merge pull request #311 from vast-ai/HOST-1512-fix-schedule-maint
edgaratvast Jan 22, 2026
9fceca7
forcing utc timestamp and fixing wrong invoice type map
Marcoh572 Jan 22, 2026
6210094
Merge pull request #312 from Marcoh572/master
Marcoh572 Jan 23, 2026
9982ef5
need quotes for ssh key (#313)
vastzuby Jan 23, 2026
93faee8
Add v1 invoices to api docs (#305)
vastzuby Jan 23, 2026
5eef2bf
doc update
nakinnubis Jan 23, 2026
3c49b8e
chore(CLN-2756): better search param docs
eliasthompson Jan 24, 2026
f28a1ce
QOL Improvements
Marcoh572 Jan 27, 2026
a168770
adding tfa session key management logic
Marcoh572 Jan 27, 2026
22e9089
feat(CLN-2725): Adding 9 new commands related to two factor auth
Marcoh572 Jan 27, 2026
fba007e
updating dependencies for qr code
Marcoh572 Jan 27, 2026
36714fa
fix: clone vol (#316)
stackanthony Jan 27, 2026
8f081e4
pr feedback and QOL improvement for display_table
Marcoh572 Jan 28, 2026
4ee0a20
Merge pull request #315 from Marcoh572/master
Marcoh572 Jan 28, 2026
00d2f92
Sync vast cli and docs (#317)
vastzuby Jan 29, 2026
c3ba7a5
rm deprecated timestamp (#318)
vastzuby Jan 30, 2026
4141fdb
enhance: update invoice API documentation with detailed usage and exa…
abiola-vastai Feb 3, 2026
2d2319e
Added max_queue_time and target_queue_time to create/update endpoint
LucasArmandVast Feb 4, 2026
3caa010
HOST-2570: add 95% RAM vs VRAM self-test tolerance
skiddar Feb 10, 2026
253baa1
Merge pull request #323 from vast-ai/HOST-2570-clean
skiddar Feb 10, 2026
aef8157
dont show the autoscaler type apikey, or auto_delete info
Colter-Downing Feb 11, 2026
4f7521c
Merge pull request #325 from vast-ai/AUTO-1179--cleanup-get-endpoints
Colter-Downing Feb 12, 2026
cb65d79
CLN-2792: remove disable-bundling references from CLI and API docs
jsbcannell Feb 17, 2026
f0557c4
CLN-2825: fix CLI crash on Python 3.9 due to PEP 604 type hints
jsbcannell Feb 18, 2026
d86649b
fix bad in/notin filter in search offers (#321)
vastzuby Feb 18, 2026
2bccd80
Merge pull request #331 from vast-ai/CLN-2792-remove-disable-bundling
jsbcannell Feb 19, 2026
dc0470d
Merge pull request #332 from vast-ai/CLN-2825-fix-python39-crash
jsbcannell Feb 19, 2026
45a67f3
Merge pull request #320 from vast-ai/add-endpoint-queue-params
jsbcannell Feb 19, 2026
ec3a31c
fix/volume-clone-help-message (#200)
stackanthony Feb 20, 2026
5446303
simplify docs readme (#270)
sammy-vastai Feb 20, 2026
e7dbfda
remove unused version checker (#213)
stackanthony Feb 20, 2026
0af8199
Fix wrong raw output during attach_ssh key call (#255)
borisermakof Feb 20, 2026
5bebc71
Added inactivity timeout to endpoint
LucasArmandVast Feb 21, 2026
a388abb
adding commands for tfa email and authorizing new tfa methods
Marcoh572 Feb 23, 2026
fe1b56c
Update python dateutil (#303)
LucasArmandVast Feb 24, 2026
b8b693e
Merge pull request #337 from Marcoh572/master
Marcoh572 Feb 25, 2026
06a4655
Add diagnostic suggestions when machine is not found or not rentable
looplater Mar 4, 2026
3cd544f
Merge pull request #339 from vast-ai/no-rentable-suggestions
looplater Mar 4, 2026
7e2ddd2
Improve self-test diagnostics on port timeout and mapping failures
looplater Mar 4, 2026
8261b30
Merge pull request #340 from vast-ai/better-self-test-diagnostics
looplater Mar 4, 2026
8e48d51
update deps
stackanthony Mar 11, 2026
9350b49
fix dep issue
stackanthony Mar 11, 2026
064da98
Merge pull request #342 from vast-ai/fix/dep-issues
skiddar Mar 11, 2026
4baf29b
added new show instances-v1 command to get instances with pagination
Marcoh572 Mar 18, 2026
404ebbd
better handling of get instances v1 for if the user doesn't have the …
Marcoh572 Mar 18, 2026
e1d1a7e
Merge pull request #344 from Marcoh572/master
Marcoh572 Mar 19, 2026
9f04c5f
docs: add upcoming breaking change notice to show instances endpoint …
guthrie-vast Mar 25, 2026
a7aa16c
add missing transfer credit arg to create team (#346)
vastzuby Mar 25, 2026
221123b
can hit update_worker on the autoscaler
Colter-Downing Mar 26, 2026
fb216eb
handle non-200 status
Colter-Downing Mar 26, 2026
5a2b575
Merge pull request #347 from vast-ai/AUTO-1327--update-worker-cli
Colter-Downing Mar 26, 2026
8f1306f
Merge pull request #335 from vast-ai/AUTO-1186-add-inactivity-timeout
LucasArmandVast Apr 1, 2026
f6a28b9
Add deployments commands
LucasArmandVast Apr 1, 2026
ad2cf07
update help text
LucasArmandVast Apr 1, 2026
aed1932
update help text
LucasArmandVast Apr 1, 2026
8019b18
Merge branch 'master' into AUTO-1278-add-deployments-cli
LucasArmandVast Apr 2, 2026
74b562a
Merge pull request #348 from vast-ai/AUTO-1278-add-deployments-cli
LucasArmandVast Apr 2, 2026
4d0cc7a
Consolidate SDK and CLI into unified vastai package (#345)
vastzuby Apr 9, 2026
b7a9bac
make serverless code need serverless reviewers, add deprecation notic…
vastzuby Apr 10, 2026
c965806
make user confirm instance deletion (#354)
vastzuby Apr 10, 2026
e2f461e
docs(vast-cli): add SKILL.md for CLI + SDK agent integration (CLN-2822)
Azaeres Apr 10, 2026
b1aa747
Merge pull request #350 from vast-ai/docs/add-agents-md
guthrie-vast Apr 10, 2026
7f060f1
feat(AUTO-1368): execution time metrics cli (#357)
madisonvast Apr 14, 2026
912506b
Revert "feat(AUTO-1368): execution time metrics cli (#357)" (#358)
madisonvast Apr 14, 2026
f970434
fix create instance raw output (#360)
vastzuby Apr 14, 2026
1eb282a
add show charges, update show invoices (#355)
vastzuby Apr 14, 2026
90aa11a
Fix CLI breaking on windows (#361)
vastzuby Apr 14, 2026
36ea9ef
Reapply "feat(AUTO-1368): execution time metrics cli (#357)" (#358) (…
madisonvast Apr 14, 2026
90353ef
feat(CLN-3107): implement accept price increase command and API integ…
abiola-vastai Apr 21, 2026
f7a510b
add metrics cli commands (#371)
vastzuby Apr 21, 2026
8d08348
adds timeouts, error handling, retry logic, random bugfixes, doc upda…
vastzuby Apr 22, 2026
f5ac974
docs: credit @begna112 for CLI bug fixes (#372)
vastzuby Apr 22, 2026
789adf5
Rm benchmark cmd and pip package auto udpater (#373)
vastzuby Apr 22, 2026
48423e4
fixed cli so that expired tfa session keys are handled when they retu…
Marcoh572 Apr 24, 2026
3846cd3
Merge pull request #377 from Marcoh572/master
Marcoh572 Apr 24, 2026
fcb5e94
docs: add agent entry points — CLAUDE.md, README, --help, OpenAPI Key…
guthrie-vast Apr 27, 2026
38677f0
docs: remove wget install method from SKILL.md
guthrie-vast Apr 28, 2026
1850bbb
Merge pull request #380 from vast-ai/security/remove-wget-install
guthrie-vast Apr 28, 2026
1e5a5ef
fix: owner: me query arg in show_user (#384)
stackanthony Apr 29, 2026
1396992
fix: show user issue in CLI (#385)
stackanthony Apr 29, 2026
9187a90
Fix search offers any filter (#386)
vastzuby Apr 29, 2026
a501c00
add serverless benchmarking command (#381)
vastzuby May 4, 2026
e8a2d1b
fix: crypto pillow versions (#388)
stackanthony May 5, 2026
60fba7a
Fix request timing for sessions
LucasArmandVast May 6, 2026
e2aeac9
Merge pull request #390 from vast-ai/AUTO-fix-timing-for-sessions
LucasArmandVast May 6, 2026
037084b
move api docs to docs repo (#393)
vastzuby May 7, 2026
3e1cfe9
Update launch instance SDK/API
LucasArmandVast May 7, 2026
3cce4ac
Merge pull request #395 from vast-ai/update-launch-instance
LucasArmandVast May 7, 2026
7d98e1c
updated
LucasArmandVast May 7, 2026
fa6e7d8
Merge pull request #396 from vast-ai/update-old-vast-py-launch-instance
LucasArmandVast May 7, 2026
52b515c
Fix search offers rented param (#394)
vastzuby May 7, 2026
13dbf39
tell user which api key used on 401 error, group --help commands (#400)
vastzuby May 14, 2026
723ae79
self-test: route to cu118/cu128/cu130 images with compute_cap aware f…
robballantyne May 15, 2026
cc249de
run CLI tests on all 3 OSes via matrix, drop OS smoketest (#374)
vastzuby May 15, 2026
243a11b
ram check included for inet
looplater May 16, 2026
73d1105
Merge pull request #402 from vast-ai/vram-aware-bandwidth-threshold
skiddar May 18, 2026
1a051a7
docs: add Interruptible (spot) rentals section to SKILL.md
guthrie-vast May 19, 2026
9da8b59
add start/stop deployment commands (#404)
vastzuby May 26, 2026
c8f1730
Merge pull request #403 from vast-ai/docs/skill-interruptible-spot-se…
guthrie-vast May 27, 2026
aa917e0
Handle missing instances during self-test cleanup (#405)
jjziets May 28, 2026
fb5017d
feat(CLN-3107): New product direction price increase accept with Obse…
abiola-vastai May 29, 2026
3fed817
Warn when self-test ignores requirements
May 27, 2026
1a40ea8
Mirror ignore-requirements warning in legacy CLI
May 28, 2026
847cd25
CON-1511 scan configured host port range
Jul 16, 2026
18c4f2c
CON-1511 use host direct-port capacity
Jul 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# All files, default reviewers:

# Serverless and related code requires review from the serverless team:
/vastai/serverless/ @vast-ai/serverless
/vastai/api/deployments.py @vast-ai/serverless
/vastai/api/endpoints.py @vast-ai/serverless
/vastai/data/deployment.py @vast-ai/serverless
/vastai/data/endpoint.py @vast-ai/serverless
/vastai/data/workergroup.py @vast-ai/serverless
/vastai/cli/commands/endpoints.py @vast-ai/serverless
/vastai/cli/commands/deployments.py @vast-ai/serverless
/tests/serverless/ @vast-ai/serverless
60 changes: 60 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: PyPI Publish
on:
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
jobs:
build_and_publish_vastai:
name: Publish vastai
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # important for git history with dynamic versioning
- name: install python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: install poetry and plugins
run: |
curl -sSL https://install.python-poetry.org | python3 -
poetry self add "poetry-dynamic-versioning[plugin]"
- name: install dependencies
run: poetry install --no-interaction --no-root
- name: build and publish vastai to PyPI
env:
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
run: |
poetry config pypi-token.pypi "$PYPI_API_TOKEN"
poetry publish --build

build_and_publish_vastai_sdk:
name: Publish vastai-sdk
needs: build_and_publish_vastai
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: install python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: install poetry and plugins
run: |
curl -sSL https://install.python-poetry.org | python3 -
poetry self add "poetry-dynamic-versioning[plugin]"
- name: pin vastai dependency to this release version
working-directory: sdk-wrapper
run: |
VERSION="${GITHUB_REF_NAME#v}"
sed -i "s/vastai = \">=0.1.0\"/vastai = \"==${VERSION}\"/" pyproject.toml
- name: build and publish vastai-sdk to PyPI
env:
PYPI_API_TOKEN_SDK: ${{ secrets.PYPI_API_TOKEN_SDK }}
working-directory: sdk-wrapper
run: |
poetry config pypi-token.pypi "$PYPI_API_TOKEN_SDK"
poetry publish --build
168 changes: 168 additions & 0 deletions .github/workflows/vast-sdk-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# .github/workflows/vast-sdk-testing.yml
name: Vast SDK Testing

on:
pull_request:
# Optional, but explicitly define the types of pull requests that should trigger the workflow.
types: [opened, synchronize, reopened, ready_for_review]
# Optional: limit what changes trigger it
# paths:
# - "**/*.py"
# - "pyproject.toml"
# paths-ignore:
# - "docs/**"

# Auto-cancel older runs for the same PR. This is important to prevent the same PR from being tested multiple times.
concurrency:
group: vast-sdk-testing-${{ github.event.pull_request.number }}
cancel-in-progress: true


jobs:
# --------------------------------------------------------------------------
# Detect Changes
# --------------------------------------------------------------------------
detect-changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
serverless: ${{ steps.filter.outputs.serverless }}
sdk: ${{ steps.filter.outputs.sdk }}
steps:
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
serverless:
- 'vastai/serverless/**'
- 'tests/serverless/**'
sdk:
- 'vastai/**'
- 'tests/cli/**'
- 'tests/api/**'
- 'tests/sdk/**'

# --------------------------------------------------------------------------
# Unit & Integration Tests
# --------------------------------------------------------------------------
unit-and-integration:
needs: detect-changes
if: needs.detect-changes.outputs.sdk == 'true'
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install Poetry and plugins
# snok/install-poetry works on Windows/macOS/Linux; the curl-pipe-python3
# bootstrap does not (no python3 alias on Windows runners).
uses: snok/install-poetry@v1
with:
version: "1.8.3"
virtualenvs-create: true
virtualenvs-in-project: false

# snok/install-poetry adds Poetry to PATH, but PowerShell on Windows
# runners does not pick up the update, so subsequent pwsh steps fail
# with "poetry: not recognized". Force bash (works on all 3 OSes).
- name: Install poetry-dynamic-versioning plugin
shell: bash
run: poetry self add "poetry-dynamic-versioning[plugin]"

- name: Install test dependencies
shell: bash
working-directory: tests
run: poetry install --no-interaction

- name: Run CLI, API, and SDK tests
shell: bash
working-directory: tests
run: poetry run pytest -vvv -s --tb=short cli api sdk

# --------------------------------------------------------------------------
# Branch protection requires a check literally named `unit-and-integration`,
# but the matrix above produces `unit-and-integration (ubuntu-latest)` etc.,
# not the bare name. This aggregator reports the bare name to satisfy the
# rule. Treats `skipped` as passing so the rule is also satisfied when
# detect-changes filters this job out.
# --------------------------------------------------------------------------
unit-and-integration-check:
name: unit-and-integration
needs: unit-and-integration
if: always()
runs-on: ubuntu-latest
steps:
- name: Aggregate matrix result
run: |
result="${{ needs.unit-and-integration.result }}"
if [ "$result" != "success" ] && [ "$result" != "skipped" ]; then
echo "Matrix job did not succeed (result=$result)"
exit 1
fi

# --------------------------------------------------------------------------
# Install Smoke (package installs + CLI entrypoint runs)
# --------------------------------------------------------------------------
# Catches packaging bugs (wheel missing files, entry-point misregistered,
# broken pyproject config) that unit tests don't, because the unit tests
# import the source tree directly rather than the installed package.
install-smoke:
needs: detect-changes
if: needs.detect-changes.outputs.sdk == 'true'
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install package
env:
POETRY_DYNAMIC_VERSIONING_BYPASS: "0.0.0"
run: pip install .
- name: Invoke CLI entrypoint
run: vastai --help

# --------------------------------------------------------------------------
# Serverless Tests
# --------------------------------------------------------------------------
serverless-testing:
needs: detect-changes
if: needs.detect-changes.outputs.serverless == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install Poetry and plugins
run: |
curl -sSL https://install.python-poetry.org | python3 -
poetry self add "poetry-dynamic-versioning[plugin]"

- name: Install test dependencies
run: poetry install -C tests --no-interaction

- name: Run serverless tests
run: poetry run -C tests pytest -vvv -s --tb=short --log-cli-level=INFO serverless
20 changes: 20 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,23 @@ gpu_names_cache.json
passed_machines.txt
failed_machines.txt
Pass_testresults.log
dist/
__pycache__/
build/
*.egg-info/
env/
*egg*
.venv
poetry.lock
# Keep tests lock file for reproducible CI
!tests/poetry.lock
local
.env
venv/

# coverage.py (SQLite DB; machine-specific paths; regenerated by pytest --cov)
.coverage
.coverage.*

# Claude Code
.claude
8 changes: 8 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# vast-ai/vast-cli

CLI and SDK for the Vast.ai GPU cloud marketplace.

## AI Agents

- **Using the CLI in an agent task?** Read [`vastai/SKILL.md`](vastai/SKILL.md) — install, auth, commands, common errors, and API quirks.
- **Writing Python code with the SDK?** Read [`vastai_sdk/SKILL.md`](vastai_sdk/SKILL.md) — VastAI class, SyncClient, AsyncClient, Serverless.
Loading
Loading