truefoundry 0.5.5rc1__py3-none-any.whl → 0.5.6__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 (35) hide show
  1. truefoundry/deploy/__init__.py +9 -2
  2. truefoundry/deploy/auto_gen/models.py +177 -57
  3. truefoundry/deploy/cli/commands/__init__.py +0 -1
  4. truefoundry/deploy/lib/clients/servicefoundry_client.py +20 -16
  5. truefoundry/deploy/v2/lib/deploy.py +23 -15
  6. truefoundry/deploy/v2/lib/deploy_workflow.py +9 -4
  7. truefoundry/deploy/v2/lib/deployable_patched_models.py +10 -0
  8. truefoundry/deploy/v2/lib/patched_models.py +9 -1
  9. truefoundry/ml/autogen/client/__init__.py +4 -4
  10. truefoundry/ml/autogen/client/api/experiments_api.py +0 -156
  11. truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +49 -305
  12. truefoundry/ml/autogen/client/models/__init__.py +4 -4
  13. truefoundry/ml/autogen/client/models/agent.py +64 -13
  14. truefoundry/ml/autogen/client/models/agent_open_api_tool.py +63 -17
  15. truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +63 -17
  16. truefoundry/ml/autogen/client/models/agent_with_fqn.py +64 -12
  17. truefoundry/ml/autogen/client/models/artifact_version_manifest.py +39 -4
  18. truefoundry/ml/autogen/client/models/chat_prompt.py +60 -22
  19. truefoundry/ml/autogen/client/models/{external_artifact_source.py → external_blob_storage_source.py} +10 -11
  20. truefoundry/ml/autogen/client/models/model_version_manifest.py +39 -4
  21. truefoundry/ml/autogen/client/models/source.py +22 -22
  22. truefoundry/ml/autogen/client/models/source1.py +22 -22
  23. truefoundry/ml/autogen/client/models/{true_foundry_artifact_source.py → true_foundry_managed_source.py} +12 -11
  24. truefoundry/ml/autogen/client_README.md +2 -3
  25. truefoundry/ml/autogen/entities/artifacts.py +87 -69
  26. truefoundry/ml/log_types/artifacts/artifact.py +26 -18
  27. truefoundry/ml/log_types/artifacts/general_artifact.py +4 -13
  28. truefoundry/ml/log_types/artifacts/model.py +28 -21
  29. truefoundry/ml/mlfoundry_api.py +2 -6
  30. truefoundry/workflow/task.py +1 -1
  31. {truefoundry-0.5.5rc1.dist-info → truefoundry-0.5.6.dist-info}/METADATA +2 -2
  32. {truefoundry-0.5.5rc1.dist-info → truefoundry-0.5.6.dist-info}/RECORD +34 -35
  33. truefoundry/deploy/cli/commands/build_logs_command.py +0 -89
  34. {truefoundry-0.5.5rc1.dist-info → truefoundry-0.5.6.dist-info}/WHEEL +0 -0
  35. {truefoundry-0.5.5rc1.dist-info → truefoundry-0.5.6.dist-info}/entry_points.txt +0 -0
@@ -256,6 +256,10 @@ class JwtAuthCreds(models.JwtAuthCreds, PatchedModelBase):
256
256
  type: Literal["jwt_auth"] = "jwt_auth"
257
257
 
258
258
 
259
+ class TrueFoundryInteractiveLogin(models.TrueFoundryInteractiveLogin, PatchedModelBase):
260
+ type: Literal["truefoundry_oauth"] = "truefoundry_oauth"
261
+
262
+
259
263
  class HealthProbe(models.HealthProbe, PatchedModelBase):
260
264
  pass
261
265
 
@@ -500,10 +504,14 @@ class HuggingfaceArtifactSource(models.HuggingfaceArtifactSource, PatchedModelBa
500
504
  type: Literal["huggingface-hub"] = "huggingface-hub"
501
505
 
502
506
 
503
- class TruefoundryArtifactSource(models.TruefoundryArtifactSource, PatchedModelBase):
507
+ class TrueFoundryArtifactSource(models.TrueFoundryArtifactSource, PatchedModelBase):
504
508
  type: Literal["truefoundry-artifact"] = "truefoundry-artifact"
505
509
 
506
510
 
511
+ # Deprecated alias, kept for backward compatibility
512
+ TruefoundryArtifactSource = TrueFoundryArtifactSource
513
+
514
+
507
515
  class ArtifactsDownload(models.ArtifactsDownload, PatchedModelBase):
508
516
  pass
509
517
 
@@ -175,8 +175,8 @@ from truefoundry.ml.autogen.client.models.experiment_tag_dto import ExperimentTa
175
175
  from truefoundry.ml.autogen.client.models.export_deployment_files_request_dto import (
176
176
  ExportDeploymentFilesRequestDto,
177
177
  )
178
- from truefoundry.ml.autogen.client.models.external_artifact_source import (
179
- ExternalArtifactSource,
178
+ from truefoundry.ml.autogen.client.models.external_blob_storage_source import (
179
+ ExternalBlobStorageSource,
180
180
  )
181
181
  from truefoundry.ml.autogen.client.models.fast_ai_framework import FastAIFramework
182
182
  from truefoundry.ml.autogen.client.models.file_info_dto import FileInfoDto
@@ -403,8 +403,8 @@ from truefoundry.ml.autogen.client.models.trigger_job_run_config_request_dto imp
403
403
  from truefoundry.ml.autogen.client.models.trigger_job_run_config_response_dto import (
404
404
  TriggerJobRunConfigResponseDto,
405
405
  )
406
- from truefoundry.ml.autogen.client.models.true_foundry_artifact_source import (
407
- TrueFoundryArtifactSource,
406
+ from truefoundry.ml.autogen.client.models.true_foundry_managed_source import (
407
+ TrueFoundryManagedSource,
408
408
  )
409
409
  from truefoundry.ml.autogen.client.models.update_artifact_version_request_dto import (
410
410
  UpdateArtifactVersionRequestDto,
@@ -1182,162 +1182,6 @@ class ExperimentsApi:
1182
1182
  _request_auth=_params.get("_request_auth"),
1183
1183
  )
1184
1184
 
1185
- @validate_arguments
1186
- def put_privacy_type_put(
1187
- self, set_experiment_tag_request_dto: SetExperimentTagRequestDto, **kwargs
1188
- ) -> object: # noqa: E501
1189
- """Put Privacy Type # noqa: E501
1190
-
1191
- Set the privacy type of an expermient to Private or Public(publically readable) # noqa: E501
1192
- This method makes a synchronous HTTP request by default. To make an
1193
- asynchronous HTTP request, please pass async_req=True
1194
-
1195
- >>> thread = api.put_privacy_type_put(set_experiment_tag_request_dto, async_req=True)
1196
- >>> result = thread.get()
1197
-
1198
- :param set_experiment_tag_request_dto: (required)
1199
- :type set_experiment_tag_request_dto: SetExperimentTagRequestDto
1200
- :param async_req: Whether to execute the request asynchronously.
1201
- :type async_req: bool, optional
1202
- :param _request_timeout: timeout setting for this request.
1203
- If one number provided, it will be total request
1204
- timeout. It can also be a pair (tuple) of
1205
- (connection, read) timeouts.
1206
- :return: Returns the result object.
1207
- If the method is called asynchronously,
1208
- returns the request thread.
1209
- :rtype: object
1210
- """
1211
- kwargs["_return_http_data_only"] = True
1212
- if "_preload_content" in kwargs:
1213
- message = "Error! Please call the put_privacy_type_put_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1214
- raise ValueError(message)
1215
- return self.put_privacy_type_put_with_http_info(
1216
- set_experiment_tag_request_dto, **kwargs
1217
- ) # noqa: E501
1218
-
1219
- @validate_arguments
1220
- def put_privacy_type_put_with_http_info(
1221
- self, set_experiment_tag_request_dto: SetExperimentTagRequestDto, **kwargs
1222
- ) -> ApiResponse: # noqa: E501
1223
- """Put Privacy Type # noqa: E501
1224
-
1225
- Set the privacy type of an expermient to Private or Public(publically readable) # noqa: E501
1226
- This method makes a synchronous HTTP request by default. To make an
1227
- asynchronous HTTP request, please pass async_req=True
1228
-
1229
- >>> thread = api.put_privacy_type_put_with_http_info(set_experiment_tag_request_dto, async_req=True)
1230
- >>> result = thread.get()
1231
-
1232
- :param set_experiment_tag_request_dto: (required)
1233
- :type set_experiment_tag_request_dto: SetExperimentTagRequestDto
1234
- :param async_req: Whether to execute the request asynchronously.
1235
- :type async_req: bool, optional
1236
- :param _preload_content: if False, the ApiResponse.data will
1237
- be set to none and raw_data will store the
1238
- HTTP response body without reading/decoding.
1239
- Default is True.
1240
- :type _preload_content: bool, optional
1241
- :param _return_http_data_only: response data instead of ApiResponse
1242
- object with status code, headers, etc
1243
- :type _return_http_data_only: bool, optional
1244
- :param _request_timeout: timeout setting for this request. If one
1245
- number provided, it will be total request
1246
- timeout. It can also be a pair (tuple) of
1247
- (connection, read) timeouts.
1248
- :param _request_auth: set to override the auth_settings for an a single
1249
- request; this effectively ignores the authentication
1250
- in the spec for a single request.
1251
- :type _request_auth: dict, optional
1252
- :type _content_type: string, optional: force content-type for the request
1253
- :return: Returns the result object.
1254
- If the method is called asynchronously,
1255
- returns the request thread.
1256
- :rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
1257
- """
1258
-
1259
- _params = locals()
1260
-
1261
- _all_params = ["set_experiment_tag_request_dto"]
1262
- _all_params.extend(
1263
- [
1264
- "async_req",
1265
- "_return_http_data_only",
1266
- "_preload_content",
1267
- "_request_timeout",
1268
- "_request_auth",
1269
- "_content_type",
1270
- "_headers",
1271
- ]
1272
- )
1273
-
1274
- # validate the arguments
1275
- for _key, _val in _params["kwargs"].items():
1276
- if _key not in _all_params:
1277
- raise ApiTypeError(
1278
- "Got an unexpected keyword argument '%s'"
1279
- " to method put_privacy_type_put" % _key
1280
- )
1281
- _params[_key] = _val
1282
- del _params["kwargs"]
1283
-
1284
- _collection_formats = {}
1285
-
1286
- # process the path parameters
1287
- _path_params = {}
1288
-
1289
- # process the query parameters
1290
- _query_params = []
1291
- # process the header parameters
1292
- _header_params = dict(_params.get("_headers", {}))
1293
- # process the form parameters
1294
- _form_params = []
1295
- _files = {}
1296
- # process the body parameter
1297
- _body_params = None
1298
- if _params["set_experiment_tag_request_dto"] is not None:
1299
- _body_params = _params["set_experiment_tag_request_dto"]
1300
-
1301
- # set the HTTP header `Accept`
1302
- _header_params["Accept"] = self.api_client.select_header_accept(
1303
- ["application/json"]
1304
- ) # noqa: E501
1305
-
1306
- # set the HTTP header `Content-Type`
1307
- _content_types_list = _params.get(
1308
- "_content_type",
1309
- self.api_client.select_header_content_type(["application/json"]),
1310
- )
1311
- if _content_types_list:
1312
- _header_params["Content-Type"] = _content_types_list
1313
-
1314
- # authentication setting
1315
- _auth_settings = ["HTTPBearer", "APIKeyCookie"] # noqa: E501
1316
-
1317
- _response_types_map = {
1318
- "200": "object",
1319
- "422": "HTTPValidationError",
1320
- }
1321
-
1322
- return self.api_client.call_api(
1323
- "/api/2.0/mlflow/experiments/privacy-type",
1324
- "PUT",
1325
- _path_params,
1326
- _query_params,
1327
- _header_params,
1328
- body=_body_params,
1329
- post_params=_form_params,
1330
- files=_files,
1331
- response_types_map=_response_types_map,
1332
- auth_settings=_auth_settings,
1333
- async_req=_params.get("async_req"),
1334
- _return_http_data_only=_params.get("_return_http_data_only"), # noqa: E501
1335
- _preload_content=_params.get("_preload_content", True),
1336
- _request_timeout=_params.get("_request_timeout"),
1337
- collection_formats=_collection_formats,
1338
- _request_auth=_params.get("_request_auth"),
1339
- )
1340
-
1341
1185
  @validate_arguments
1342
1186
  def restore_experiment_post(
1343
1187
  self, experiment_id_request_dto: ExperimentIdRequestDto, **kwargs