truefoundry 0.4.4rc9__py3-none-any.whl → 0.4.4rc10__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.

Potentially problematic release.


This version of truefoundry might be problematic. Click here for more details.

Files changed (43) hide show
  1. truefoundry/ml/artifact/truefoundry_artifact_repo.py +433 -415
  2. truefoundry/ml/autogen/client/__init__.py +24 -3
  3. truefoundry/ml/autogen/client/api/experiments_api.py +0 -137
  4. truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +2 -0
  5. truefoundry/ml/autogen/client/models/__init__.py +24 -3
  6. truefoundry/ml/autogen/client/models/artifact_dto.py +9 -0
  7. truefoundry/ml/autogen/client/models/artifact_version_dto.py +26 -0
  8. truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +34 -0
  9. truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +8 -2
  10. truefoundry/ml/autogen/client/models/create_run_request_dto.py +1 -10
  11. truefoundry/ml/autogen/client/models/dataset_dto.py +9 -0
  12. truefoundry/ml/autogen/client/models/experiment_dto.py +14 -3
  13. truefoundry/ml/autogen/client/models/external_model_source.py +79 -0
  14. truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +11 -0
  15. truefoundry/ml/autogen/client/models/framework.py +154 -0
  16. truefoundry/ml/autogen/client/models/library_name.py +35 -0
  17. truefoundry/ml/autogen/client/models/model_dto.py +9 -0
  18. truefoundry/ml/autogen/client/models/model_version_dto.py +26 -0
  19. truefoundry/ml/autogen/client/models/model_version_manifest.py +119 -0
  20. truefoundry/ml/autogen/client/models/run_info_dto.py +10 -1
  21. truefoundry/ml/autogen/client/models/source.py +177 -0
  22. truefoundry/ml/autogen/client/models/subject.py +79 -0
  23. truefoundry/ml/autogen/client/models/subject_type.py +34 -0
  24. truefoundry/ml/autogen/client/models/tensorflow_framework.py +74 -0
  25. truefoundry/ml/autogen/client/models/transformers_framework.py +90 -0
  26. truefoundry/ml/autogen/client/models/truefoundry_model_source.py +79 -0
  27. truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +11 -0
  28. truefoundry/ml/autogen/client/models/upload_model_source.py +74 -0
  29. truefoundry/ml/autogen/client_README.md +12 -2
  30. truefoundry/ml/autogen/entities/artifacts.py +236 -4
  31. truefoundry/ml/log_types/artifacts/artifact.py +10 -6
  32. truefoundry/ml/log_types/artifacts/dataset.py +13 -5
  33. truefoundry/ml/log_types/artifacts/general_artifact.py +3 -1
  34. truefoundry/ml/log_types/artifacts/model.py +18 -30
  35. truefoundry/ml/log_types/artifacts/utils.py +42 -25
  36. truefoundry/ml/log_types/image/image.py +2 -0
  37. truefoundry/ml/log_types/plot.py +2 -0
  38. truefoundry/ml/mlfoundry_api.py +0 -1
  39. {truefoundry-0.4.4rc9.dist-info → truefoundry-0.4.4rc10.dist-info}/METADATA +1 -1
  40. {truefoundry-0.4.4rc9.dist-info → truefoundry-0.4.4rc10.dist-info}/RECORD +42 -31
  41. truefoundry/ml/autogen/client/models/list_seed_experiments_response_dto.py +0 -81
  42. {truefoundry-0.4.4rc9.dist-info → truefoundry-0.4.4rc10.dist-info}/WHEEL +0 -0
  43. {truefoundry-0.4.4rc9.dist-info → truefoundry-0.4.4rc10.dist-info}/entry_points.txt +0 -0
@@ -64,6 +64,9 @@ from truefoundry.ml.autogen.client.models.artifact_version_dto import ArtifactVe
64
64
  from truefoundry.ml.autogen.client.models.artifact_version_response_dto import (
65
65
  ArtifactVersionResponseDto,
66
66
  )
67
+ from truefoundry.ml.autogen.client.models.artifact_version_serialization_format import (
68
+ ArtifactVersionSerializationFormat,
69
+ )
67
70
  from truefoundry.ml.autogen.client.models.artifact_version_status import (
68
71
  ArtifactVersionStatus,
69
72
  )
@@ -162,12 +165,16 @@ from truefoundry.ml.autogen.client.models.experiment_response_dto import (
162
165
  ExperimentResponseDto,
163
166
  )
164
167
  from truefoundry.ml.autogen.client.models.experiment_tag_dto import ExperimentTagDto
168
+ from truefoundry.ml.autogen.client.models.external_model_source import (
169
+ ExternalModelSource,
170
+ )
165
171
  from truefoundry.ml.autogen.client.models.feature_dto import FeatureDto
166
172
  from truefoundry.ml.autogen.client.models.feature_value_type import FeatureValueType
167
173
  from truefoundry.ml.autogen.client.models.file_info_dto import FileInfoDto
168
174
  from truefoundry.ml.autogen.client.models.finalize_artifact_version_request_dto import (
169
175
  FinalizeArtifactVersionRequestDto,
170
176
  )
177
+ from truefoundry.ml.autogen.client.models.framework import Framework
171
178
  from truefoundry.ml.autogen.client.models.get_experiment_response_dto import (
172
179
  GetExperimentResponseDto,
173
180
  )
@@ -211,6 +218,7 @@ from truefoundry.ml.autogen.client.models.image_content_part import ImageContent
211
218
  from truefoundry.ml.autogen.client.models.image_url import ImageUrl
212
219
  from truefoundry.ml.autogen.client.models.internal_metadata import InternalMetadata
213
220
  from truefoundry.ml.autogen.client.models.latest_run_log_dto import LatestRunLogDto
221
+ from truefoundry.ml.autogen.client.models.library_name import LibraryName
214
222
  from truefoundry.ml.autogen.client.models.list_artifact_versions_request_dto import (
215
223
  ListArtifactVersionsRequestDto,
216
224
  )
@@ -274,9 +282,6 @@ from truefoundry.ml.autogen.client.models.list_run_artifacts_response_dto import
274
282
  from truefoundry.ml.autogen.client.models.list_run_logs_response_dto import (
275
283
  ListRunLogsResponseDto,
276
284
  )
277
- from truefoundry.ml.autogen.client.models.list_seed_experiments_response_dto import (
278
- ListSeedExperimentsResponseDto,
279
- )
280
285
  from truefoundry.ml.autogen.client.models.log_batch_request_dto import (
281
286
  LogBatchRequestDto,
282
287
  )
@@ -297,6 +302,9 @@ from truefoundry.ml.autogen.client.models.model_dto import ModelDto
297
302
  from truefoundry.ml.autogen.client.models.model_response_dto import ModelResponseDto
298
303
  from truefoundry.ml.autogen.client.models.model_schema_dto import ModelSchemaDto
299
304
  from truefoundry.ml.autogen.client.models.model_version_dto import ModelVersionDto
305
+ from truefoundry.ml.autogen.client.models.model_version_manifest import (
306
+ ModelVersionManifest,
307
+ )
300
308
  from truefoundry.ml.autogen.client.models.model_version_response_dto import (
301
309
  ModelVersionResponseDto,
302
310
  )
@@ -340,13 +348,25 @@ from truefoundry.ml.autogen.client.models.set_experiment_tag_request_dto import
340
348
  )
341
349
  from truefoundry.ml.autogen.client.models.set_tag_request_dto import SetTagRequestDto
342
350
  from truefoundry.ml.autogen.client.models.signed_url_dto import SignedURLDto
351
+ from truefoundry.ml.autogen.client.models.source import Source
343
352
  from truefoundry.ml.autogen.client.models.stop import Stop
344
353
  from truefoundry.ml.autogen.client.models.store_run_logs_request_dto import (
345
354
  StoreRunLogsRequestDto,
346
355
  )
356
+ from truefoundry.ml.autogen.client.models.subject import Subject
357
+ from truefoundry.ml.autogen.client.models.subject_type import SubjectType
347
358
  from truefoundry.ml.autogen.client.models.system_message import SystemMessage
359
+ from truefoundry.ml.autogen.client.models.tensorflow_framework import (
360
+ TensorflowFramework,
361
+ )
348
362
  from truefoundry.ml.autogen.client.models.text import Text
349
363
  from truefoundry.ml.autogen.client.models.text_content_part import TextContentPart
364
+ from truefoundry.ml.autogen.client.models.transformers_framework import (
365
+ TransformersFramework,
366
+ )
367
+ from truefoundry.ml.autogen.client.models.truefoundry_model_source import (
368
+ TruefoundryModelSource,
369
+ )
350
370
  from truefoundry.ml.autogen.client.models.update_artifact_version_request_dto import (
351
371
  UpdateArtifactVersionRequestDto,
352
372
  )
@@ -365,6 +385,7 @@ from truefoundry.ml.autogen.client.models.update_run_request_dto import (
365
385
  from truefoundry.ml.autogen.client.models.update_run_response_dto import (
366
386
  UpdateRunResponseDto,
367
387
  )
388
+ from truefoundry.ml.autogen.client.models.upload_model_source import UploadModelSource
368
389
  from truefoundry.ml.autogen.client.models.url import Url
369
390
  from truefoundry.ml.autogen.client.models.user_message import UserMessage
370
391
  from truefoundry.ml.autogen.client.models.validation_error import ValidationError
@@ -41,9 +41,6 @@ from truefoundry.ml.autogen.client.models.list_colums_response_dto import (
41
41
  from truefoundry.ml.autogen.client.models.list_experiments_response_dto import (
42
42
  ListExperimentsResponseDto,
43
43
  )
44
- from truefoundry.ml.autogen.client.models.list_seed_experiments_response_dto import (
45
- ListSeedExperimentsResponseDto,
46
- )
47
44
  from truefoundry.ml.autogen.client.models.set_experiment_tag_request_dto import (
48
45
  SetExperimentTagRequestDto,
49
46
  )
@@ -1497,140 +1494,6 @@ class ExperimentsApi:
1497
1494
  _request_auth=_params.get("_request_auth"),
1498
1495
  )
1499
1496
 
1500
- @validate_arguments
1501
- def seed_list_experiment_get(self, **kwargs) -> ListSeedExperimentsResponseDto: # noqa: E501
1502
- """Seed List Experiment # noqa: E501
1503
-
1504
- List Seed Experiments # noqa: E501
1505
- This method makes a synchronous HTTP request by default. To make an
1506
- asynchronous HTTP request, please pass async_req=True
1507
-
1508
- >>> thread = api.seed_list_experiment_get(async_req=True)
1509
- >>> result = thread.get()
1510
-
1511
- :param async_req: Whether to execute the request asynchronously.
1512
- :type async_req: bool, optional
1513
- :param _request_timeout: timeout setting for this request.
1514
- If one number provided, it will be total request
1515
- timeout. It can also be a pair (tuple) of
1516
- (connection, read) timeouts.
1517
- :return: Returns the result object.
1518
- If the method is called asynchronously,
1519
- returns the request thread.
1520
- :rtype: ListSeedExperimentsResponseDto
1521
- """
1522
- kwargs["_return_http_data_only"] = True
1523
- if "_preload_content" in kwargs:
1524
- message = "Error! Please call the seed_list_experiment_get_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1525
- raise ValueError(message)
1526
- return self.seed_list_experiment_get_with_http_info(**kwargs) # noqa: E501
1527
-
1528
- @validate_arguments
1529
- def seed_list_experiment_get_with_http_info(self, **kwargs) -> ApiResponse: # noqa: E501
1530
- """Seed List Experiment # noqa: E501
1531
-
1532
- List Seed Experiments # noqa: E501
1533
- This method makes a synchronous HTTP request by default. To make an
1534
- asynchronous HTTP request, please pass async_req=True
1535
-
1536
- >>> thread = api.seed_list_experiment_get_with_http_info(async_req=True)
1537
- >>> result = thread.get()
1538
-
1539
- :param async_req: Whether to execute the request asynchronously.
1540
- :type async_req: bool, optional
1541
- :param _preload_content: if False, the ApiResponse.data will
1542
- be set to none and raw_data will store the
1543
- HTTP response body without reading/decoding.
1544
- Default is True.
1545
- :type _preload_content: bool, optional
1546
- :param _return_http_data_only: response data instead of ApiResponse
1547
- object with status code, headers, etc
1548
- :type _return_http_data_only: bool, optional
1549
- :param _request_timeout: timeout setting for this request. If one
1550
- number provided, it will be total request
1551
- timeout. It can also be a pair (tuple) of
1552
- (connection, read) timeouts.
1553
- :param _request_auth: set to override the auth_settings for an a single
1554
- request; this effectively ignores the authentication
1555
- in the spec for a single request.
1556
- :type _request_auth: dict, optional
1557
- :type _content_type: string, optional: force content-type for the request
1558
- :return: Returns the result object.
1559
- If the method is called asynchronously,
1560
- returns the request thread.
1561
- :rtype: tuple(ListSeedExperimentsResponseDto, status_code(int), headers(HTTPHeaderDict))
1562
- """
1563
-
1564
- _params = locals()
1565
-
1566
- _all_params = []
1567
- _all_params.extend(
1568
- [
1569
- "async_req",
1570
- "_return_http_data_only",
1571
- "_preload_content",
1572
- "_request_timeout",
1573
- "_request_auth",
1574
- "_content_type",
1575
- "_headers",
1576
- ]
1577
- )
1578
-
1579
- # validate the arguments
1580
- for _key, _val in _params["kwargs"].items():
1581
- if _key not in _all_params:
1582
- raise ApiTypeError(
1583
- "Got an unexpected keyword argument '%s'"
1584
- " to method seed_list_experiment_get" % _key
1585
- )
1586
- _params[_key] = _val
1587
- del _params["kwargs"]
1588
-
1589
- _collection_formats = {}
1590
-
1591
- # process the path parameters
1592
- _path_params = {}
1593
-
1594
- # process the query parameters
1595
- _query_params = []
1596
- # process the header parameters
1597
- _header_params = dict(_params.get("_headers", {}))
1598
- # process the form parameters
1599
- _form_params = []
1600
- _files = {}
1601
- # process the body parameter
1602
- _body_params = None
1603
- # set the HTTP header `Accept`
1604
- _header_params["Accept"] = self.api_client.select_header_accept(
1605
- ["application/json"]
1606
- ) # noqa: E501
1607
-
1608
- # authentication setting
1609
- _auth_settings = ["HTTPBearer", "APIKeyCookie"] # noqa: E501
1610
-
1611
- _response_types_map = {
1612
- "200": "ListSeedExperimentsResponseDto",
1613
- }
1614
-
1615
- return self.api_client.call_api(
1616
- "/api/2.0/mlflow/experiments/seed/list",
1617
- "GET",
1618
- _path_params,
1619
- _query_params,
1620
- _header_params,
1621
- body=_body_params,
1622
- post_params=_form_params,
1623
- files=_files,
1624
- response_types_map=_response_types_map,
1625
- auth_settings=_auth_settings,
1626
- async_req=_params.get("async_req"),
1627
- _return_http_data_only=_params.get("_return_http_data_only"), # noqa: E501
1628
- _preload_content=_params.get("_preload_content", True),
1629
- _request_timeout=_params.get("_request_timeout"),
1630
- collection_formats=_collection_formats,
1631
- _request_auth=_params.get("_request_auth"),
1632
- )
1633
-
1634
1497
  @validate_arguments
1635
1498
  def set_experiment_tag_post(
1636
1499
  self, set_experiment_tag_request_dto: SetExperimentTagRequestDto, **kwargs
@@ -1016,6 +1016,7 @@ class MlfoundryArtifactsApi:
1016
1016
  ) -> CreateArtifactVersionResponseDto: # noqa: E501
1017
1017
  """Create Artifact Version # noqa: E501
1018
1018
 
1019
+ Create artifact version API # noqa: E501
1019
1020
  This method makes a synchronous HTTP request by default. To make an
1020
1021
  asynchronous HTTP request, please pass async_req=True
1021
1022
 
@@ -1060,6 +1061,7 @@ class MlfoundryArtifactsApi:
1060
1061
  ) -> ApiResponse: # noqa: E501
1061
1062
  """Create Artifact Version # noqa: E501
1062
1063
 
1064
+ Create artifact version API # noqa: E501
1063
1065
  This method makes a synchronous HTTP request by default. To make an
1064
1066
  asynchronous HTTP request, please pass async_req=True
1065
1067
 
@@ -35,6 +35,9 @@ from truefoundry.ml.autogen.client.models.artifact_version_dto import ArtifactVe
35
35
  from truefoundry.ml.autogen.client.models.artifact_version_response_dto import (
36
36
  ArtifactVersionResponseDto,
37
37
  )
38
+ from truefoundry.ml.autogen.client.models.artifact_version_serialization_format import (
39
+ ArtifactVersionSerializationFormat,
40
+ )
38
41
  from truefoundry.ml.autogen.client.models.artifact_version_status import (
39
42
  ArtifactVersionStatus,
40
43
  )
@@ -133,12 +136,16 @@ from truefoundry.ml.autogen.client.models.experiment_response_dto import (
133
136
  ExperimentResponseDto,
134
137
  )
135
138
  from truefoundry.ml.autogen.client.models.experiment_tag_dto import ExperimentTagDto
139
+ from truefoundry.ml.autogen.client.models.external_model_source import (
140
+ ExternalModelSource,
141
+ )
136
142
  from truefoundry.ml.autogen.client.models.feature_dto import FeatureDto
137
143
  from truefoundry.ml.autogen.client.models.feature_value_type import FeatureValueType
138
144
  from truefoundry.ml.autogen.client.models.file_info_dto import FileInfoDto
139
145
  from truefoundry.ml.autogen.client.models.finalize_artifact_version_request_dto import (
140
146
  FinalizeArtifactVersionRequestDto,
141
147
  )
148
+ from truefoundry.ml.autogen.client.models.framework import Framework
142
149
  from truefoundry.ml.autogen.client.models.get_experiment_response_dto import (
143
150
  GetExperimentResponseDto,
144
151
  )
@@ -182,6 +189,7 @@ from truefoundry.ml.autogen.client.models.image_content_part import ImageContent
182
189
  from truefoundry.ml.autogen.client.models.image_url import ImageUrl
183
190
  from truefoundry.ml.autogen.client.models.internal_metadata import InternalMetadata
184
191
  from truefoundry.ml.autogen.client.models.latest_run_log_dto import LatestRunLogDto
192
+ from truefoundry.ml.autogen.client.models.library_name import LibraryName
185
193
  from truefoundry.ml.autogen.client.models.list_artifact_versions_request_dto import (
186
194
  ListArtifactVersionsRequestDto,
187
195
  )
@@ -245,9 +253,6 @@ from truefoundry.ml.autogen.client.models.list_run_artifacts_response_dto import
245
253
  from truefoundry.ml.autogen.client.models.list_run_logs_response_dto import (
246
254
  ListRunLogsResponseDto,
247
255
  )
248
- from truefoundry.ml.autogen.client.models.list_seed_experiments_response_dto import (
249
- ListSeedExperimentsResponseDto,
250
- )
251
256
  from truefoundry.ml.autogen.client.models.log_batch_request_dto import (
252
257
  LogBatchRequestDto,
253
258
  )
@@ -268,6 +273,9 @@ from truefoundry.ml.autogen.client.models.model_dto import ModelDto
268
273
  from truefoundry.ml.autogen.client.models.model_response_dto import ModelResponseDto
269
274
  from truefoundry.ml.autogen.client.models.model_schema_dto import ModelSchemaDto
270
275
  from truefoundry.ml.autogen.client.models.model_version_dto import ModelVersionDto
276
+ from truefoundry.ml.autogen.client.models.model_version_manifest import (
277
+ ModelVersionManifest,
278
+ )
271
279
  from truefoundry.ml.autogen.client.models.model_version_response_dto import (
272
280
  ModelVersionResponseDto,
273
281
  )
@@ -311,13 +319,25 @@ from truefoundry.ml.autogen.client.models.set_experiment_tag_request_dto import
311
319
  )
312
320
  from truefoundry.ml.autogen.client.models.set_tag_request_dto import SetTagRequestDto
313
321
  from truefoundry.ml.autogen.client.models.signed_url_dto import SignedURLDto
322
+ from truefoundry.ml.autogen.client.models.source import Source
314
323
  from truefoundry.ml.autogen.client.models.stop import Stop
315
324
  from truefoundry.ml.autogen.client.models.store_run_logs_request_dto import (
316
325
  StoreRunLogsRequestDto,
317
326
  )
327
+ from truefoundry.ml.autogen.client.models.subject import Subject
328
+ from truefoundry.ml.autogen.client.models.subject_type import SubjectType
318
329
  from truefoundry.ml.autogen.client.models.system_message import SystemMessage
330
+ from truefoundry.ml.autogen.client.models.tensorflow_framework import (
331
+ TensorflowFramework,
332
+ )
319
333
  from truefoundry.ml.autogen.client.models.text import Text
320
334
  from truefoundry.ml.autogen.client.models.text_content_part import TextContentPart
335
+ from truefoundry.ml.autogen.client.models.transformers_framework import (
336
+ TransformersFramework,
337
+ )
338
+ from truefoundry.ml.autogen.client.models.truefoundry_model_source import (
339
+ TruefoundryModelSource,
340
+ )
321
341
  from truefoundry.ml.autogen.client.models.update_artifact_version_request_dto import (
322
342
  UpdateArtifactVersionRequestDto,
323
343
  )
@@ -336,6 +356,7 @@ from truefoundry.ml.autogen.client.models.update_run_request_dto import (
336
356
  from truefoundry.ml.autogen.client.models.update_run_response_dto import (
337
357
  UpdateRunResponseDto,
338
358
  )
359
+ from truefoundry.ml.autogen.client.models.upload_model_source import UploadModelSource
339
360
  from truefoundry.ml.autogen.client.models.url import Url
340
361
  from truefoundry.ml.autogen.client.models.user_message import UserMessage
341
362
  from truefoundry.ml.autogen.client.models.validation_error import ValidationError
@@ -21,6 +21,7 @@ from typing import Optional
21
21
 
22
22
  from truefoundry.ml.autogen.client.models.artifact_type import ArtifactType
23
23
  from truefoundry.ml.autogen.client.models.artifact_version_dto import ArtifactVersionDto
24
+ from truefoundry.ml.autogen.client.models.subject import Subject
24
25
  from truefoundry.pydantic_v1 import BaseModel, Field, StrictInt, StrictStr, conlist
25
26
 
26
27
 
@@ -36,6 +37,7 @@ class ArtifactDto(BaseModel):
36
37
  fqn: StrictStr = Field(...)
37
38
  description: Optional[StrictStr] = None
38
39
  created_by: Optional[StrictStr] = None
40
+ created_by_subject: Subject = Field(...)
39
41
  created_at: Optional[datetime] = None
40
42
  updated_at: Optional[datetime] = None
41
43
  artifact_storage_root: Optional[StrictStr] = None
@@ -49,6 +51,7 @@ class ArtifactDto(BaseModel):
49
51
  "fqn",
50
52
  "description",
51
53
  "created_by",
54
+ "created_by_subject",
52
55
  "created_at",
53
56
  "updated_at",
54
57
  "artifact_storage_root",
@@ -78,6 +81,9 @@ class ArtifactDto(BaseModel):
78
81
  def to_dict(self):
79
82
  """Returns the dictionary representation of the model using alias"""
80
83
  _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
84
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of created_by_subject
85
+ if self.created_by_subject:
86
+ _dict["created_by_subject"] = self.created_by_subject.to_dict()
81
87
  # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of latest_version
82
88
  if self.latest_version:
83
89
  _dict["latest_version"] = self.latest_version.to_dict()
@@ -101,6 +107,9 @@ class ArtifactDto(BaseModel):
101
107
  "fqn": obj.get("fqn"),
102
108
  "description": obj.get("description"),
103
109
  "created_by": obj.get("created_by"),
110
+ "created_by_subject": Subject.from_dict(obj.get("created_by_subject"))
111
+ if obj.get("created_by_subject") is not None
112
+ else None,
104
113
  "created_at": obj.get("created_at"),
105
114
  "updated_at": obj.get("updated_at"),
106
115
  "artifact_storage_root": obj.get("artifact_storage_root"),
@@ -19,10 +19,17 @@ import re # noqa: F401
19
19
  from datetime import datetime
20
20
  from typing import Any, Dict, Optional
21
21
 
22
+ from truefoundry.ml.autogen.client.models.artifact_version_serialization_format import (
23
+ ArtifactVersionSerializationFormat,
24
+ )
22
25
  from truefoundry.ml.autogen.client.models.artifact_version_status import (
23
26
  ArtifactVersionStatus,
24
27
  )
25
28
  from truefoundry.ml.autogen.client.models.internal_metadata import InternalMetadata
29
+ from truefoundry.ml.autogen.client.models.model_version_manifest import (
30
+ ModelVersionManifest,
31
+ )
32
+ from truefoundry.ml.autogen.client.models.subject import Subject
26
33
  from truefoundry.pydantic_v1 import BaseModel, Field, StrictInt, StrictStr
27
34
 
28
35
 
@@ -42,6 +49,7 @@ class ArtifactVersionDto(BaseModel):
42
49
  status: Optional[ArtifactVersionStatus] = None
43
50
  step: Optional[StrictInt] = 0
44
51
  created_by: Optional[StrictStr] = None
52
+ created_by_subject: Subject = Field(...)
45
53
  created_at: Optional[datetime] = None
46
54
  updated_at: Optional[datetime] = None
47
55
  artifact_fqn: Optional[StrictStr] = None
@@ -51,6 +59,8 @@ class ArtifactVersionDto(BaseModel):
51
59
  artifact_name: Optional[StrictStr] = None
52
60
  internal_metadata: Optional[InternalMetadata] = None
53
61
  artifact_size: Optional[StrictInt] = None
62
+ manifest: Optional[ModelVersionManifest] = None
63
+ serialization_format: ArtifactVersionSerializationFormat = Field(...)
54
64
  __properties = [
55
65
  "id",
56
66
  "artifact_id",
@@ -63,6 +73,7 @@ class ArtifactVersionDto(BaseModel):
63
73
  "status",
64
74
  "step",
65
75
  "created_by",
76
+ "created_by_subject",
66
77
  "created_at",
67
78
  "updated_at",
68
79
  "artifact_fqn",
@@ -72,6 +83,8 @@ class ArtifactVersionDto(BaseModel):
72
83
  "artifact_name",
73
84
  "internal_metadata",
74
85
  "artifact_size",
86
+ "manifest",
87
+ "serialization_format",
75
88
  ]
76
89
 
77
90
  class Config:
@@ -96,9 +109,15 @@ class ArtifactVersionDto(BaseModel):
96
109
  def to_dict(self):
97
110
  """Returns the dictionary representation of the model using alias"""
98
111
  _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
112
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of created_by_subject
113
+ if self.created_by_subject:
114
+ _dict["created_by_subject"] = self.created_by_subject.to_dict()
99
115
  # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of internal_metadata
100
116
  if self.internal_metadata:
101
117
  _dict["internal_metadata"] = self.internal_metadata.to_dict()
118
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of manifest
119
+ if self.manifest:
120
+ _dict["manifest"] = self.manifest.to_dict()
102
121
  return _dict
103
122
 
104
123
  @classmethod
@@ -123,6 +142,9 @@ class ArtifactVersionDto(BaseModel):
123
142
  "status": obj.get("status"),
124
143
  "step": obj.get("step") if obj.get("step") is not None else 0,
125
144
  "created_by": obj.get("created_by"),
145
+ "created_by_subject": Subject.from_dict(obj.get("created_by_subject"))
146
+ if obj.get("created_by_subject") is not None
147
+ else None,
126
148
  "created_at": obj.get("created_at"),
127
149
  "updated_at": obj.get("updated_at"),
128
150
  "artifact_fqn": obj.get("artifact_fqn"),
@@ -136,6 +158,10 @@ class ArtifactVersionDto(BaseModel):
136
158
  if obj.get("internal_metadata") is not None
137
159
  else None,
138
160
  "artifact_size": obj.get("artifact_size"),
161
+ "manifest": ModelVersionManifest.from_dict(obj.get("manifest"))
162
+ if obj.get("manifest") is not None
163
+ else None,
164
+ "serialization_format": obj.get("serialization_format"),
139
165
  }
140
166
  )
141
167
  return _obj
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ FastAPI
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import json
15
+ import re # noqa: F401
16
+
17
+ from aenum import Enum
18
+
19
+
20
+ class ArtifactVersionSerializationFormat(str, Enum):
21
+ """
22
+ An enumeration.
23
+ """
24
+
25
+ """
26
+ allowed enum values
27
+ """
28
+ V1 = "V1"
29
+ V2 = "V2"
30
+
31
+ @classmethod
32
+ def from_json(cls, json_str: str) -> ArtifactVersionSerializationFormat:
33
+ """Create an instance of ArtifactVersionSerializationFormat from a JSON string"""
34
+ return ArtifactVersionSerializationFormat(json.loads(json_str))
@@ -26,7 +26,8 @@ class CreateArtifactVersionResponseDto(BaseModel):
26
26
  """
27
27
 
28
28
  id: StrictStr = Field(...)
29
- __properties = ["id"]
29
+ artifact_storage_root: StrictStr = Field(...)
30
+ __properties = ["id", "artifact_storage_root"]
30
31
 
31
32
  class Config:
32
33
  """Pydantic configuration"""
@@ -61,5 +62,10 @@ class CreateArtifactVersionResponseDto(BaseModel):
61
62
  if not isinstance(obj, dict):
62
63
  return CreateArtifactVersionResponseDto.parse_obj(obj)
63
64
 
64
- _obj = CreateArtifactVersionResponseDto.parse_obj({"id": obj.get("id")})
65
+ _obj = CreateArtifactVersionResponseDto.parse_obj(
66
+ {
67
+ "id": obj.get("id"),
68
+ "artifact_storage_root": obj.get("artifact_storage_root"),
69
+ }
70
+ )
65
71
  return _obj
@@ -29,18 +29,10 @@ class CreateRunRequestDto(BaseModel):
29
29
 
30
30
  experiment_id: StrictStr = Field(...)
31
31
  name: StrictStr = Field(...)
32
- user_id: Optional[StrictStr] = None
33
32
  start_time: Optional[StrictInt] = None
34
33
  tags: Optional[conlist(RunTagDto)] = None
35
34
  description: Optional[StrictStr] = None
36
- __properties = [
37
- "experiment_id",
38
- "name",
39
- "user_id",
40
- "start_time",
41
- "tags",
42
- "description",
43
- ]
35
+ __properties = ["experiment_id", "name", "start_time", "tags", "description"]
44
36
 
45
37
  class Config:
46
38
  """Pydantic configuration"""
@@ -86,7 +78,6 @@ class CreateRunRequestDto(BaseModel):
86
78
  {
87
79
  "experiment_id": obj.get("experiment_id"),
88
80
  "name": obj.get("name"),
89
- "user_id": obj.get("user_id"),
90
81
  "start_time": obj.get("start_time"),
91
82
  "tags": [RunTagDto.from_dict(_item) for _item in obj.get("tags")]
92
83
  if obj.get("tags") is not None
@@ -20,6 +20,7 @@ from datetime import datetime
20
20
  from typing import Any, Dict, Optional
21
21
 
22
22
  from truefoundry.ml.autogen.client.models.experiment_dto import ExperimentDto
23
+ from truefoundry.ml.autogen.client.models.subject import Subject
23
24
  from truefoundry.pydantic_v1 import BaseModel, Field, StrictStr
24
25
 
25
26
 
@@ -34,6 +35,7 @@ class DatasetDto(BaseModel):
34
35
  fqn: StrictStr = Field(...)
35
36
  description: Optional[StrictStr] = None
36
37
  created_by: Optional[StrictStr] = None
38
+ created_by_subject: Subject = Field(...)
37
39
  created_at: Optional[datetime] = None
38
40
  updated_at: Optional[datetime] = None
39
41
  storage_root: Optional[StrictStr] = None
@@ -47,6 +49,7 @@ class DatasetDto(BaseModel):
47
49
  "fqn",
48
50
  "description",
49
51
  "created_by",
52
+ "created_by_subject",
50
53
  "created_at",
51
54
  "updated_at",
52
55
  "storage_root",
@@ -77,6 +80,9 @@ class DatasetDto(BaseModel):
77
80
  def to_dict(self):
78
81
  """Returns the dictionary representation of the model using alias"""
79
82
  _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
83
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of created_by_subject
84
+ if self.created_by_subject:
85
+ _dict["created_by_subject"] = self.created_by_subject.to_dict()
80
86
  # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of experiment
81
87
  if self.experiment:
82
88
  _dict["experiment"] = self.experiment.to_dict()
@@ -99,6 +105,9 @@ class DatasetDto(BaseModel):
99
105
  "fqn": obj.get("fqn"),
100
106
  "description": obj.get("description"),
101
107
  "created_by": obj.get("created_by"),
108
+ "created_by_subject": Subject.from_dict(obj.get("created_by_subject"))
109
+ if obj.get("created_by_subject") is not None
110
+ else None,
102
111
  "created_at": obj.get("created_at"),
103
112
  "updated_at": obj.get("updated_at"),
104
113
  "storage_root": obj.get("storage_root"),
@@ -19,6 +19,7 @@ import re # noqa: F401
19
19
  from typing import Any, Dict, Optional
20
20
 
21
21
  from truefoundry.ml.autogen.client.models.experiment_tag_dto import ExperimentTagDto
22
+ from truefoundry.ml.autogen.client.models.subject import Subject
22
23
  from truefoundry.pydantic_v1 import BaseModel, Field, StrictInt, StrictStr, conlist
23
24
 
24
25
 
@@ -33,9 +34,10 @@ class ExperimentDto(BaseModel):
33
34
  artifact_location: Optional[StrictStr] = None
34
35
  lifecycle_stage: Optional[StrictStr] = None
35
36
  tags: Optional[conlist(ExperimentTagDto)] = None
36
- creator_user_id: Optional[StrictStr] = None
37
+ creator_user_id: StrictStr = Field(...)
38
+ created_by_subject: Subject = Field(...)
37
39
  description: Optional[StrictStr] = None
38
- privacy_type: Optional[StrictStr] = None
40
+ privacy_type: Optional[StrictStr] = "PRIVATE"
39
41
  created_at: Optional[StrictInt] = None
40
42
  tenant_name: Optional[StrictStr] = None
41
43
  manifest: Optional[Dict[str, Any]] = None
@@ -51,6 +53,7 @@ class ExperimentDto(BaseModel):
51
53
  "lifecycle_stage",
52
54
  "tags",
53
55
  "creator_user_id",
56
+ "created_by_subject",
54
57
  "description",
55
58
  "privacy_type",
56
59
  "created_at",
@@ -91,6 +94,9 @@ class ExperimentDto(BaseModel):
91
94
  if _item:
92
95
  _items.append(_item.to_dict())
93
96
  _dict["tags"] = _items
97
+ # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of created_by_subject
98
+ if self.created_by_subject:
99
+ _dict["created_by_subject"] = self.created_by_subject.to_dict()
94
100
  return _dict
95
101
 
96
102
  @classmethod
@@ -113,8 +119,13 @@ class ExperimentDto(BaseModel):
113
119
  if obj.get("tags") is not None
114
120
  else None,
115
121
  "creator_user_id": obj.get("creator_user_id"),
122
+ "created_by_subject": Subject.from_dict(obj.get("created_by_subject"))
123
+ if obj.get("created_by_subject") is not None
124
+ else None,
116
125
  "description": obj.get("description"),
117
- "privacy_type": obj.get("privacy_type"),
126
+ "privacy_type": obj.get("privacy_type")
127
+ if obj.get("privacy_type") is not None
128
+ else "PRIVATE",
118
129
  "created_at": obj.get("created_at"),
119
130
  "tenant_name": obj.get("tenant_name"),
120
131
  "manifest": obj.get("manifest"),