truefoundry 0.5.0rc4__py3-none-any.whl → 0.5.0rc5__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.

@@ -49,7 +49,19 @@ class ModelVersionManifest(BaseModel):
49
49
  step: Optional[conint(strict=True, ge=0)] = Field(
50
50
  default=0, description="+label=Step"
51
51
  )
52
- __properties = ["description", "metadata", "type", "source", "framework", "step"]
52
+ model_schema: Optional[Dict[str, Any]] = Field(
53
+ default=None,
54
+ description="+label=Model Schema +usage=Schema of the model +uiType=Hidden",
55
+ )
56
+ __properties = [
57
+ "description",
58
+ "metadata",
59
+ "type",
60
+ "source",
61
+ "framework",
62
+ "step",
63
+ "model_schema",
64
+ ]
53
65
 
54
66
  @validator("type")
55
67
  def type_validate_enum(cls, value):
@@ -114,6 +126,7 @@ class ModelVersionManifest(BaseModel):
114
126
  if obj.get("framework") is not None
115
127
  else None,
116
128
  "step": obj.get("step") if obj.get("step") is not None else 0,
129
+ "model_schema": obj.get("model_schema"),
117
130
  }
118
131
  )
119
132
  return _obj
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: artifacts.json
3
- # timestamp: 2024-11-15T09:16:35+00:00
3
+ # timestamp: 2024-11-22T19:31:48+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -534,6 +534,10 @@ class ModelVersion(BaseArtifactVersion):
534
534
  None, description="+label=Framework\n+usage=Framework for the model version"
535
535
  )
536
536
  step: conint(ge=0) = Field(0, description="+label=Step")
537
+ model_schema: Optional[Dict[str, Any]] = Field(
538
+ None,
539
+ description="+label=Model Schema\n+usage=Schema of the model\n+uiType=Hidden",
540
+ )
537
541
 
538
542
 
539
543
  class AgentApp(BaseModel):
@@ -96,6 +96,7 @@ class ModelVersion:
96
96
  self._deleted = False
97
97
  self._description: str = ""
98
98
  self._metadata: Dict[str, Any] = {}
99
+ self._model_schema: Optional[Dict[str, Any]] = None
99
100
  self._framework: Optional[ModelFrameworkType] = None
100
101
  self._set_mutable_attrs()
101
102
 
@@ -138,6 +139,9 @@ class ModelVersion:
138
139
  if self._model_version.manifest:
139
140
  self._description = self._model_version.manifest.description or ""
140
141
  self._metadata = copy.deepcopy(self._model_version.manifest.metadata)
142
+ self._model_schema = copy.deepcopy(
143
+ self._model_version.manifest.model_schema
144
+ )
141
145
  if self._model_version.manifest.framework:
142
146
  self._framework = copy.deepcopy(
143
147
  self._model_version.manifest.framework.actual_instance
@@ -150,6 +154,7 @@ class ModelVersion:
150
154
  self._framework = _ModelFramework.to_model_framework_type(
151
155
  self._model_version.model_framework
152
156
  )
157
+ self._model_schema = None
153
158
 
154
159
  def _refetch_model_version(self, reset_mutable_attrs: bool = True):
155
160
  _model_version = self._mlfoundry_artifacts_api.get_model_version_get(
@@ -219,6 +224,23 @@ class ModelVersion:
219
224
  _validate_artifact_metadata(value)
220
225
  self._metadata = copy.deepcopy(value)
221
226
 
227
+ @property
228
+ def model_schema(self) -> Optional[Dict[str, Any]]:
229
+ """Get model_schema for the current model"""
230
+ return self._model_schema
231
+
232
+ @model_schema.setter
233
+ def model_schema(self, value: Optional[Dict[str, Any]]):
234
+ """set the model_schema for current model"""
235
+ if not self._model_version.manifest:
236
+ warnings.warn(
237
+ message="This model version was created using an older serialization format. model_schema will not be updated",
238
+ category=DeprecationWarning,
239
+ stacklevel=2,
240
+ )
241
+ return
242
+ self._model_schema = copy.deepcopy(value)
243
+
222
244
  @property
223
245
  def framework(self) -> Optional["ModelFrameworkType"]:
224
246
  """Get the framework of the model"""
@@ -416,6 +438,7 @@ class ModelVersion:
416
438
  if self._model_version.manifest:
417
439
  self._model_version.manifest.description = self.description
418
440
  self._model_version.manifest.metadata = self.metadata
441
+ self._model_version.manifest.model_schema = self.model_schema
419
442
  self._model_version.manifest.framework = (
420
443
  Framework.from_dict(self.framework.dict()) if self.framework else None
421
444
  )
@@ -449,6 +472,7 @@ def _log_model_version( # noqa: C901
449
472
  step: Optional[int] = 0,
450
473
  progress: Optional[bool] = None,
451
474
  framework: Optional[Union[str, ModelFramework, "ModelFrameworkType"]] = None,
475
+ model_schema: Optional[Dict[str, Any]] = None,
452
476
  ) -> ModelVersion:
453
477
  if (run and mlfoundry_artifacts_api) or (not run and not mlfoundry_artifacts_api):
454
478
  raise MlFoundryException(
@@ -562,6 +586,7 @@ def _log_model_version( # noqa: C901
562
586
  source=_source_cls.from_dict(source.dict()),
563
587
  framework=Framework.from_dict(_framework.dict()) if _framework else None,
564
588
  step=step,
589
+ model_schema=model_schema,
565
590
  )
566
591
  artifact_version_response = mlfoundry_artifacts_api.finalize_artifact_version_post(
567
592
  finalize_artifact_version_request_dto=FinalizeArtifactVersionRequestDto(
@@ -1232,6 +1232,7 @@ class MlFoundry:
1232
1232
  metadata: Optional[Dict[str, Any]] = None,
1233
1233
  progress: Optional[bool] = None,
1234
1234
  framework: Optional[Union[str, ModelFramework, "ModelFrameworkType"]] = None,
1235
+ model_schema: Optional[Dict[str, Any]] = None,
1235
1236
  ) -> ModelVersion:
1236
1237
  """
1237
1238
  Serialize and log a versioned model under the current ml_repo. Each logged model generates a new version
@@ -1391,6 +1392,7 @@ class MlFoundry:
1391
1392
  step=None,
1392
1393
  progress=progress,
1393
1394
  framework=framework,
1395
+ model_schema=model_schema,
1394
1396
  )
1395
1397
  logger.info(f"Logged model successfully with fqn {model_version.fqn!r}")
1396
1398
  return model_version
@@ -936,6 +936,7 @@ class MlFoundryRun:
936
936
  step: int = 0,
937
937
  progress: Optional[bool] = None,
938
938
  framework: Optional[Union[str, ModelFramework, "ModelFrameworkType"]] = None,
939
+ model_schema: Optional[Dict[str, Any]] = None,
939
940
  ) -> ModelVersion:
940
941
  # TODO (chiragjn): Document mapping of framework to list of valid model save kwargs
941
942
  # TODO (chiragjn): Add more examples
@@ -1088,6 +1089,7 @@ class MlFoundryRun:
1088
1089
  step=step,
1089
1090
  progress=progress,
1090
1091
  framework=framework,
1092
+ model_schema=model_schema,
1091
1093
  )
1092
1094
  logger.info(f"Logged model successfully with fqn {model_version.fqn!r}")
1093
1095
  return model_version
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: truefoundry
3
- Version: 0.5.0rc4
3
+ Version: 0.5.0rc5
4
4
  Summary: Truefoundry CLI
5
5
  Author: Abhishek Choudhary
6
6
  Author-email: abhishek@truefoundry.com
@@ -262,7 +262,7 @@ truefoundry/ml/autogen/client/models/model_dto.py,sha256=TUO74MDqe8XCVJBB2O7Tiqi
262
262
  truefoundry/ml/autogen/client/models/model_response_dto.py,sha256=osrTxfygkuhxWj6SkRBALrSnFVPH4LSK6qTufTeZuJg,2163
263
263
  truefoundry/ml/autogen/client/models/model_schema_dto.py,sha256=ElEPK7fwuf3eiohNBBHJyl-nhNqzGnDLzZVzuQl-xC0,2620
264
264
  truefoundry/ml/autogen/client/models/model_version_dto.py,sha256=6kI1Z2czYAieJZBaVvcV8Y2eeNEUDyjPuTLHTdyWnOE,7282
265
- truefoundry/ml/autogen/client/models/model_version_manifest.py,sha256=uglhFSCDbcp9beh-zKJ8eLxsmfwnMkS1si8_GnWTPI8,3961
265
+ truefoundry/ml/autogen/client/models/model_version_manifest.py,sha256=jPE3JYVvv8Wmqc4-w4Ff10HlqqxXaK9EQVkIgN7h9j4,4262
266
266
  truefoundry/ml/autogen/client/models/model_version_response_dto.py,sha256=D6XOCyggxqTkbePuypqYSHYh1PYeDv7R_J32q61sDM0,2320
267
267
  truefoundry/ml/autogen/client/models/multi_part_upload_dto.py,sha256=Ckq405vud8RQmMyKCJQJBlW5iXO7Y2mlgo8eVkiMvxg,3738
268
268
  truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py,sha256=VjH0kvl7rMjgDHjYGHnsh7KsZ5-qn-k3ksdGLJ49nIM,2431
@@ -319,7 +319,7 @@ truefoundry/ml/autogen/client/models/validation_error_loc_inner.py,sha256=nThJ5G
319
319
  truefoundry/ml/autogen/client/models/xg_boost_framework.py,sha256=kXijWcmEd5mc6Rks0mYQLqgYp1v7bxp31HQAmaJLZ3s,2182
320
320
  truefoundry/ml/autogen/client/rest.py,sha256=9goba8qHjQuVx5O_yRaTKu7PvBnb7r7swfy3dwuTEgk,14281
321
321
  truefoundry/ml/autogen/client_README.md,sha256=nIyCT1OXBMLV_cadu0OIqQCtXmGm3frJnO0gbJ_7b9Q,35790
322
- truefoundry/ml/autogen/entities/artifacts.py,sha256=KQvJEVqlQGtq3AKRZ4xhwZC05XtC1JDcuh8_CB1tZ78,17167
322
+ truefoundry/ml/autogen/entities/artifacts.py,sha256=EbGDmD0npfa5BSHau67Y8-dSk6qPJJlJX3I3N4kqAgA,17326
323
323
  truefoundry/ml/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
324
324
  truefoundry/ml/cli/cli.py,sha256=ckBcjUpqfhgrPE1okqT_G2iouOLt-0KjpLhHp2YdVFU,256
325
325
  truefoundry/ml/cli/commands/__init__.py,sha256=diDUiRUX4l6TtNLI4iF-ZblczkELM7FRViJ-8gGNJQY,82
@@ -339,7 +339,7 @@ truefoundry/ml/log_types/artifacts/artifact.py,sha256=6X4lO23DwM7yTgUOY4RRoYMrf9
339
339
  truefoundry/ml/log_types/artifacts/constants.py,sha256=qKxQ5mMvJE4j83BvGW3qNTKunxCiBg_EEjTdgbgJtyE,1036
340
340
  truefoundry/ml/log_types/artifacts/dataset.py,sha256=a4dxd2EN8p7Ci-cLGGiDOboN3t0395_XhWE1dmTw1Q4,13112
341
341
  truefoundry/ml/log_types/artifacts/general_artifact.py,sha256=B4XErLr-m6RmQWtxMTu3wlFRFcqSwPYp6J0OL4Ng6L0,3179
342
- truefoundry/ml/log_types/artifacts/model.py,sha256=giK2NyEDFTscSSA9M_paraFvI83hUt_xOouUo8aC8gs,21477
342
+ truefoundry/ml/log_types/artifacts/model.py,sha256=PZgqRO8NImvU7yfdjldqJ4Z3ow47GMnSL0A1DeE2DYk,22511
343
343
  truefoundry/ml/log_types/artifacts/model_extras.py,sha256=TIE73bLKfwIVzNiVcjmaZ841A70BHBwu4XAM6ZAQRFI,1045
344
344
  truefoundry/ml/log_types/artifacts/utils.py,sha256=3FVOYlfcvZiW8vTbMe7Ft1cjNPR2GW7J69M3dyAY-qc,6299
345
345
  truefoundry/ml/log_types/image/__init__.py,sha256=fcOq8yQnNj1rkLcPeIjLXBpdA1WIeiPsXOlAAvMxx7M,76
@@ -351,8 +351,8 @@ truefoundry/ml/log_types/plot.py,sha256=HuYvvRA5r8V0xAIuuqMME2IHb9d3SfGHUiuEkOP3
351
351
  truefoundry/ml/log_types/pydantic_base.py,sha256=eBlw_AEyAz4iJKDP4zgJOCFWcldwQqpf7FADW1jzIQY,272
352
352
  truefoundry/ml/log_types/utils.py,sha256=xjJ21jdPScvFmw3TbVh5NCzbzJwaqiXJyiiT4xxX1EI,335
353
353
  truefoundry/ml/logger.py,sha256=VT-BF3BnBYTWVq87O58F0c8uXMu94gYzsiFlGY3_7Ao,458
354
- truefoundry/ml/mlfoundry_api.py,sha256=29orLTRTH_w6A_GbTadKHMSIxcN3Ae82qYWP1ogxtk8,62017
355
- truefoundry/ml/mlfoundry_run.py,sha256=Cj-4PWbuDyleKOHuJKM25Y2Xik6b04hK3R5RTXlf34o,46188
354
+ truefoundry/ml/mlfoundry_api.py,sha256=_LAXCBu1A-xg8fD3qzjQv9YlghEbSgYe6rQB0YgvXGQ,62111
355
+ truefoundry/ml/mlfoundry_run.py,sha256=jLeDz9raUPKjXGH4PPAFel3Zg030iUWB_QP7FeW0DE0,46282
356
356
  truefoundry/ml/model_framework.py,sha256=TosB73eEpTRlsh6v1AY_LnnW_4OoaSlzENnBXqkVRl4,4778
357
357
  truefoundry/ml/run_utils.py,sha256=0W208wSLUrbdfk2pjNcZlkUi9bNxG2JORqoe-5rVqHI,2423
358
358
  truefoundry/ml/session.py,sha256=F83GTC5WwGBjnJ69Ct8MqMnlutYc56JCc6YhEY1Wl-A,5394
@@ -374,7 +374,7 @@ truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py,sha256=5mBCIc-ON
374
374
  truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py,sha256=Hf6Dk6Fu6P7DqsK5ULgraf9DStjgigf-kjaRAMBW-RU,8680
375
375
  truefoundry/workflow/task.py,sha256=ToitYiKcNzFCtOVQwz1W8sRjbR97eVS7vQBdbgUQtKg,1779
376
376
  truefoundry/workflow/workflow.py,sha256=WaTqUjhwfAXDWu4E5ehuwAxrCbDJkoAf1oWmR2E9Qy0,4575
377
- truefoundry-0.5.0rc4.dist-info/METADATA,sha256=keTSBb2h2m_q1CiniPQt75UTizz5a2ZyEZzLQSlOkH8,3102
378
- truefoundry-0.5.0rc4.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
379
- truefoundry-0.5.0rc4.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
380
- truefoundry-0.5.0rc4.dist-info/RECORD,,
377
+ truefoundry-0.5.0rc5.dist-info/METADATA,sha256=WD9-zZ_Rxg1qbBVQZm_GDVlNvWPzuM2HNC78-Rbg-mk,3102
378
+ truefoundry-0.5.0rc5.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
379
+ truefoundry-0.5.0rc5.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
380
+ truefoundry-0.5.0rc5.dist-info/RECORD,,