together 2.0.0a14__py3-none-any.whl → 2.0.0a16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- together/_base_client.py +134 -11
- together/_client.py +7 -0
- together/_models.py +16 -1
- together/_types.py +9 -0
- together/_version.py +1 -1
- together/constants.py +34 -0
- together/error.py +15 -0
- together/lib/_google_colab.py +39 -0
- together/lib/cli/__init__.py +73 -0
- together/lib/cli/api/{utils.py → _utils.py} +4 -4
- together/lib/cli/api/beta/clusters/__init__.py +47 -0
- together/lib/cli/api/beta/{clusters.py → clusters/create.py} +5 -179
- together/lib/cli/api/beta/clusters/delete.py +35 -0
- together/lib/cli/api/beta/clusters/get_credentials.py +151 -0
- together/lib/cli/api/beta/clusters/list.py +24 -0
- together/lib/cli/api/beta/clusters/list_regions.py +37 -0
- together/lib/cli/api/beta/clusters/retrieve.py +31 -0
- together/lib/cli/api/beta/clusters/storage/__init__.py +19 -0
- together/lib/cli/api/beta/clusters/storage/create.py +49 -0
- together/lib/cli/api/beta/clusters/storage/delete.py +38 -0
- together/lib/cli/api/beta/clusters/storage/list.py +42 -0
- together/lib/cli/api/beta/clusters/storage/retrieve.py +34 -0
- together/lib/cli/api/beta/clusters/update.py +54 -0
- together/lib/cli/api/endpoints/__init__.py +56 -0
- together/lib/cli/api/endpoints/availability_zones.py +26 -0
- together/lib/cli/api/endpoints/create.py +159 -0
- together/lib/cli/api/endpoints/delete.py +15 -0
- together/lib/cli/api/endpoints/hardware.py +40 -0
- together/lib/cli/api/endpoints/list.py +66 -0
- together/lib/cli/api/endpoints/retrieve.py +23 -0
- together/lib/cli/api/endpoints/start.py +25 -0
- together/lib/cli/api/endpoints/stop.py +25 -0
- together/lib/cli/api/endpoints/update.py +77 -0
- together/lib/cli/api/evals/__init__.py +19 -0
- together/lib/cli/api/{evals.py → evals/create.py} +6 -129
- together/lib/cli/api/evals/list.py +58 -0
- together/lib/cli/api/evals/retrieve.py +21 -0
- together/lib/cli/api/evals/status.py +20 -0
- together/lib/cli/api/files/__init__.py +23 -0
- together/lib/cli/api/files/check.py +21 -0
- together/lib/cli/api/files/delete.py +20 -0
- together/lib/cli/api/files/list.py +34 -0
- together/lib/cli/api/files/retrieve.py +20 -0
- together/lib/cli/api/files/retrieve_content.py +25 -0
- together/lib/cli/api/files/upload.py +38 -0
- together/lib/cli/api/fine_tuning/__init__.py +27 -0
- together/lib/cli/api/fine_tuning/cancel.py +28 -0
- together/lib/cli/api/{fine_tuning.py → fine_tuning/create.py} +5 -257
- together/lib/cli/api/fine_tuning/delete.py +29 -0
- together/lib/cli/api/fine_tuning/download.py +94 -0
- together/lib/cli/api/fine_tuning/list.py +44 -0
- together/lib/cli/api/fine_tuning/list_checkpoints.py +42 -0
- together/lib/cli/api/fine_tuning/list_events.py +35 -0
- together/lib/cli/api/fine_tuning/retrieve.py +27 -0
- together/lib/cli/api/models/__init__.py +15 -0
- together/lib/cli/api/models/list.py +51 -0
- together/lib/cli/api/{models.py → models/upload.py} +4 -51
- together/lib/types/fine_tuning.py +3 -0
- together/resources/beta/clusters/clusters.py +36 -28
- together/resources/beta/clusters/storage.py +30 -21
- together/types/__init__.py +13 -1
- together/types/beta/__init__.py +0 -2
- together/types/beta/cluster_create_params.py +3 -3
- together/types/beta/clusters/__init__.py +0 -1
- together/types/beta/clusters/cluster_storage.py +4 -0
- together/types/chat_completions.py +7 -0
- together/types/endpoints.py +4 -0
- together/types/files.py +8 -0
- together/types/fine_tuning_cancel_response.py +3 -0
- together/types/fine_tuning_list_response.py +3 -0
- together/types/finetune.py +27 -0
- together/types/finetune_response.py +2 -0
- together/types/models.py +2 -0
- {together-2.0.0a14.dist-info → together-2.0.0a16.dist-info}/METADATA +45 -2
- {together-2.0.0a14.dist-info → together-2.0.0a16.dist-info}/RECORD +79 -36
- together-2.0.0a16.dist-info/entry_points.txt +2 -0
- together/lib/cli/api/__init__.py +0 -0
- together/lib/cli/api/beta/clusters_storage.py +0 -152
- together/lib/cli/api/endpoints.py +0 -467
- together/lib/cli/api/files.py +0 -133
- together/lib/cli/cli.py +0 -73
- together/types/beta/cluster_create_response.py +0 -9
- together/types/beta/cluster_update_response.py +0 -9
- together/types/beta/clusters/storage_create_response.py +0 -9
- together-2.0.0a14.dist-info/entry_points.txt +0 -2
- /together/lib/cli/api/beta/{beta.py → __init__.py} +0 -0
- {together-2.0.0a14.dist-info → together-2.0.0a16.dist-info}/WHEEL +0 -0
- {together-2.0.0a14.dist-info → together-2.0.0a16.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: together
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0a16
|
|
4
4
|
Summary: The official Python library for the together API
|
|
5
5
|
Project-URL: Homepage, https://github.com/togethercomputer/together-py
|
|
6
6
|
Project-URL: Repository, https://github.com/togethercomputer/together-py
|
|
@@ -33,12 +33,15 @@ Requires-Dist: rich>=13.7.1
|
|
|
33
33
|
Requires-Dist: sniffio
|
|
34
34
|
Requires-Dist: tabulate>=0.9.0
|
|
35
35
|
Requires-Dist: tqdm>=4.67.1
|
|
36
|
+
Requires-Dist: types-pyyaml>=6.0.12.20250915
|
|
36
37
|
Requires-Dist: types-tabulate>=0.9.0.20240106
|
|
37
38
|
Requires-Dist: types-tqdm>=4.67.0.20250516
|
|
38
39
|
Requires-Dist: typing-extensions<5,>=4.10
|
|
39
40
|
Provides-Extra: aiohttp
|
|
40
41
|
Requires-Dist: aiohttp; extra == 'aiohttp'
|
|
41
42
|
Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
|
|
43
|
+
Provides-Extra: cli
|
|
44
|
+
Requires-Dist: pyyaml; extra == 'cli'
|
|
42
45
|
Provides-Extra: pyarrow
|
|
43
46
|
Requires-Dist: pyarrow-stubs>=10.0.1.7; extra == 'pyarrow'
|
|
44
47
|
Requires-Dist: pyarrow>=16.1.0; extra == 'pyarrow'
|
|
@@ -236,7 +239,6 @@ cluster = client.beta.clusters.create(
|
|
|
236
239
|
billing_type="RESERVED",
|
|
237
240
|
cluster_name="cluster_name",
|
|
238
241
|
driver_version="CUDA_12_5_555",
|
|
239
|
-
duration_days=0,
|
|
240
242
|
gpu_type="H100_SXM",
|
|
241
243
|
num_gpus=0,
|
|
242
244
|
region="us-central-8",
|
|
@@ -680,6 +682,47 @@ together models list
|
|
|
680
682
|
together models upload --model-name my-org/my-model --model-source s3-or-hugging-face
|
|
681
683
|
```
|
|
682
684
|
|
|
685
|
+
### Clusters
|
|
686
|
+
|
|
687
|
+
```bash
|
|
688
|
+
# Help
|
|
689
|
+
together beta clusters --help
|
|
690
|
+
|
|
691
|
+
# Create a cluster
|
|
692
|
+
together beta clusters create
|
|
693
|
+
|
|
694
|
+
# List clusters
|
|
695
|
+
together beta clusters list
|
|
696
|
+
|
|
697
|
+
# Retrieve cluster details
|
|
698
|
+
together beta clusters retrieve [cluster-id]
|
|
699
|
+
|
|
700
|
+
# Update a cluster
|
|
701
|
+
together beta clusters update [cluster-id]
|
|
702
|
+
|
|
703
|
+
# Retrieve Together cluster configuration options such as regions, gpu types and drivers available
|
|
704
|
+
together beta clusters list-regions
|
|
705
|
+
```
|
|
706
|
+
|
|
707
|
+
##### Cluster Storage
|
|
708
|
+
|
|
709
|
+
```bash
|
|
710
|
+
# Help
|
|
711
|
+
together beta clusters storage --help
|
|
712
|
+
|
|
713
|
+
# Create cluster storage volume
|
|
714
|
+
together beta clusters storage create
|
|
715
|
+
|
|
716
|
+
# List storage volumes
|
|
717
|
+
together beta clusters storage list
|
|
718
|
+
|
|
719
|
+
# Retrieve storage volume
|
|
720
|
+
together beta clusters storage retrieve [storage-id]
|
|
721
|
+
|
|
722
|
+
# Delete storage volume
|
|
723
|
+
together beta clusters storage delete [storage-id]
|
|
724
|
+
```
|
|
725
|
+
|
|
683
726
|
## Contributing
|
|
684
727
|
|
|
685
728
|
See [the contributing documentation](https://github.com/togethercomputer/together-py/tree/main/./CONTRIBUTING.md).
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
together/__init__.py,sha256=ghwEH6EUrPERUwHVSXaCJVqS7QmLN7NsUxKJNXQrOYM,2842
|
|
2
|
-
together/_base_client.py,sha256=
|
|
3
|
-
together/_client.py,sha256=
|
|
2
|
+
together/_base_client.py,sha256=KZXDmmA96Hu-YMTFtyDjSHXmoTkjjoKFyRxkkA3M2aY,73411
|
|
3
|
+
together/_client.py,sha256=KXpNfjeUUC3StDUBR9p5yO51casqsA7NfhFVhZoVSwo,39387
|
|
4
4
|
together/_compat.py,sha256=DQBVORjFb33zch24jzkhM14msvnzY7mmSmgDLaVFUM8,6562
|
|
5
5
|
together/_constants.py,sha256=i39tJ7BP8nnqvdHFJwMhN6LWR6-jg5LLYiFudwCD3Ic,463
|
|
6
6
|
together/_exceptions.py,sha256=cpi7uHZjLovYHSeH_aTV7vmDj3dLx7mNN6hEdOY1vjo,3224
|
|
7
7
|
together/_files.py,sha256=UarpxWq6Ih30GuH3tuJGoqUH4PkHdCQ8ABXo92gYgT8,3620
|
|
8
|
-
together/_models.py,sha256=
|
|
8
|
+
together/_models.py,sha256=R3MpO2z4XhTAnD3ObEks32suRXleF1g7BEgQTOLIxTs,32112
|
|
9
9
|
together/_qs.py,sha256=craIKyvPktJ94cvf9zn8j8ekG9dWJzhWv0ob34lIOv4,4828
|
|
10
10
|
together/_resource.py,sha256=-ZTq9O5qf2YsgjJk_gwJs-CM_OG4p6gdMLcNWjuxFwQ,1112
|
|
11
11
|
together/_response.py,sha256=lvqEsCbpD8SRJTjlhhUFGbnLUR_4-Qva-OApxfVdiY4,28800
|
|
12
12
|
together/_streaming.py,sha256=sk6fVYbpdO3Y-0S5iwZTHQJ3N24UkK0KaupgUTftWZk,11825
|
|
13
|
-
together/_types.py,sha256=
|
|
14
|
-
together/_version.py,sha256=
|
|
13
|
+
together/_types.py,sha256=6XJrgQABAp4xUfdSwlKJ3gAG0eRQHG92TwqqxgLh_tI,7596
|
|
14
|
+
together/_version.py,sha256=KrBQd6trfZ-62WQZY087FReuHWQooZCvvm8x38I0PoM,169
|
|
15
|
+
together/constants.py,sha256=U1SgiirDQMiT5XvyrGcnNxPKlFmWeKq3TGkWLtB705w,1305
|
|
16
|
+
together/error.py,sha256=Xn-OeVpHIP06zWuLlqCTdglks2UOZpjdXzi2P46NlqA,452
|
|
15
17
|
together/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
18
|
together/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
|
|
17
19
|
together/_utils/_compat.py,sha256=rN17SSvjMoQE1GmKFTLniRuG1sKj2WAD5VjdLPeRlF0,1231
|
|
@@ -27,25 +29,64 @@ together/_utils/_typing.py,sha256=N_5PPuFNsaygbtA_npZd98SVN1LQQvFTKL6bkWPBZGU,47
|
|
|
27
29
|
together/_utils/_utils.py,sha256=g9ftElB09kVT6EVfCIlD_nUfANhDX5_vZO61FDWoIQI,12334
|
|
28
30
|
together/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
|
|
29
31
|
together/lib/__init__.py,sha256=Qtdi6geFNzxE-F51eNDk1ESXYyYDt8b82MR1POANQBQ,394
|
|
32
|
+
together/lib/_google_colab.py,sha256=_-fqTU1NY2XfKttGjCH_b47W8g9xVIuQgcjn44STbVw,1338
|
|
30
33
|
together/lib/constants.py,sha256=w8-zVl8XZiJxqMdhbWekigHJ0JUMPoV9R3ejUHIcUJk,2237
|
|
31
|
-
together/lib/cli/__init__.py,sha256=
|
|
32
|
-
together/lib/cli/
|
|
33
|
-
together/lib/cli/api/__init__.py,sha256=
|
|
34
|
-
together/lib/cli/api/
|
|
35
|
-
together/lib/cli/api/
|
|
36
|
-
together/lib/cli/api/
|
|
37
|
-
together/lib/cli/api/
|
|
38
|
-
together/lib/cli/api/
|
|
39
|
-
together/lib/cli/api/
|
|
40
|
-
together/lib/cli/api/beta/
|
|
41
|
-
together/lib/cli/api/beta/clusters.py,sha256=
|
|
42
|
-
together/lib/cli/api/beta/
|
|
34
|
+
together/lib/cli/__init__.py,sha256=zXBNfMDUsWMUVN7FgKNRzzZHpq8EjpdfR9carjCFtog,2005
|
|
35
|
+
together/lib/cli/api/_utils.py,sha256=r7Aifi6KdzqwlQrHLVrAeYp54EvU7HS07VNkE_DCmA8,5749
|
|
36
|
+
together/lib/cli/api/beta/__init__.py,sha256=JA9dJVuqFmoqUyM6Rx4sqfrmQWjEEaHQ9xjmlL908U0,173
|
|
37
|
+
together/lib/cli/api/beta/clusters/__init__.py,sha256=1i0jKTNS2dM9646Ph1By4fCSAU8ZzPbn6baRfYQnnXw,1256
|
|
38
|
+
together/lib/cli/api/beta/clusters/create.py,sha256=M7Fg2aAaba_vRUNOpF9gnMnWDM8JO1_nyOsUtyiFt0o,6671
|
|
39
|
+
together/lib/cli/api/beta/clusters/delete.py,sha256=BpLgzNZbU8nl2DK4W_OvVcr1IaVb5_5K-PfFtxx5OUs,1034
|
|
40
|
+
together/lib/cli/api/beta/clusters/get_credentials.py,sha256=N0EA4182Oq9hrB6h24yBDLJdzrAy2vNIti9m1oekDHo,5532
|
|
41
|
+
together/lib/cli/api/beta/clusters/list.py,sha256=5Zefe9bM-0v61aopOwDOlxNTByXsfybFRfHu9PUpiMc,499
|
|
42
|
+
together/lib/cli/api/beta/clusters/list_regions.py,sha256=I3g32rCNYscr2cjuh3U-RKdw3DCRKXqBLjoPpWJzPoQ,1107
|
|
43
|
+
together/lib/cli/api/beta/clusters/retrieve.py,sha256=rNszDap6SBl70DbWWJEO66WXdHbF1rWX_QFBk6ltxzY,749
|
|
44
|
+
together/lib/cli/api/beta/clusters/update.py,sha256=ZxxP8XBaNCFznAT7TmN_ogYeo8ew1KBNzAnkrzS0ALw,1325
|
|
45
|
+
together/lib/cli/api/beta/clusters/storage/__init__.py,sha256=RMPMzFwVdnMu5Fxgf4cmZcWKczQG5_RVB_vkxORac74,363
|
|
46
|
+
together/lib/cli/api/beta/clusters/storage/create.py,sha256=03JaXRsDxcLbCDxX4-8itX8o8rfTvGhaiK9PoUEEyXM,1129
|
|
47
|
+
together/lib/cli/api/beta/clusters/storage/delete.py,sha256=KSuCPG-KOZUZX1BlApksiELvicZD2hdl-uUumxjz4JA,1082
|
|
48
|
+
together/lib/cli/api/beta/clusters/storage/list.py,sha256=Pn12uJ7HhZ2MfRBeVMc8mdaB938JXqvKuKxHTzL3zlc,1076
|
|
49
|
+
together/lib/cli/api/beta/clusters/storage/retrieve.py,sha256=PnyZxZ_DKN-UNVITpOBP94y56hatbh1WOwqWYAV7eu8,772
|
|
50
|
+
together/lib/cli/api/endpoints/__init__.py,sha256=wZJvqaNxQhOZ6NLctrRjR2tbf6rL14ZGHQ_w-fmmCcI,1759
|
|
51
|
+
together/lib/cli/api/endpoints/availability_zones.py,sha256=DF1gxtmvhyQyIIOYw7QS00k2tDMJ1E5qPVoLu2gLBI8,766
|
|
52
|
+
together/lib/cli/api/endpoints/create.py,sha256=Q3P5FVJDL_Xa27JXL4FA-agP9GZDU23zyV5DM1QPeQE,4821
|
|
53
|
+
together/lib/cli/api/endpoints/delete.py,sha256=rvLcI_m5N8Mx2elNxJB4aPDuMuGmFcKaJcQO1BKauCA,447
|
|
54
|
+
together/lib/cli/api/endpoints/hardware.py,sha256=FufyNgnKl_VjFkUlJ4QmfUGPCpXuHF4AbmQGJ3c9C3o,1521
|
|
55
|
+
together/lib/cli/api/endpoints/list.py,sha256=EUr3p2VXNPiwED_LIzAPTmvjlpuPbAzCEGfzmCEl0mM,1734
|
|
56
|
+
together/lib/cli/api/endpoints/retrieve.py,sha256=KOBQ8BHV6D36Uujm-YCZ8gli56dyyVneivh5hHpqmMY,753
|
|
57
|
+
together/lib/cli/api/endpoints/start.py,sha256=H4WdoSUf1xNCW1YLTj0_rIAX7PJbJeHHXeKmpLNGWuo,821
|
|
58
|
+
together/lib/cli/api/endpoints/stop.py,sha256=NNsqEESvRLmbNKwVAx9JHEr3Ypwg88w4zK9GRMWmFtk,817
|
|
59
|
+
together/lib/cli/api/endpoints/update.py,sha256=FsU0e4wC9YGGTZd_FVFFSzEIEVi8b08U-JoAkYT8Ihs,2361
|
|
60
|
+
together/lib/cli/api/evals/__init__.py,sha256=gMUOFz1dhZdZKuk1iHMaWpAPpQHpTvPScacMJAj5i2U,342
|
|
61
|
+
together/lib/cli/api/evals/create.py,sha256=93avigFda2-q1FO_wZV67p_lY-6LkucqM_fOMriMn6Y,15516
|
|
62
|
+
together/lib/cli/api/evals/list.py,sha256=HdNykMS_iarC_u6963wiQ_roHKjiIKg9Z8Wj1eqsnaU,1633
|
|
63
|
+
together/lib/cli/api/evals/retrieve.py,sha256=1SapZXcKgJvsz2hYHgZnfaYLegrNYAYpPOlfIjW0RjY,607
|
|
64
|
+
together/lib/cli/api/evals/status.py,sha256=rBXn-WHUH_AGEP8RwEwoCqW17B7jKeAwdghrXNlYBJs,527
|
|
65
|
+
together/lib/cli/api/files/__init__.py,sha256=JwMzEzuFB58RDFoRQhGMgfYl12s-2IF082c5lUfytIY,474
|
|
66
|
+
together/lib/cli/api/files/check.py,sha256=0XOHofo4-diqAF1AlubzX9dftnOTWLjnW6bu5jYHMH0,442
|
|
67
|
+
together/lib/cli/api/files/delete.py,sha256=Scgs47JXX4b8SZYNhhgaI-RhZ7psMK9k0cAlqJg-SFg,460
|
|
68
|
+
together/lib/cli/api/files/list.py,sha256=8e19El5il3BoUSvGWje7stpTAZHM_bIUqGB1C3t-ip4,1030
|
|
69
|
+
together/lib/cli/api/files/retrieve.py,sha256=Z6pGY7TPEyUtrkxBOvrmQGECl8q8jV8MJ3Vg52UoMKM,457
|
|
70
|
+
together/lib/cli/api/files/retrieve_content.py,sha256=hF_Ir5RNDFLyOp96U7xXuWsS_WYHPnr1HpMCtQOOmBs,689
|
|
71
|
+
together/lib/cli/api/files/upload.py,sha256=MI64xbMVv5mqYbThTYa2DUENQWgAQuFia3xylsPZpVM,1058
|
|
72
|
+
together/lib/cli/api/fine_tuning/__init__.py,sha256=Swb4ivpbvyKPus36ZEbL2cPqPlHokbHmOU2bGxkvRZk,682
|
|
73
|
+
together/lib/cli/api/fine_tuning/cancel.py,sha256=HWkfQNsiub2RvNWJ0RBuZBWtv_C6y-DFXmXftktsurE,1050
|
|
74
|
+
together/lib/cli/api/fine_tuning/create.py,sha256=7N89MfjEBgejtzJTzf2CfUuB_m1bx4u9nYJBN6UUWV4,13860
|
|
75
|
+
together/lib/cli/api/fine_tuning/delete.py,sha256=vUGIGQxrNzhyNfYCUm4E5CAtHhIbxfGKEkI8E4MnSzc,1025
|
|
76
|
+
together/lib/cli/api/fine_tuning/download.py,sha256=08icXHGCWAym4Efv1Wj04AYaullS1dtDU2arQavy0kM,3154
|
|
77
|
+
together/lib/cli/api/fine_tuning/list.py,sha256=m05xce6letRaEqo_KB8rJ3tgz7AhYkqYrV51_wwy4I0,1529
|
|
78
|
+
together/lib/cli/api/fine_tuning/list_checkpoints.py,sha256=I1dFgfHTXfN7a3NvSAhnjvZWTcp64LcsUKqFOIqh7Jg,1418
|
|
79
|
+
together/lib/cli/api/fine_tuning/list_events.py,sha256=GUVuFFpJNL_BkxYVgtLSzuhBPdrU8p8itdCf5-tPNQM,981
|
|
80
|
+
together/lib/cli/api/fine_tuning/retrieve.py,sha256=IskJVcfWwxaB-0jOHZ2nrew4mozNixza9R-95psBzrY,870
|
|
81
|
+
together/lib/cli/api/models/__init__.py,sha256=eITfO7XSwhdRQMUYlmVKge_lpOCmKnEGL3PhvjQlttM,234
|
|
82
|
+
together/lib/cli/api/models/list.py,sha256=gcLh9Ek_2cPjhdiFC9T-1rnvdC6wMrEmXvo2EtsYy3Q,1593
|
|
83
|
+
together/lib/cli/api/models/upload.py,sha256=wG4EV2WO1eFVd0hOIY9YvQF2-yMdFW4YlryUYJJAHn0,2708
|
|
43
84
|
together/lib/resources/__init__.py,sha256=ystIb0pBHQLuwUBtHJwhRgtjK3_TV6K0KuM8NGuuNoU,172
|
|
44
85
|
together/lib/resources/files.py,sha256=Z_D23IvjYYWBpYrfYolCNfUslJBcE4PnU0WtuLsN67M,37277
|
|
45
86
|
together/lib/resources/fine_tuning.py,sha256=A-hOJqcGSPzw24wwX6K27OqV3B-u43dfdrK4nj4ItTg,13088
|
|
46
87
|
together/lib/types/__init__.py,sha256=1-kHsAp9Sh9HxjTGKfdHnF1nTS_cM_Tazv-3Z9hrEbY,205
|
|
47
88
|
together/lib/types/error.py,sha256=i-rnTZPRZuJDUf1lM-52abG2JHWOUBTCh55zPNGoakg,135
|
|
48
|
-
together/lib/types/fine_tuning.py,sha256=
|
|
89
|
+
together/lib/types/fine_tuning.py,sha256=sQ2DGDEEXegdKb9Bj4HqDFMZKURgHHSV7aeooZIMyPQ,13434
|
|
49
90
|
together/lib/utils/__init__.py,sha256=F_CVqnvK-aEshMg-5FLFincPbhuVbsM6IKSCNyEByKs,545
|
|
50
91
|
together/lib/utils/_log.py,sha256=mo5tDhyFTNqEj8MOcpy3bLmLBcC0OQ67orTw_nxFdcU,1930
|
|
51
92
|
together/lib/utils/files.py,sha256=CVTFwI7yMzpaQ-GsGr1tD4O2kXA-i369Pi0eMnlWMmI,31854
|
|
@@ -74,15 +115,15 @@ together/resources/audio/voices.py,sha256=Lj9DtOcv_Dhaq3E5p7Oty1T_JkhrsGDZcDF91H
|
|
|
74
115
|
together/resources/beta/__init__.py,sha256=x4J4_HKYN90Yqo_2cDzTi_SGNTIPlUFNUveTlKbF3CA,1002
|
|
75
116
|
together/resources/beta/beta.py,sha256=d6UtBwDImqbUPR572NFK9adPiiPeYKyLvp-y03NvGNk,3610
|
|
76
117
|
together/resources/beta/clusters/__init__.py,sha256=lW7cWkNzotbOcP4fSnFxvKlVrq1flpN4yC4hr-vuzKE,1041
|
|
77
|
-
together/resources/beta/clusters/clusters.py,sha256=
|
|
78
|
-
together/resources/beta/clusters/storage.py,sha256=
|
|
118
|
+
together/resources/beta/clusters/clusters.py,sha256=zCrhFT_gKPogIuhMiKUE3niJyu4p6a6JUSfymcQFqdA,24963
|
|
119
|
+
together/resources/beta/clusters/storage.py,sha256=YQwxLPB68qRTHh79isoVgQBMMKXdOW18KtkSg7xJ7FM,19087
|
|
79
120
|
together/resources/chat/__init__.py,sha256=BVAfz9TM3DT5W9f_mt0P9YRxL_MsUxKCWAH6u1iogmA,1041
|
|
80
121
|
together/resources/chat/chat.py,sha256=aJQQ4Zlof2NlrG53auI5omXPJVdG3c_vwnEkj-ahLG4,3688
|
|
81
122
|
together/resources/chat/completions.py,sha256=u45dEoSvgyJZ86yI3-CZzPDOVOjBi_h9ZaxXBhXZPaw,57312
|
|
82
123
|
together/resources/code_interpreter/__init__.py,sha256=qeNVuBUuYy66RDhyh4RDx_xsf0gTMIrrZkZHpkPy9r0,1146
|
|
83
124
|
together/resources/code_interpreter/code_interpreter.py,sha256=ZrWQIn5FO-uau3qTt_HhsHiaclM_ZNfOqZI_AWT2SMk,10373
|
|
84
125
|
together/resources/code_interpreter/sessions.py,sha256=Sl8X6-r1gds2VHhzpjPhfwYNTciZCJxAH-YjJerA_eU,5020
|
|
85
|
-
together/types/__init__.py,sha256=
|
|
126
|
+
together/types/__init__.py,sha256=OJOudmSdr_aL6jPwLbkkQJivZHACb0wlUPAcAlHiDdQ,5210
|
|
86
127
|
together/types/audio_speech_stream_chunk.py,sha256=npxlsMce0q4_VoJaZzfSh982TYTM0-j-zmhyI-9hP5o,346
|
|
87
128
|
together/types/autoscaling.py,sha256=nlOvbwrsgJQsz2ALlunp9o4sRdAmLe1tinXKSBNa2Yg,447
|
|
88
129
|
together/types/autoscaling_param.py,sha256=GNyqO4jV5zQie2BmOjfwpESxJ9IyVcz6p9wAxGIf6F0,544
|
|
@@ -90,6 +131,7 @@ together/types/batch_create_params.py,sha256=2vFTT9PsqBn_F8qvnQNCRahrdeFl0MMhUg5
|
|
|
90
131
|
together/types/batch_create_response.py,sha256=wJgUqyNbJ8oPwgUWpHHWkJx65bN6llbudAhF94gaKWs,325
|
|
91
132
|
together/types/batch_job.py,sha256=3z7fVqcWcm38QGqy9O3mTJvPiuvfc6jZDYTIQ-VrFso,1138
|
|
92
133
|
together/types/batch_list_response.py,sha256=eOYgKgpo05jSVx_-79YCKQhsj2pdxZ8mEaOBPptrwC8,264
|
|
134
|
+
together/types/chat_completions.py,sha256=8zaq1jWlR06JCurcVS0mS9TPHqZjJrOEIR13ZFmdUn8,286
|
|
93
135
|
together/types/code_interpreter_execute_params.py,sha256=n9YEbz2W5xCRUP2Coe6xYS914sUgP19Y4XolYa-iRao,1182
|
|
94
136
|
together/types/completion.py,sha256=9t9bQc1x3s0LUGZ19fifWUosSGPTllO7kviY2Hvpkns,897
|
|
95
137
|
together/types/completion_chunk.py,sha256=2GgVkgdnm7Ne-MnbFLakVTMIISkwXtAdn-CWdQ76D0U,1354
|
|
@@ -102,6 +144,7 @@ together/types/endpoint_list_avzones_response.py,sha256=LbzRkG7snD7Swy-t0E0MLXrl
|
|
|
102
144
|
together/types/endpoint_list_params.py,sha256=83Mg5beLYX_ipn1X_izk7hDIO8q8YNEL-tjsv5AcNXo,506
|
|
103
145
|
together/types/endpoint_list_response.py,sha256=LPyv8np_HctSW0QKstC8k7vF0RAejb6X9N2JowZtaEY,1010
|
|
104
146
|
together/types/endpoint_update_params.py,sha256=ONGRuPZQe_C40N5tfnu-HyPBNFvPRWeA3A9lEtrligc,780
|
|
147
|
+
together/types/endpoints.py,sha256=K4EjqO0ISqC_qGHprlw5rVh8Wn56RjtA5lj5zjoWcNM,154
|
|
105
148
|
together/types/eval_create_params.py,sha256=KH4Jn8jzyufANXm1EQ5Cu4DkzQlqmRa7_t4m5c9QHHw,8059
|
|
106
149
|
together/types/eval_create_response.py,sha256=s8tjFerVLIm8J4-qmp-kZ-yP65PsjWZ2AtK-ObGUv30,429
|
|
107
150
|
together/types/eval_list_params.py,sha256=pdKw4pK5FQMnyY76L7Yj2Q-mOXtJv9rg9BU3iAud4V0,483
|
|
@@ -114,7 +157,8 @@ together/types/file_list.py,sha256=AE9muto7B4HyABgt3k9obSbUG1GW09pVvB0POnEQeUg,2
|
|
|
114
157
|
together/types/file_purpose.py,sha256=9sHEbQ1qy4V99KMT7R5Ya_VXutu1ZZG1pho-w2ZZ9OM,302
|
|
115
158
|
together/types/file_response.py,sha256=Abmu-Ph-masbhAFePB64VhiswHEFmExWF34jaiTm4Lg,626
|
|
116
159
|
together/types/file_type.py,sha256=lrvFtcJr0Wn5thWP4NihmrmK23AouK2e6Ev4LCCPg5A,218
|
|
117
|
-
together/types/
|
|
160
|
+
together/types/files.py,sha256=2eB1LRTt8p1hwXGiln42qunPT-JVY2me5tpdPjFZwVQ,236
|
|
161
|
+
together/types/fine_tuning_cancel_response.py,sha256=1fbSVkAg0_hgMhH2uLiv11FqiYo1czf3h4QF5J0btVs,5917
|
|
118
162
|
together/types/fine_tuning_content_params.py,sha256=_5rqZ2lk6FShmX-5Hj4A9jQdpPZP6lcgjXvnrC30G8k,711
|
|
119
163
|
together/types/fine_tuning_delete_params.py,sha256=YwUcN_gFl9N2zuUJqyOrE0ngONL2N_OgfVw6h-sH2RE,273
|
|
120
164
|
together/types/fine_tuning_delete_response.py,sha256=oWoJM51-2b_RIINhJSMyMelSKQkHFYrJjDLeD51dUgo,323
|
|
@@ -122,10 +166,11 @@ together/types/fine_tuning_estimate_price_params.py,sha256=LIlP1Z5C1EAQgOg3b3BZ1
|
|
|
122
166
|
together/types/fine_tuning_estimate_price_response.py,sha256=lA2MUesE_C_Ia8U-rJRsqRGRzkZJno2dsIsrMmoQMIo,770
|
|
123
167
|
together/types/fine_tuning_list_checkpoints_response.py,sha256=9S0kRl7ItqFU6CeodrB9jb1zgf7-Ehb7VGjsbKq_hBY,377
|
|
124
168
|
together/types/fine_tuning_list_events_response.py,sha256=DeDJLF1IxQV47HOwfuVt8Zis5W2CKs3iKkKvwDxyswk,309
|
|
125
|
-
together/types/fine_tuning_list_response.py,sha256=
|
|
169
|
+
together/types/fine_tuning_list_response.py,sha256=9z6-9Tg4LX__T3V9SEm-NsbnBmz7E3L1-EiQLi61UQE,6103
|
|
170
|
+
together/types/finetune.py,sha256=fTMToJXPfBAD7L19WpkaimGtytRcIL80Cz2Fmhnbsps,1198
|
|
126
171
|
together/types/finetune_event.py,sha256=0apAXe6Anx2_ffse2pOBJDxngCeuSvuDMYczZ0DtzZg,787
|
|
127
172
|
together/types/finetune_event_type.py,sha256=Bm4lkBhsLI_kaD5yabsvW6BpnjXzZO_lwDtiEeMNXnw,824
|
|
128
|
-
together/types/finetune_response.py,sha256=
|
|
173
|
+
together/types/finetune_response.py,sha256=yRia3VGyLbqUnxpHz4idMKZXglXlVQHrt9tJL_-YwpM,5018
|
|
129
174
|
together/types/hardware_list_params.py,sha256=BbfiigtdQE0QNGFGr6o-Twg912x_riH5mbUNpZWYWO4,435
|
|
130
175
|
together/types/hardware_list_response.py,sha256=KfGhnEy7qEW2Bzt4Q8b-JSvxG-IKIIFfcpWEQHS9YdM,1732
|
|
131
176
|
together/types/image_data_b64.py,sha256=pLY7JDBb1HF1T29ACbae_xn6JQfttpqQVeG_jJeenZU,284
|
|
@@ -140,6 +185,7 @@ together/types/model_list_response.py,sha256=MvJLqK_tczrk8kCijb0HChLs706_pXJdf1E
|
|
|
140
185
|
together/types/model_object.py,sha256=ixXrw0t4ZyGaINI69nG0uUVGjgTG9DNhlzeUaNxW7GY,745
|
|
141
186
|
together/types/model_upload_params.py,sha256=8_mcHCUkmvTy0psgzTGZV2Gkw6RvNYNFVRo401i4Nfo,1033
|
|
142
187
|
together/types/model_upload_response.py,sha256=rDG9A0Xp6ZTcmvvybUqWTChVopbUXinQKIyt4QcPtms,482
|
|
188
|
+
together/types/models.py,sha256=8kMkbf4robRU0pPBlgqidCeQWzDa4M9bpWr9ErJuyYk,108
|
|
143
189
|
together/types/rerank_create_params.py,sha256=0cQRr-S7WnsYG0GQlcLeQJ__BzGWHGHdIMVr66-j1ws,1127
|
|
144
190
|
together/types/rerank_create_response.py,sha256=KzRWbo578R3yY65tnJ82CA1Ntp_3eJBVKl4WSfoFVuI,773
|
|
145
191
|
together/types/tool_choice.py,sha256=oO-sDUozOcrFXZ7I8OAUXIoTKDagv2rV9jU1p2DzHzg,375
|
|
@@ -156,19 +202,16 @@ together/types/audio/transcription_create_response.py,sha256=z8_pzJlzYjP4QxJhwbK
|
|
|
156
202
|
together/types/audio/translation_create_params.py,sha256=6-iHFC2K2o72K5tj0lfD-Lb69JzV4_5t_x2sdj2Pafs,1232
|
|
157
203
|
together/types/audio/translation_create_response.py,sha256=T6SUCExVMin1qSGamHuiWGWS84MZ92tZPBHD7NYm4IU,1843
|
|
158
204
|
together/types/audio/voice_list_response.py,sha256=vS2yvGBz7U2cxnJkEr7BewT7j5ActDjn99k3QhhEKk4,517
|
|
159
|
-
together/types/beta/__init__.py,sha256=
|
|
205
|
+
together/types/beta/__init__.py,sha256=RAasVz0AMEdhf8FlzbsSJ4gm3wp4Ir1Yw3KJOg9M2II,581
|
|
160
206
|
together/types/beta/cluster.py,sha256=QE0KMFrKikFbz5lZytvGqai9IBPAr_3PC_kqZd4yCcA,1636
|
|
161
|
-
together/types/beta/cluster_create_params.py,sha256=
|
|
162
|
-
together/types/beta/cluster_create_response.py,sha256=3NZHOdgeaTPY3f7T0u9YGuAnRIWoa4VWQe7PVFztqMU,219
|
|
207
|
+
together/types/beta/cluster_create_params.py,sha256=HwAsWvvhhTyLiAzGk7yo15bNredUUANR4yvnjYj-h5Y,1500
|
|
163
208
|
together/types/beta/cluster_delete_response.py,sha256=rQ3dxuhlCqiuJBaVUUH51tNOkT6Xl-gnp0rRUxI6fOo,219
|
|
164
209
|
together/types/beta/cluster_list_regions_response.py,sha256=QzRO4ns6nrZvMcdTKF9Tjk7wcjXvYMQgiRztLIkEzxQ,391
|
|
165
210
|
together/types/beta/cluster_list_response.py,sha256=Vctdf-x12g1Y4vJHJ06GFCBXKaVdU6m8Pyb9OV8IM1Q,277
|
|
166
211
|
together/types/beta/cluster_update_params.py,sha256=C3OIOG1IyjV4_UeH24rzVbYAmSJiBT0Hs5bb3lXZCcU,328
|
|
167
|
-
together/types/beta/
|
|
168
|
-
together/types/beta/clusters/
|
|
169
|
-
together/types/beta/clusters/cluster_storage.py,sha256=lcnTy4KkRrPOplMScRxFQUyrLJlZpFUl0L7OlW8HT6k,246
|
|
212
|
+
together/types/beta/clusters/__init__.py,sha256=lQZ_CtOtxPVEFjzZVcA23QL03OAHy1nhkoHMEaRof58,503
|
|
213
|
+
together/types/beta/clusters/cluster_storage.py,sha256=LyQuFNZfypsXITxnJaPmo-YlgnTJ1Nj8rSAWj4HVy3g,344
|
|
170
214
|
together/types/beta/clusters/storage_create_params.py,sha256=RbGMXdNQrKEegvez0Ev-wZLMKHcuy-BYmRPGsmYaa5I,485
|
|
171
|
-
together/types/beta/clusters/storage_create_response.py,sha256=IYezSxk3npJhLk-MnEdwtejcmNIy9rddIHdAk_0txU0,219
|
|
172
215
|
together/types/beta/clusters/storage_delete_response.py,sha256=U66KfWWOZpCgpQz0QriF-DF8UsTkW7d0_IeBP3kCqqU,218
|
|
173
216
|
together/types/beta/clusters/storage_list_response.py,sha256=wVyyFEGA-I9g-U9ii64tGGgIlPs0XZ9WNKwn-JbnBgc,299
|
|
174
217
|
together/types/beta/clusters/storage_update_params.py,sha256=urq_FjfZiYcmCo6qsmaVu1JG4RsOsSMYWwe_yDQ7w-A,289
|
|
@@ -183,8 +226,8 @@ together/types/chat/chat_completion_warning.py,sha256=_Dp7YKlxyY2HeZopTvT-Go7qqK
|
|
|
183
226
|
together/types/chat/completion_create_params.py,sha256=GpOQIpL2hODOV-iPoilHxo5UYP_KHJ-zdZMP-VW87-g,13755
|
|
184
227
|
together/types/code_interpreter/__init__.py,sha256=dAXfb3ryLMtcBalCfxxNu2wJVswVP8G1xXryZnahPQY,201
|
|
185
228
|
together/types/code_interpreter/session_list_response.py,sha256=TRxLGFTmIY-KLpStKjJtsrm4EI6BBvakpx43B6pkhnw,662
|
|
186
|
-
together-2.0.
|
|
187
|
-
together-2.0.
|
|
188
|
-
together-2.0.
|
|
189
|
-
together-2.0.
|
|
190
|
-
together-2.0.
|
|
229
|
+
together-2.0.0a16.dist-info/METADATA,sha256=0VoI6xgnRwNl5aE1rHBnfLNf6ZaWw8fTBvokjshDkWY,21255
|
|
230
|
+
together-2.0.0a16.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
231
|
+
together-2.0.0a16.dist-info/entry_points.txt,sha256=urdkNVg6rlks26fHnWO7smiBtaZ6Vr75hlsoHSJ7TKc,51
|
|
232
|
+
together-2.0.0a16.dist-info/licenses/LICENSE,sha256=oSs-kmJHhMue4vIIPIxQMvXou9PbxgNdIX-r_AwfO7c,11338
|
|
233
|
+
together-2.0.0a16.dist-info/RECORD,,
|
together/lib/cli/api/__init__.py
DELETED
|
File without changes
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import json as json_lib
|
|
2
|
-
from typing import Any, Dict, List
|
|
3
|
-
|
|
4
|
-
import click
|
|
5
|
-
from rich import print
|
|
6
|
-
from tabulate import tabulate
|
|
7
|
-
|
|
8
|
-
from together import Together
|
|
9
|
-
from together.lib.cli.api.utils import handle_api_errors
|
|
10
|
-
from together.types.beta.clusters import ClusterStorage
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def print_storage(storage: List[ClusterStorage]) -> None:
|
|
14
|
-
data: List[Dict[str, Any]] = []
|
|
15
|
-
for volume in storage:
|
|
16
|
-
data.append(
|
|
17
|
-
{
|
|
18
|
-
"ID": volume.volume_id,
|
|
19
|
-
"Name": volume.volume_name,
|
|
20
|
-
"Size": volume.size_tib,
|
|
21
|
-
}
|
|
22
|
-
)
|
|
23
|
-
click.echo(tabulate(data, headers="keys", tablefmt="grid"))
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
@click.group()
|
|
27
|
-
@click.pass_context
|
|
28
|
-
def storage(ctx: click.Context) -> None:
|
|
29
|
-
"""Clusters Storage API commands"""
|
|
30
|
-
pass
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
@storage.command()
|
|
34
|
-
@click.option(
|
|
35
|
-
"--region",
|
|
36
|
-
required=True,
|
|
37
|
-
type=str,
|
|
38
|
-
help="Region to create the storage volume in",
|
|
39
|
-
)
|
|
40
|
-
@click.option(
|
|
41
|
-
"--size-tib",
|
|
42
|
-
required=True,
|
|
43
|
-
type=int,
|
|
44
|
-
help="Size of the storage volume in TiB",
|
|
45
|
-
)
|
|
46
|
-
@click.option(
|
|
47
|
-
"--volume-name",
|
|
48
|
-
required=True,
|
|
49
|
-
type=str,
|
|
50
|
-
help="Name of the storage volume",
|
|
51
|
-
)
|
|
52
|
-
@click.option(
|
|
53
|
-
"--json",
|
|
54
|
-
is_flag=True,
|
|
55
|
-
help="Output in JSON format",
|
|
56
|
-
)
|
|
57
|
-
@click.pass_context
|
|
58
|
-
@handle_api_errors("Clusters Storage")
|
|
59
|
-
def create(ctx: click.Context, region: str, size_tib: int, volume_name: str, json: bool) -> None:
|
|
60
|
-
"""Create a storage volume"""
|
|
61
|
-
client: Together = ctx.obj
|
|
62
|
-
|
|
63
|
-
response = client.beta.clusters.storage.create(
|
|
64
|
-
region=region,
|
|
65
|
-
size_tib=size_tib,
|
|
66
|
-
volume_name=volume_name,
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
if json:
|
|
70
|
-
click.echo(json_lib.dumps(response.model_dump_json(), indent=2))
|
|
71
|
-
else:
|
|
72
|
-
click.echo(f"Storage volume created successfully")
|
|
73
|
-
click.echo(response.volume_id)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
@storage.command()
|
|
77
|
-
@click.argument(
|
|
78
|
-
"volume-id",
|
|
79
|
-
required=True,
|
|
80
|
-
)
|
|
81
|
-
@click.option(
|
|
82
|
-
"--json",
|
|
83
|
-
is_flag=True,
|
|
84
|
-
help="Output in JSON format",
|
|
85
|
-
)
|
|
86
|
-
@click.pass_context
|
|
87
|
-
@handle_api_errors("Clusters Storage")
|
|
88
|
-
def retrieve(ctx: click.Context, volume_id: str, json: bool) -> None:
|
|
89
|
-
"""Retrieve a storage volume"""
|
|
90
|
-
client: Together = ctx.obj
|
|
91
|
-
|
|
92
|
-
if not json:
|
|
93
|
-
click.echo(f"Clusters Storage: Retrieving storage volume...")
|
|
94
|
-
|
|
95
|
-
response = client.beta.clusters.storage.retrieve(volume_id)
|
|
96
|
-
|
|
97
|
-
if json:
|
|
98
|
-
click.echo(json_lib.dumps(response.model_dump(), indent=2))
|
|
99
|
-
else:
|
|
100
|
-
print(response)
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
@storage.command()
|
|
104
|
-
@click.argument(
|
|
105
|
-
"volume-id",
|
|
106
|
-
required=True,
|
|
107
|
-
)
|
|
108
|
-
@click.option(
|
|
109
|
-
"--json",
|
|
110
|
-
is_flag=True,
|
|
111
|
-
help="Output in JSON format",
|
|
112
|
-
)
|
|
113
|
-
@click.pass_context
|
|
114
|
-
@handle_api_errors("Clusters Storage")
|
|
115
|
-
def delete(ctx: click.Context, volume_id: str, json: bool) -> None:
|
|
116
|
-
"""Delete a storage volume"""
|
|
117
|
-
client: Together = ctx.obj
|
|
118
|
-
|
|
119
|
-
if json:
|
|
120
|
-
response = client.beta.clusters.storage.delete(volume_id)
|
|
121
|
-
click.echo(json_lib.dumps(response.model_dump(), indent=2))
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
storage = client.beta.clusters.storage.retrieve(volume_id)
|
|
125
|
-
print_storage([storage])
|
|
126
|
-
if not click.confirm(f"Clusters Storage: Are you sure you want to delete storage volume {storage.volume_name}?"):
|
|
127
|
-
return
|
|
128
|
-
|
|
129
|
-
click.echo("Clusters Storage: Deleting storage volume...")
|
|
130
|
-
response = client.beta.clusters.storage.delete(volume_id)
|
|
131
|
-
|
|
132
|
-
click.echo(f"Clusters Storage: Deleted storage volume {storage.volume_name}")
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
@storage.command()
|
|
136
|
-
@click.option(
|
|
137
|
-
"--json",
|
|
138
|
-
is_flag=True,
|
|
139
|
-
help="Output in JSON format",
|
|
140
|
-
)
|
|
141
|
-
@click.pass_context
|
|
142
|
-
@handle_api_errors("Clusters Storage")
|
|
143
|
-
def list(ctx: click.Context, json: bool) -> None:
|
|
144
|
-
"""List storage volumes"""
|
|
145
|
-
client: Together = ctx.obj
|
|
146
|
-
|
|
147
|
-
response = client.beta.clusters.storage.list()
|
|
148
|
-
|
|
149
|
-
if json:
|
|
150
|
-
click.echo(json_lib.dumps(response.model_dump(), indent=2))
|
|
151
|
-
else:
|
|
152
|
-
print_storage(response.volumes)
|