adaptive-sdk 0.1.2__py3-none-any.whl → 0.1.3__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.
- adaptive_sdk/graphql_client/__init__.py +8 -7
- adaptive_sdk/graphql_client/add_hf_model.py +7 -1
- adaptive_sdk/graphql_client/async_client.py +15 -7
- adaptive_sdk/graphql_client/client.py +15 -7
- adaptive_sdk/graphql_client/custom_fields.py +154 -39
- adaptive_sdk/graphql_client/custom_mutations.py +2 -2
- adaptive_sdk/graphql_client/custom_queries.py +16 -6
- adaptive_sdk/graphql_client/custom_typing_fields.py +42 -7
- adaptive_sdk/graphql_client/describe_job.py +12 -0
- adaptive_sdk/graphql_client/enums.py +11 -5
- adaptive_sdk/graphql_client/fragments.py +23 -23
- adaptive_sdk/graphql_client/get_custom_recipe.py +2 -1
- adaptive_sdk/graphql_client/input_types.py +10 -2
- adaptive_sdk/graphql_client/list_compute_pools.py +3 -3
- adaptive_sdk/graphql_client/list_harmony_groups.py +13 -0
- adaptive_sdk/resources/jobs.py +16 -14
- adaptive_sdk/resources/models.py +77 -33
- adaptive_sdk/resources/recipes.py +159 -96
- adaptive_sdk/rest/rest_types.py +61 -37
- {adaptive_sdk-0.1.2.dist-info → adaptive_sdk-0.1.3.dist-info}/METADATA +1 -1
- {adaptive_sdk-0.1.2.dist-info → adaptive_sdk-0.1.3.dist-info}/RECORD +22 -21
- adaptive_sdk/graphql_client/list_partitions.py +0 -12
- {adaptive_sdk-0.1.2.dist-info → adaptive_sdk-0.1.3.dist-info}/WHEEL +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from typing import Any, Dict, Optional
|
|
2
2
|
from . import CompletionGroupBy
|
|
3
|
-
from .custom_fields import AbcampaignFields, CompletionConnectionFields, CompletionFields, CompletionGroupDataConnectionFields, ComputePoolFields, CustomRecipeFields, DatasetFields, GraderFields, JobArtifactFields, JobConnectionFields, JobFields, JudgeFields, MetaObjectFields, MetricFields, ModelFields,
|
|
3
|
+
from .custom_fields import AbcampaignFields, CompletionConnectionFields, CompletionFields, CompletionGroupDataConnectionFields, ComputePoolFields, ContractFields, CustomRecipeFields, DatasetFields, GlobalUsageFields, GraderFields, HarmonyGroupFields, JobArtifactFields, JobConnectionFields, JobFields, JudgeFields, MetaObjectFields, MetricFields, ModelFields, PrebuiltConfigDefinitionFields, PrebuiltCriteriaFields, RemoteConfigOutputFields, RemoteEnvFields, RoleFields, SystemPromptTemplateFields, TeamFields, ToolProviderFields, UsageAggregateItemFields, UsageAggregatePerUseCaseItemFields, UseCaseFields, UserFields
|
|
4
4
|
from .custom_typing_fields import GraphQLField
|
|
5
|
-
from .input_types import AbCampaignFilter, ArtifactFilter, CursorPageInput, CustomRecipeFilterInput, FeedbackFilterInput, ListCompletionsFilterInput, ListJobsFilterInput, ModelFilter, OrderPair, UsageFilterInput, UsagePerUseCaseFilterInput, UseCaseFilter
|
|
5
|
+
from .input_types import AbCampaignFilter, ArtifactFilter, CursorPageInput, CustomRecipeFilterInput, FeedbackFilterInput, GlobalUsageFilterInput, ListCompletionsFilterInput, ListJobsFilterInput, ModelFilter, OrderPair, UsageFilterInput, UsagePerUseCaseFilterInput, UseCaseFilter
|
|
6
6
|
|
|
7
7
|
class Query:
|
|
8
8
|
"""@private"""
|
|
@@ -19,6 +19,10 @@ class Query:
|
|
|
19
19
|
cleared_arguments = {key: value for (key, value) in arguments.items() if value['value'] is not None}
|
|
20
20
|
return AbcampaignFields(field_name='abCampaign', arguments=cleared_arguments)
|
|
21
21
|
|
|
22
|
+
@classmethod
|
|
23
|
+
def contract(cls) -> ContractFields:
|
|
24
|
+
return ContractFields(field_name='contract')
|
|
25
|
+
|
|
22
26
|
@classmethod
|
|
23
27
|
def custom_recipes(cls, use_case: str, filter: CustomRecipeFilterInput) -> CustomRecipeFields:
|
|
24
28
|
arguments: Dict[str, Dict[str, Any]] = {'useCase': {'type': 'IdOrKey!', 'value': use_case}, 'filter': {'type': 'CustomRecipeFilterInput!', 'value': filter}}
|
|
@@ -79,6 +83,12 @@ class Query:
|
|
|
79
83
|
cleared_arguments = {key: value for (key, value) in arguments.items() if value['value'] is not None}
|
|
80
84
|
return UsageAggregatePerUseCaseItemFields(field_name='modelUsageByUseCase', arguments=cleared_arguments)
|
|
81
85
|
|
|
86
|
+
@classmethod
|
|
87
|
+
def global_usage(cls, filter: GlobalUsageFilterInput) -> GlobalUsageFields:
|
|
88
|
+
arguments: Dict[str, Dict[str, Any]] = {'filter': {'type': 'GlobalUsageFilterInput!', 'value': filter}}
|
|
89
|
+
cleared_arguments = {key: value for (key, value) in arguments.items() if value['value'] is not None}
|
|
90
|
+
return GlobalUsageFields(field_name='globalUsage', arguments=cleared_arguments)
|
|
91
|
+
|
|
82
92
|
@classmethod
|
|
83
93
|
def system_prompt_templates(cls) -> SystemPromptTemplateFields:
|
|
84
94
|
return SystemPromptTemplateFields(field_name='systemPromptTemplates')
|
|
@@ -118,12 +128,12 @@ class Query:
|
|
|
118
128
|
return ModelFields(field_name='model', arguments=cleared_arguments)
|
|
119
129
|
|
|
120
130
|
@classmethod
|
|
121
|
-
def
|
|
122
|
-
return
|
|
131
|
+
def all_harmony_groups(cls) -> HarmonyGroupFields:
|
|
132
|
+
return HarmonyGroupFields(field_name='allHarmonyGroups')
|
|
123
133
|
|
|
124
134
|
@classmethod
|
|
125
|
-
def
|
|
126
|
-
return
|
|
135
|
+
def harmony_groups(cls) -> HarmonyGroupFields:
|
|
136
|
+
return HarmonyGroupFields(field_name='harmonyGroups')
|
|
127
137
|
|
|
128
138
|
@classmethod
|
|
129
139
|
def compute_pools(cls) -> ComputePoolFields:
|
|
@@ -106,6 +106,13 @@ class BatchInferenceJobStageOutputGraphQLField(GraphQLField):
|
|
|
106
106
|
self._alias = alias
|
|
107
107
|
return self
|
|
108
108
|
|
|
109
|
+
class BillingUsageGraphQLField(GraphQLField):
|
|
110
|
+
"""@private"""
|
|
111
|
+
|
|
112
|
+
def alias(self, alias: str) -> 'BillingUsageGraphQLField':
|
|
113
|
+
self._alias = alias
|
|
114
|
+
return self
|
|
115
|
+
|
|
109
116
|
class ChatMessageGraphQLField(GraphQLField):
|
|
110
117
|
"""@private"""
|
|
111
118
|
|
|
@@ -211,6 +218,13 @@ class ComputePoolGraphQLField(GraphQLField):
|
|
|
211
218
|
self._alias = alias
|
|
212
219
|
return self
|
|
213
220
|
|
|
221
|
+
class ContractGraphQLField(GraphQLField):
|
|
222
|
+
"""@private"""
|
|
223
|
+
|
|
224
|
+
def alias(self, alias: str) -> 'ContractGraphQLField':
|
|
225
|
+
self._alias = alias
|
|
226
|
+
return self
|
|
227
|
+
|
|
214
228
|
class CustomConfigOutputGraphQLField(GraphQLField):
|
|
215
229
|
"""@private"""
|
|
216
230
|
|
|
@@ -348,6 +362,13 @@ class EvaluationResultGraphQLField(GraphQLField):
|
|
|
348
362
|
self._alias = alias
|
|
349
363
|
return self
|
|
350
364
|
|
|
365
|
+
class GlobalUsageGraphQLField(GraphQLField):
|
|
366
|
+
"""@private"""
|
|
367
|
+
|
|
368
|
+
def alias(self, alias: str) -> 'GlobalUsageGraphQLField':
|
|
369
|
+
self._alias = alias
|
|
370
|
+
return self
|
|
371
|
+
|
|
351
372
|
class GpuAllocationGraphQLField(GraphQLField):
|
|
352
373
|
"""@private"""
|
|
353
374
|
|
|
@@ -394,6 +415,13 @@ class GuidelinesTrainingParamsOutputGraphQLField(GraphQLField):
|
|
|
394
415
|
self._alias = alias
|
|
395
416
|
return self
|
|
396
417
|
|
|
418
|
+
class HarmonyGroupGraphQLField(GraphQLField):
|
|
419
|
+
"""@private"""
|
|
420
|
+
|
|
421
|
+
def alias(self, alias: str) -> 'HarmonyGroupGraphQLField':
|
|
422
|
+
self._alias = alias
|
|
423
|
+
return self
|
|
424
|
+
|
|
397
425
|
class InteractionOutputGraphQLField(GraphQLField):
|
|
398
426
|
"""@private"""
|
|
399
427
|
|
|
@@ -605,13 +633,6 @@ class PageInfoGraphQLField(GraphQLField):
|
|
|
605
633
|
self._alias = alias
|
|
606
634
|
return self
|
|
607
635
|
|
|
608
|
-
class PartitionGraphQLField(GraphQLField):
|
|
609
|
-
"""@private"""
|
|
610
|
-
|
|
611
|
-
def alias(self, alias: str) -> 'PartitionGraphQLField':
|
|
612
|
-
self._alias = alias
|
|
613
|
-
return self
|
|
614
|
-
|
|
615
636
|
class PpotrainingParamsOutputGraphQLField(GraphQLField):
|
|
616
637
|
"""@private"""
|
|
617
638
|
|
|
@@ -908,6 +929,20 @@ class UsageAggregatePerUseCaseItemGraphQLField(GraphQLField):
|
|
|
908
929
|
self._alias = alias
|
|
909
930
|
return self
|
|
910
931
|
|
|
932
|
+
class UsageStatsGraphQLField(GraphQLField):
|
|
933
|
+
"""@private"""
|
|
934
|
+
|
|
935
|
+
def alias(self, alias: str) -> 'UsageStatsGraphQLField':
|
|
936
|
+
self._alias = alias
|
|
937
|
+
return self
|
|
938
|
+
|
|
939
|
+
class UsageStatsByModelGraphQLField(GraphQLField):
|
|
940
|
+
"""@private"""
|
|
941
|
+
|
|
942
|
+
def alias(self, alias: str) -> 'UsageStatsByModelGraphQLField':
|
|
943
|
+
self._alias = alias
|
|
944
|
+
return self
|
|
945
|
+
|
|
911
946
|
class UseCaseGraphQLField(GraphQLField):
|
|
912
947
|
"""@private"""
|
|
913
948
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
from .base_model import BaseModel
|
|
3
|
+
from .fragments import JobData
|
|
4
|
+
|
|
5
|
+
class DescribeJob(BaseModel):
|
|
6
|
+
"""@public"""
|
|
7
|
+
job: Optional['DescribeJobJob']
|
|
8
|
+
|
|
9
|
+
class DescribeJobJob(JobData):
|
|
10
|
+
"""@public"""
|
|
11
|
+
pass
|
|
12
|
+
DescribeJob.model_rebuild()
|
|
@@ -11,6 +11,10 @@ class AuthProviderKind(str, Enum):
|
|
|
11
11
|
"""@public"""
|
|
12
12
|
OIDC = 'OIDC'
|
|
13
13
|
|
|
14
|
+
class BillingCycle(str, Enum):
|
|
15
|
+
"""@public"""
|
|
16
|
+
YEARLY = 'YEARLY'
|
|
17
|
+
|
|
14
18
|
class CompletionGroupBy(str, Enum):
|
|
15
19
|
"""@public"""
|
|
16
20
|
MODEL = 'MODEL'
|
|
@@ -50,6 +54,7 @@ class DatasetSource(str, Enum):
|
|
|
50
54
|
|
|
51
55
|
class DateBucketUnit(str, Enum):
|
|
52
56
|
"""@public"""
|
|
57
|
+
HOUR = 'HOUR'
|
|
53
58
|
DAY = 'DAY'
|
|
54
59
|
WEEK = 'WEEK'
|
|
55
60
|
MONTH = 'MONTH'
|
|
@@ -97,6 +102,11 @@ class GraderTypeEnum(str, Enum):
|
|
|
97
102
|
REMOTE = 'REMOTE'
|
|
98
103
|
CUSTOM = 'CUSTOM'
|
|
99
104
|
|
|
105
|
+
class HarmonyStatus(str, Enum):
|
|
106
|
+
"""@public"""
|
|
107
|
+
ONLINE = 'ONLINE'
|
|
108
|
+
OFFLINE = 'OFFLINE'
|
|
109
|
+
|
|
100
110
|
class JobArtifactKind(str, Enum):
|
|
101
111
|
"""@public"""
|
|
102
112
|
EVALUATION = 'EVALUATION'
|
|
@@ -186,11 +196,6 @@ class OpenAIModel(str, Enum):
|
|
|
186
196
|
GPT5_NANO = 'GPT5_NANO'
|
|
187
197
|
GPT41_MINI = 'GPT41_MINI'
|
|
188
198
|
|
|
189
|
-
class PartitionStatus(str, Enum):
|
|
190
|
-
"""@public"""
|
|
191
|
-
ONLINE = 'ONLINE'
|
|
192
|
-
OFFLINE = 'OFFLINE'
|
|
193
|
-
|
|
194
199
|
class PrebuiltCriteriaKey(str, Enum):
|
|
195
200
|
"""@public"""
|
|
196
201
|
FAITHFULNESS = 'FAITHFULNESS'
|
|
@@ -234,6 +239,7 @@ class TimeseriesInterval(str, Enum):
|
|
|
234
239
|
MONTH = 'MONTH'
|
|
235
240
|
QUARTER = 'QUARTER'
|
|
236
241
|
YEAR = 'YEAR'
|
|
242
|
+
MILLENNIUM = 'MILLENNIUM'
|
|
237
243
|
|
|
238
244
|
class TrainingJobStatus(str, Enum):
|
|
239
245
|
"""@public"""
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from typing import Annotated, Any, List, Literal, Optional, Union
|
|
2
2
|
from pydantic import Field
|
|
3
3
|
from .base_model import BaseModel
|
|
4
|
-
from .enums import AbcampaignStatus, CompletionSource, CompletionSourceOutput, DatasetKind, FeedbackType, GraderTypeEnum, JobArtifactKind, JobKind, JobStatus, JobStatusOutput, JudgeCapability, MetricKind, MetricScoringType, ModelKindFilter, ModelOnline,
|
|
4
|
+
from .enums import AbcampaignStatus, CompletionSource, CompletionSourceOutput, DatasetKind, FeedbackType, GraderTypeEnum, HarmonyStatus, JobArtifactKind, JobKind, JobStatus, JobStatusOutput, JudgeCapability, MetricKind, MetricScoringType, ModelKindFilter, ModelOnline, PrebuiltCriteriaKey, ProviderName, RemoteEnvStatus
|
|
5
5
|
|
|
6
6
|
class AbCampaignCreateData(BaseModel):
|
|
7
7
|
"""@public"""
|
|
@@ -330,6 +330,27 @@ class GraderDataMetric(MetricData):
|
|
|
330
330
|
"""@public"""
|
|
331
331
|
pass
|
|
332
332
|
|
|
333
|
+
class HarmonyGroupData(BaseModel):
|
|
334
|
+
"""@public"""
|
|
335
|
+
id: Any
|
|
336
|
+
key: str
|
|
337
|
+
compute_pool: Optional['HarmonyGroupDataComputePool'] = Field(alias='computePool')
|
|
338
|
+
status: HarmonyStatus
|
|
339
|
+
url: str
|
|
340
|
+
world_size: int = Field(alias='worldSize')
|
|
341
|
+
gpu_types: str = Field(alias='gpuTypes')
|
|
342
|
+
created_at: int = Field(alias='createdAt')
|
|
343
|
+
online_models: List['HarmonyGroupDataOnlineModels'] = Field(alias='onlineModels')
|
|
344
|
+
|
|
345
|
+
class HarmonyGroupDataComputePool(BaseModel):
|
|
346
|
+
"""@public"""
|
|
347
|
+
key: str
|
|
348
|
+
name: str
|
|
349
|
+
|
|
350
|
+
class HarmonyGroupDataOnlineModels(ModelData):
|
|
351
|
+
"""@public"""
|
|
352
|
+
pass
|
|
353
|
+
|
|
333
354
|
class JobData(BaseModel):
|
|
334
355
|
"""@public"""
|
|
335
356
|
id: Any
|
|
@@ -566,27 +587,6 @@ class ModelServiceDataModelBackbone(ModelData):
|
|
|
566
587
|
"""@public"""
|
|
567
588
|
pass
|
|
568
589
|
|
|
569
|
-
class PartitionData(BaseModel):
|
|
570
|
-
"""@public"""
|
|
571
|
-
id: Any
|
|
572
|
-
key: str
|
|
573
|
-
compute_pool: Optional['PartitionDataComputePool'] = Field(alias='computePool')
|
|
574
|
-
status: PartitionStatus
|
|
575
|
-
url: str
|
|
576
|
-
world_size: int = Field(alias='worldSize')
|
|
577
|
-
gpu_types: str = Field(alias='gpuTypes')
|
|
578
|
-
created_at: int = Field(alias='createdAt')
|
|
579
|
-
online_models: List['PartitionDataOnlineModels'] = Field(alias='onlineModels')
|
|
580
|
-
|
|
581
|
-
class PartitionDataComputePool(BaseModel):
|
|
582
|
-
"""@public"""
|
|
583
|
-
key: str
|
|
584
|
-
name: str
|
|
585
|
-
|
|
586
|
-
class PartitionDataOnlineModels(ModelData):
|
|
587
|
-
"""@public"""
|
|
588
|
-
pass
|
|
589
|
-
|
|
590
590
|
class RemoteEnvData(BaseModel):
|
|
591
591
|
"""@public"""
|
|
592
592
|
id: Any
|
|
@@ -677,6 +677,7 @@ CustomRecipeData.model_rebuild()
|
|
|
677
677
|
DatasetData.model_rebuild()
|
|
678
678
|
ModelData.model_rebuild()
|
|
679
679
|
GraderData.model_rebuild()
|
|
680
|
+
HarmonyGroupData.model_rebuild()
|
|
680
681
|
JobData.model_rebuild()
|
|
681
682
|
JobStageOutputData.model_rebuild()
|
|
682
683
|
JudgeData.model_rebuild()
|
|
@@ -685,7 +686,6 @@ MetricDataAdmin.model_rebuild()
|
|
|
685
686
|
MetricWithContextData.model_rebuild()
|
|
686
687
|
ModelDataAdmin.model_rebuild()
|
|
687
688
|
ModelServiceData.model_rebuild()
|
|
688
|
-
PartitionData.model_rebuild()
|
|
689
689
|
RemoteEnvData.model_rebuild()
|
|
690
690
|
UseCaseData.model_rebuild()
|
|
691
691
|
UserData.model_rebuild()
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
from typing import Optional
|
|
1
2
|
from pydantic import Field
|
|
2
3
|
from .base_model import BaseModel
|
|
3
4
|
from .fragments import CustomRecipeData
|
|
4
5
|
|
|
5
6
|
class GetCustomRecipe(BaseModel):
|
|
6
7
|
"""@public"""
|
|
7
|
-
custom_recipe: 'GetCustomRecipeCustomRecipe' = Field(alias='customRecipe')
|
|
8
|
+
custom_recipe: Optional['GetCustomRecipeCustomRecipe'] = Field(alias='customRecipe')
|
|
8
9
|
|
|
9
10
|
class GetCustomRecipeCustomRecipe(CustomRecipeData):
|
|
10
11
|
"""@public"""
|
|
@@ -160,6 +160,12 @@ class FeedbackUpdateInput(BaseModel):
|
|
|
160
160
|
value: Optional[Any] = None
|
|
161
161
|
details: Optional[str] = None
|
|
162
162
|
|
|
163
|
+
class GlobalUsageFilterInput(BaseModel):
|
|
164
|
+
"""@private"""
|
|
165
|
+
timerange: Optional['TimeRange'] = None
|
|
166
|
+
interval: DateBucketUnit
|
|
167
|
+
timezone: Optional[str] = None
|
|
168
|
+
|
|
163
169
|
class GoogleProviderDataInput(BaseModel):
|
|
164
170
|
"""@private"""
|
|
165
171
|
api_key: str = Field(alias='apiKey')
|
|
@@ -464,13 +470,14 @@ class UpdateToolProviderInput(BaseModel):
|
|
|
464
470
|
class UsageFilterInput(BaseModel):
|
|
465
471
|
"""@private"""
|
|
466
472
|
model_id: Any = Field(alias='modelId')
|
|
467
|
-
timerange: 'TimeRange'
|
|
473
|
+
timerange: Optional['TimeRange'] = None
|
|
468
474
|
unit: DateBucketUnit
|
|
475
|
+
timezone: Optional[str] = None
|
|
469
476
|
|
|
470
477
|
class UsagePerUseCaseFilterInput(BaseModel):
|
|
471
478
|
"""@private"""
|
|
472
479
|
model_id: Any = Field(alias='modelId')
|
|
473
|
-
timerange: 'TimeRange'
|
|
480
|
+
timerange: Optional['TimeRange'] = None
|
|
474
481
|
|
|
475
482
|
class UseCaseCreate(BaseModel):
|
|
476
483
|
"""@private"""
|
|
@@ -537,6 +544,7 @@ CustomRecipeFilterInput.model_rebuild()
|
|
|
537
544
|
DatasetGenerate.model_rebuild()
|
|
538
545
|
DatasetGenerationConfig.model_rebuild()
|
|
539
546
|
FeedbackFilterInput.model_rebuild()
|
|
547
|
+
GlobalUsageFilterInput.model_rebuild()
|
|
540
548
|
GraderConfigInput.model_rebuild()
|
|
541
549
|
GraderCreateInput.model_rebuild()
|
|
542
550
|
GraderUpdateInput.model_rebuild()
|
|
@@ -2,7 +2,7 @@ from typing import Any, List
|
|
|
2
2
|
from pydantic import Field
|
|
3
3
|
from .base_model import BaseModel
|
|
4
4
|
from .enums import ComputePoolCapability
|
|
5
|
-
from .fragments import
|
|
5
|
+
from .fragments import HarmonyGroupData
|
|
6
6
|
|
|
7
7
|
class ListComputePools(BaseModel):
|
|
8
8
|
"""@public"""
|
|
@@ -15,9 +15,9 @@ class ListComputePoolsComputePools(BaseModel):
|
|
|
15
15
|
name: str
|
|
16
16
|
created_at: int = Field(alias='createdAt')
|
|
17
17
|
capabilities: List[ComputePoolCapability]
|
|
18
|
-
|
|
18
|
+
harmony_groups: List['ListComputePoolsComputePoolsHarmonyGroups'] = Field(alias='harmonyGroups')
|
|
19
19
|
|
|
20
|
-
class
|
|
20
|
+
class ListComputePoolsComputePoolsHarmonyGroups(HarmonyGroupData):
|
|
21
21
|
"""@public"""
|
|
22
22
|
pass
|
|
23
23
|
ListComputePools.model_rebuild()
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from pydantic import Field
|
|
3
|
+
from .base_model import BaseModel
|
|
4
|
+
from .fragments import HarmonyGroupData
|
|
5
|
+
|
|
6
|
+
class ListHarmonyGroups(BaseModel):
|
|
7
|
+
"""@public"""
|
|
8
|
+
harmony_groups: List['ListHarmonyGroupsHarmonyGroups'] = Field(alias='harmonyGroups')
|
|
9
|
+
|
|
10
|
+
class ListHarmonyGroupsHarmonyGroups(HarmonyGroupData):
|
|
11
|
+
"""@public"""
|
|
12
|
+
pass
|
|
13
|
+
ListHarmonyGroups.model_rebuild()
|
adaptive_sdk/resources/jobs.py
CHANGED
|
@@ -26,6 +26,9 @@ class Jobs(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
26
26
|
SyncAPIResource.__init__(self, client)
|
|
27
27
|
UseCaseResource.__init__(self, client)
|
|
28
28
|
|
|
29
|
+
def get(self, job_id: str) -> JobData | None:
|
|
30
|
+
return self._gql_client.describe_job(id=job_id).job
|
|
31
|
+
|
|
29
32
|
def list(
|
|
30
33
|
self,
|
|
31
34
|
first: int | None = 100,
|
|
@@ -52,13 +55,11 @@ class Jobs(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
52
55
|
useCase=use_case,
|
|
53
56
|
kind=[JobKind(k) for k in kind] if kind else None,
|
|
54
57
|
)
|
|
55
|
-
return self._gql_client.list_jobs(
|
|
56
|
-
page=page, filter=validated_filter, order=[]
|
|
57
|
-
).jobs
|
|
58
|
+
return self._gql_client.list_jobs(page=page, filter=validated_filter, order=[]).jobs
|
|
58
59
|
|
|
59
|
-
def
|
|
60
|
+
def run(
|
|
60
61
|
self,
|
|
61
|
-
|
|
62
|
+
recipe_key: str,
|
|
62
63
|
args: dict[str, Any],
|
|
63
64
|
num_gpus: int,
|
|
64
65
|
use_case: str | None = None,
|
|
@@ -66,7 +67,7 @@ class Jobs(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
66
67
|
) -> JobData:
|
|
67
68
|
return self._gql_client.create_job(
|
|
68
69
|
input=JobInput(
|
|
69
|
-
recipe=
|
|
70
|
+
recipe=recipe_key,
|
|
70
71
|
args=args,
|
|
71
72
|
useCase=self.use_case_key(use_case),
|
|
72
73
|
computePool=compute_pool,
|
|
@@ -74,7 +75,7 @@ class Jobs(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
74
75
|
)
|
|
75
76
|
).create_job
|
|
76
77
|
|
|
77
|
-
def
|
|
78
|
+
def cancel(self, job_id: str) -> JobData:
|
|
78
79
|
return self._gql_client.cancel_job(job_id=job_id).cancel_job
|
|
79
80
|
|
|
80
81
|
|
|
@@ -87,6 +88,9 @@ class AsyncJobs(AsyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
87
88
|
AsyncAPIResource.__init__(self, client)
|
|
88
89
|
UseCaseResource.__init__(self, client)
|
|
89
90
|
|
|
91
|
+
async def get(self, job_id: str) -> JobData | None:
|
|
92
|
+
return (await self._gql_client.describe_job(id=job_id)).job
|
|
93
|
+
|
|
90
94
|
async def list(
|
|
91
95
|
self,
|
|
92
96
|
first: int | None = 100,
|
|
@@ -112,13 +116,11 @@ class AsyncJobs(AsyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
112
116
|
useCase=self.use_case_key(use_case),
|
|
113
117
|
kind=[JobKind[k] for k in kind] if kind else None,
|
|
114
118
|
)
|
|
115
|
-
return (
|
|
116
|
-
await self._gql_client.list_jobs(page=page, filter=validated_filter)
|
|
117
|
-
).jobs
|
|
119
|
+
return (await self._gql_client.list_jobs(page=page, filter=validated_filter)).jobs
|
|
118
120
|
|
|
119
|
-
async def
|
|
121
|
+
async def run(
|
|
120
122
|
self,
|
|
121
|
-
|
|
123
|
+
recipe_key: str,
|
|
122
124
|
args: dict[str, Any],
|
|
123
125
|
num_gpus: int,
|
|
124
126
|
use_case: str | None = None,
|
|
@@ -127,7 +129,7 @@ class AsyncJobs(AsyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
127
129
|
return (
|
|
128
130
|
await self._gql_client.create_job(
|
|
129
131
|
input=JobInput(
|
|
130
|
-
recipe=
|
|
132
|
+
recipe=recipe_key,
|
|
131
133
|
args=args,
|
|
132
134
|
useCase=self.use_case_key(use_case),
|
|
133
135
|
computePool=compute_pool,
|
|
@@ -136,5 +138,5 @@ class AsyncJobs(AsyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
136
138
|
)
|
|
137
139
|
).create_job
|
|
138
140
|
|
|
139
|
-
async def
|
|
141
|
+
async def cancel(self, job_id: str) -> JobData:
|
|
140
142
|
return (await self._gql_client.cancel_job(job_id=job_id)).cancel_job
|