truefoundry 0.4.3rc0__py3-none-any.whl → 0.4.4__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 (60) hide show
  1. truefoundry/common/constants.py +36 -2
  2. truefoundry/common/credential_provider.py +4 -2
  3. truefoundry/common/request_utils.py +1 -1
  4. truefoundry/common/servicefoundry_client.py +4 -2
  5. truefoundry/common/tfy_signed_url_client.py +260 -0
  6. truefoundry/common/tfy_signed_url_fs.py +244 -0
  7. truefoundry/common/utils.py +18 -5
  8. truefoundry/deploy/auto_gen/models.py +39 -4
  9. truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +1 -1
  10. truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +2 -4
  11. truefoundry/deploy/lib/clients/servicefoundry_client.py +2 -1
  12. truefoundry/deploy/lib/model/entity.py +0 -4
  13. truefoundry/deploy/python_deploy_codegen.py +79 -7
  14. truefoundry/deploy/v2/lib/deploy_workflow.py +2 -8
  15. truefoundry/ml/artifact/truefoundry_artifact_repo.py +448 -424
  16. truefoundry/ml/autogen/client/__init__.py +24 -3
  17. truefoundry/ml/autogen/client/api/experiments_api.py +0 -137
  18. truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +2 -0
  19. truefoundry/ml/autogen/client/models/__init__.py +24 -3
  20. truefoundry/ml/autogen/client/models/artifact_dto.py +9 -0
  21. truefoundry/ml/autogen/client/models/artifact_version_dto.py +26 -0
  22. truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +34 -0
  23. truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +8 -2
  24. truefoundry/ml/autogen/client/models/create_run_request_dto.py +1 -10
  25. truefoundry/ml/autogen/client/models/dataset_dto.py +9 -0
  26. truefoundry/ml/autogen/client/models/experiment_dto.py +14 -3
  27. truefoundry/ml/autogen/client/models/external_model_source.py +79 -0
  28. truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +11 -0
  29. truefoundry/ml/autogen/client/models/framework.py +154 -0
  30. truefoundry/ml/autogen/client/models/library_name.py +35 -0
  31. truefoundry/ml/autogen/client/models/model_dto.py +9 -0
  32. truefoundry/ml/autogen/client/models/model_version_dto.py +26 -0
  33. truefoundry/ml/autogen/client/models/model_version_manifest.py +119 -0
  34. truefoundry/ml/autogen/client/models/run_info_dto.py +10 -1
  35. truefoundry/ml/autogen/client/models/source.py +177 -0
  36. truefoundry/ml/autogen/client/models/subject.py +79 -0
  37. truefoundry/ml/autogen/client/models/subject_type.py +34 -0
  38. truefoundry/ml/autogen/client/models/tensorflow_framework.py +74 -0
  39. truefoundry/ml/autogen/client/models/transformers_framework.py +90 -0
  40. truefoundry/ml/autogen/client/models/truefoundry_model_source.py +79 -0
  41. truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +11 -0
  42. truefoundry/ml/autogen/client/models/upload_model_source.py +74 -0
  43. truefoundry/ml/autogen/client_README.md +12 -2
  44. truefoundry/ml/autogen/entities/artifacts.py +236 -4
  45. truefoundry/ml/log_types/artifacts/artifact.py +10 -11
  46. truefoundry/ml/log_types/artifacts/dataset.py +13 -10
  47. truefoundry/ml/log_types/artifacts/general_artifact.py +3 -1
  48. truefoundry/ml/log_types/artifacts/model.py +18 -35
  49. truefoundry/ml/log_types/artifacts/utils.py +42 -25
  50. truefoundry/ml/log_types/image/image.py +2 -0
  51. truefoundry/ml/log_types/plot.py +2 -0
  52. truefoundry/ml/mlfoundry_api.py +7 -3
  53. truefoundry/ml/session.py +3 -1
  54. truefoundry/workflow/__init__.py +10 -0
  55. {truefoundry-0.4.3rc0.dist-info → truefoundry-0.4.4.dist-info}/METADATA +2 -2
  56. {truefoundry-0.4.3rc0.dist-info → truefoundry-0.4.4.dist-info}/RECORD +58 -46
  57. truefoundry/ml/autogen/client/models/list_seed_experiments_response_dto.py +0 -81
  58. truefoundry/ml/env_vars.py +0 -9
  59. {truefoundry-0.4.3rc0.dist-info → truefoundry-0.4.4.dist-info}/WHEEL +0 -0
  60. {truefoundry-0.4.3rc0.dist-info → truefoundry-0.4.4.dist-info}/entry_points.txt +0 -0
@@ -2,8 +2,6 @@ import json
2
2
  import logging
3
3
  import os
4
4
  import posixpath
5
- import shutil
6
- import tempfile
7
5
  from pathlib import Path
8
6
  from typing import Any, Dict, Optional, Sequence, Tuple, Union
9
7
 
@@ -13,20 +11,22 @@ from truefoundry.ml.log_types.artifacts.constants import DESCRIPTION_MAX_LENGTH
13
11
  logger = logging.getLogger("truefoundry.ml")
14
12
 
15
13
 
16
- def _copy_tree(src_path, dest_path, symlinks=False, ignore_dangling_symlinks=False):
14
+ def _copy_tree(
15
+ root_dir: str, src_path: str, dest_path: str, dest_to_src: Dict[str, str]
16
+ ):
17
17
  os.makedirs(dest_path, exist_ok=True)
18
18
  for item in os.listdir(src_path):
19
19
  src = os.path.join(src_path, item)
20
20
  dest = os.path.join(dest_path, item)
21
21
  if os.path.isdir(src):
22
22
  _copy_tree(
23
- src,
24
- dest,
25
- symlinks=symlinks,
26
- ignore_dangling_symlinks=ignore_dangling_symlinks,
23
+ root_dir=root_dir,
24
+ src_path=src,
25
+ dest_path=dest,
26
+ dest_to_src=dest_to_src,
27
27
  )
28
28
  else:
29
- shutil.copy2(src, dest, follow_symlinks=True)
29
+ dest_to_src[dest] = src
30
30
 
31
31
 
32
32
  def is_destination_path_dirlike(dest_path) -> bool:
@@ -48,9 +48,9 @@ def _copy_additional_files(
48
48
  model_dir: Optional[str], # relative to files_dir e.g "model/"
49
49
  additional_files: Sequence[Tuple[Union[str, Path], Optional[str]]],
50
50
  ignore_model_dir_dest_conflict: bool = False,
51
- ):
51
+ existing_dest_to_src_map: Optional[Dict[str, str]] = None,
52
+ ) -> Dict[str, str]:
52
53
  """
53
-
54
54
  File copying examples:
55
55
  # non ambiguous
56
56
  # a.txt -> /tmp/ result /tmp/a.txt
@@ -69,6 +69,7 @@ def _copy_additional_files(
69
69
  # .gitignore -> /tmp/.gitinclude result /tmp/.gitinclude
70
70
  # a.txt -> /tmp/a result /tmp/a
71
71
  """
72
+ dest_to_src = existing_dest_to_src_map or {}
72
73
  for src_path, dest_path in additional_files:
73
74
  src_path = str(src_path)
74
75
  if not os.path.exists(src_path):
@@ -99,26 +100,47 @@ def _copy_additional_files(
99
100
  _src = src_path
100
101
  if is_destination_path_dirlike(dest_abs_path):
101
102
  os.makedirs(dest_abs_path, exist_ok=True)
102
- _dst = os.path.relpath(
103
- os.path.join(dest_abs_path, os.path.basename(_src)), files_abs_dir
104
- )
103
+ dest_abs_path = os.path.join(dest_abs_path, os.path.basename(_src))
105
104
  else:
106
105
  os.makedirs(os.path.dirname(dest_abs_path), exist_ok=True)
107
- _dst = os.path.relpath(dest_abs_path, files_abs_dir)
106
+ _dst = os.path.relpath(dest_abs_path, files_abs_dir)
108
107
  logger.info(f"Adding file {_src} as /{_dst}")
109
- shutil.copy2(src_path, dest_abs_path, follow_symlinks=True)
108
+ dest_to_src[dest_abs_path] = src_path
110
109
  elif os.path.isdir(src_path):
111
110
  os.makedirs(dest_abs_path, exist_ok=True)
112
111
  _src = src_path.rstrip("/")
113
112
  _dst = os.path.relpath(dest_abs_path, files_abs_dir).rstrip("/")
114
113
  logger.info(f"Adding contents of {_src}/ to /{_dst}/")
115
114
  _copy_tree(
115
+ root_dir=root_dir,
116
116
  src_path=src_path,
117
117
  dest_path=dest_abs_path,
118
- symlinks=True,
119
- ignore_dangling_symlinks=False,
118
+ dest_to_src=dest_to_src,
120
119
  )
121
120
 
121
+ return dest_to_src
122
+
123
+
124
+ def _make_dest_to_src_map_from_dir(root_dir: str) -> Dict[str, str]:
125
+ dest_to_src_map = {}
126
+ for root, _, files in os.walk(root_dir):
127
+ for file in files:
128
+ src = os.path.join(root, file)
129
+ dest = src
130
+ dest_to_src_map[dest] = src
131
+ return dest_to_src_map
132
+
133
+
134
+ def _get_src_dest_pairs(
135
+ root_dir: str,
136
+ dest_to_src_map: Dict[str, str],
137
+ ) -> Sequence[Tuple[str, str]]:
138
+ src_dest_pairs = [
139
+ (src_path, os.path.relpath(dest_abs_path, root_dir))
140
+ for dest_abs_path, src_path in dest_to_src_map.items()
141
+ ]
142
+ return src_dest_pairs
143
+
122
144
 
123
145
  def _validate_description(description: Optional[str]):
124
146
  if description is not None:
@@ -141,8 +163,8 @@ def _validate_artifact_metadata(metadata: Dict[str, Any]):
141
163
  raise MlFoundryException("`metadata` must be json serializable dict") from ve
142
164
 
143
165
 
144
- def calculate_local_directory_size(
145
- directory: tempfile.TemporaryDirectory, # type: ignore[type-arg]
166
+ def calculate_total_size(
167
+ paths: Sequence[str],
146
168
  ):
147
169
  """
148
170
  Tells about the size of the artifact
@@ -153,9 +175,4 @@ def calculate_local_directory_size(
153
175
  Returns:
154
176
  total size of the artifact
155
177
  """
156
- total_size = 0
157
- for path, _dirs, files in os.walk(directory.name):
158
- for f in files:
159
- file_path = os.path.join(path, f)
160
- total_size += os.stat(file_path).st_size
161
- return total_size
178
+ return sum(os.stat(os.path.realpath(file_path)).st_size for file_path in paths)
@@ -18,6 +18,7 @@ from truefoundry.ml.log_types.artifacts.constants import (
18
18
  FILES_DIR,
19
19
  INTERNAL_METADATA_PATH,
20
20
  )
21
+ from truefoundry.ml.log_types.artifacts.utils import _make_dest_to_src_map_from_dir
21
22
  from truefoundry.ml.log_types.image.constants import (
22
23
  DEFAULT_IMAGE_FORMAT,
23
24
  IMAGE_KEY_REGEX,
@@ -344,6 +345,7 @@ class Image:
344
345
  name=key,
345
346
  artifact_type=ArtifactType.IMAGE,
346
347
  artifact_dir=temp_dir,
348
+ dest_to_src_map=_make_dest_to_src_map_from_dir(root_dir=temp_dir.name),
347
349
  internal_metadata=internal_metadata,
348
350
  step=step,
349
351
  )
@@ -18,6 +18,7 @@ from truefoundry.ml.log_types.artifacts.constants import (
18
18
  FILES_DIR,
19
19
  INTERNAL_METADATA_PATH,
20
20
  )
21
+ from truefoundry.ml.log_types.artifacts.utils import _make_dest_to_src_map_from_dir
21
22
  from truefoundry.ml.log_types.pydantic_base import PydanticBase
22
23
  from truefoundry.ml.log_types.utils import validate_key_name
23
24
  from truefoundry.pydantic_v1 import BaseModel
@@ -186,6 +187,7 @@ class Plot:
186
187
  name=key,
187
188
  artifact_type=ArtifactType.PLOT,
188
189
  artifact_dir=temp_dir,
190
+ dest_to_src_map=_make_dest_to_src_map_from_dir(root_dir=temp_dir.name),
189
191
  internal_metadata=internal_metadata,
190
192
  step=step,
191
193
  )
@@ -8,7 +8,7 @@ import coolname
8
8
  import pandas as pd
9
9
 
10
10
  from truefoundry.common.utils import relogin_error_message
11
- from truefoundry.ml import constants, env_vars
11
+ from truefoundry.ml import constants
12
12
  from truefoundry.ml.autogen.client import ( # type: ignore[attr-defined]
13
13
  ArtifactDto,
14
14
  ArtifactType,
@@ -59,10 +59,15 @@ from truefoundry.ml.validation_utils import (
59
59
 
60
60
  _SEARCH_MAX_RESULTS_DEFAULT = 1000
61
61
 
62
+ _INTERNAL_ENV_VARS = [
63
+ "TFY_INTERNAL_APPLICATION_ID",
64
+ "TFY_INTERNAL_JOB_RUN_NAME",
65
+ ]
66
+
62
67
 
63
68
  def _get_internal_env_vars_values() -> Dict[str, str]:
64
69
  env = {}
65
- for env_var_name in env_vars.INTERNAL_ENV_VARS:
70
+ for env_var_name in _INTERNAL_ENV_VARS:
66
71
  value = os.getenv(env_var_name)
67
72
  if value:
68
73
  env[env_var_name] = value
@@ -330,7 +335,6 @@ class MlFoundry:
330
335
  tags.update(_get_internal_env_vars_values())
331
336
  _run = self._runs_api.create_run_post(
332
337
  CreateRunRequestDto(
333
- user_id="unknown", # This does not matter, because on server we use the id from token
334
338
  start_time=int(
335
339
  time.time() * 1000
336
340
  ), # TODO (chiragjn): computing start time should be on server side!
truefoundry/ml/session.py CHANGED
@@ -113,6 +113,8 @@ def _get_api_client(
113
113
  session: Optional[Session] = None,
114
114
  allow_anonymous: bool = False,
115
115
  ) -> ApiClient:
116
+ from truefoundry.version import __version__
117
+
116
118
  session = session or get_active_session()
117
119
  if session is None:
118
120
  if allow_anonymous:
@@ -131,7 +133,7 @@ def _get_api_client(
131
133
  )
132
134
  configuration.retries = urllib3_retry(retries=2)
133
135
  api_client = ApiClient(configuration=configuration)
134
- api_client.user_agent = "truefoundry-cli"
136
+ api_client.user_agent = f"truefoundry-cli/{__version__}"
135
137
  return api_client
136
138
 
137
139
 
@@ -1,4 +1,5 @@
1
1
  try:
2
+ import fsspec
2
3
  from flytekit import task as _
3
4
  except ImportError:
4
5
  print("To use workflows, please run 'pip install truefoundry[workflow]'.")
@@ -6,6 +7,8 @@ except ImportError:
6
7
  from flytekit import conditional
7
8
  from flytekit.types.directory import FlyteDirectory
8
9
 
10
+ from truefoundry.common.constants import ENV_VARS
11
+ from truefoundry.common.tfy_signed_url_fs import SignedURLFileSystem
9
12
  from truefoundry.deploy.v2.lib.patched_models import (
10
13
  ContainerTaskConfig,
11
14
  PythonTaskConfig,
@@ -32,3 +35,10 @@ __all__ = [
32
35
  "PythonTaskConfig",
33
36
  "ExecutionConfig",
34
37
  ]
38
+
39
+
40
+ # Register the SignedURLFileSystem implementation for fsspec
41
+ if ENV_VARS.TFY_INTERNAL_SIGNED_URL_SERVER_HOST:
42
+ fsspec.register_implementation("s3", SignedURLFileSystem, clobber=True)
43
+ fsspec.register_implementation("gs", SignedURLFileSystem, clobber=True)
44
+ fsspec.register_implementation("abfs", SignedURLFileSystem, clobber=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: truefoundry
3
- Version: 0.4.3rc0
3
+ Version: 0.4.4
4
4
  Summary: Truefoundry CLI
5
5
  Author: Abhishek Choudhary
6
6
  Author-email: abhishek@truefoundry.com
@@ -21,7 +21,7 @@ Requires-Dist: coolname (>=1.1.0,<2.0.0)
21
21
  Requires-Dist: docker (>=6.1.2,<8.0.0)
22
22
  Requires-Dist: fastapi (>=0.56.0,<0.200.0)
23
23
  Requires-Dist: filelock (>=3.8.0,<4.0.0)
24
- Requires-Dist: flytekit (==1.13.8) ; extra == "workflow"
24
+ Requires-Dist: flytekit (==1.12.2) ; extra == "workflow"
25
25
  Requires-Dist: gitignorefile (>=1.1.2,<2.0.0)
26
26
  Requires-Dist: importlib-metadata (>=4.11.3,<9.0.0)
27
27
  Requires-Dist: importlib-resources (>=5.2.0,<7.0.0)
@@ -27,23 +27,25 @@ truefoundry/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  truefoundry/cli/__main__.py,sha256=-NkhYlT3mC5MhtekueKAvCw-sWvguj0LJRpXWzvvFjc,727
28
28
  truefoundry/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  truefoundry/common/auth_service_client.py,sha256=tZOa0NdATnItsMeTnEnUeTZQIgUJtpU-nvLdWtB4Px8,7978
30
- truefoundry/common/constants.py,sha256=gnswB-aK5atSRY-GE1Cji6ZCEs2FoK9n1lCX5JuQGqI,484
30
+ truefoundry/common/constants.py,sha256=y8T5S-CoFKubGbSrHXq0VCgr2O3RiEbNV5KP4NDNqhk,2089
31
31
  truefoundry/common/credential_file_manager.py,sha256=1yEk1Zm2xS4G0VDFwKSZ4w0VUrcPWQ1nJnoBaz9xyKA,4251
32
- truefoundry/common/credential_provider.py,sha256=YQ6HKl8ZZFTg48vBZMauEAnM6IrEO3oOzM2DA47N-P0,4071
32
+ truefoundry/common/credential_provider.py,sha256=Aht7hFLsnyRgMR34dRbzln7dor0WYSeA8ej8ApNmnKM,4148
33
33
  truefoundry/common/entities.py,sha256=8O-EGPk4PKqnyoFMKUTxISCU19rz0KBnfRDJU695DhY,3797
34
34
  truefoundry/common/exceptions.py,sha256=ePpiQ_zmWe4e94gOgeMiyP_AZnKwjEBfyXsB5ScGYcI,329
35
- truefoundry/common/request_utils.py,sha256=-ss8033PClJOMJuS5Ue1zCFRVK7ZW9vjtva1b5G9uok,2849
36
- truefoundry/common/servicefoundry_client.py,sha256=klohrELTFTJX-jvl9LGtdIoJiZMZRuQQB4Ho7PJ7u3s,3091
37
- truefoundry/common/utils.py,sha256=lFiDEVoQDJoZPEN4Zun4GQz2TsfdbXfNHI41BErETq8,3320
35
+ truefoundry/common/request_utils.py,sha256=5xw4YGUcMf71Ncal3OfFCa-PoWDIvG3hYGCDa4Da4OI,2854
36
+ truefoundry/common/servicefoundry_client.py,sha256=2fxmgCM-ckFHpnm6n_mL-5Z8RWN_q-dYVvFC29bkYSg,3120
37
+ truefoundry/common/tfy_signed_url_client.py,sha256=wa9pfZIUquXFE9EdHDOJXjqqU1uJr1PkvI_7vnOjZ9M,9904
38
+ truefoundry/common/tfy_signed_url_fs.py,sha256=Vc7Il077nZIGbDBQ8aTPNtJVcypYaoZHr13vV00REko,8486
39
+ truefoundry/common/utils.py,sha256=vacYbVTEvcEY4niH4C9Wb_aCeaGgh2un3_ApAt556VQ,3621
38
40
  truefoundry/deploy/__init__.py,sha256=ugawKF2G02EmEXX35oZ2tec12d9oWN28Sf6mtGGIERY,2281
39
- truefoundry/deploy/auto_gen/models.py,sha256=AjbjNFwWDTIOjN_E1fSUgP-ej9nsb2OpZPhsnIRAVGs,80621
41
+ truefoundry/deploy/auto_gen/models.py,sha256=4MaxkG2_5Wg6avaZRlK0D4JiVEM5rk3NU0BCiTx8VyU,82477
40
42
  truefoundry/deploy/builder/__init__.py,sha256=1qjHMNBE1poRCZW0WrG46dFM1f1IlivD5352qzsioMU,4953
41
43
  truefoundry/deploy/builder/builders/__init__.py,sha256=tlFLXqyDaKLd4iZbo4Hcu_8gOmgtL6drnXpbmQ6x1P8,636
42
44
  truefoundry/deploy/builder/builders/dockerfile.py,sha256=AXXTziCkaqIhuM_bwyD1vT1znOwemN1TKgU7eyo-KuM,1522
43
45
  truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py,sha256=UmMcTY-8MrLY3H5owpn6ax-VePQl4MiMTmHlQ9qEtQw,1742
44
- truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py,sha256=IZbXsSj86SxWRZNQXepEnsOL_eYwWaOq5oh-WiyvL2c,2485
46
+ truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py,sha256=rQgdvKmAT9HArVW4TAG5yd2QTKRs3S5LJ9RQbc_EkHE,2518
45
47
  truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py,sha256=XNJ3MKWqyWIbFNnUQMpB8oVC5Pt5Wsm_bRKbvkXRIG8,1696
46
- truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py,sha256=cJlQK_kgNELULcp2Q_kMWyPNmUuZdhOELDnI0rMiqRc,7473
48
+ truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py,sha256=nwTpeIrDOZC8_m_VcbQ5Vp_rEO2ioC8FtzOEo17JY7A,7373
47
49
  truefoundry/deploy/builder/constants.py,sha256=eIukBjD6I4KvEmAPpdbPlPPr76yhS-uNr3RVFkzEdgs,257
48
50
  truefoundry/deploy/builder/docker_service.py,sha256=OI8efqK0Gnoii8bcHihpA2StwHVzsMREfBk7NvMR4hY,3950
49
51
  truefoundry/deploy/builder/utils.py,sha256=9RZnkhoHFTRUt_x3nck0aVz7cLpzA3jiwQH-ZZZrjf8,938
@@ -92,7 +94,7 @@ truefoundry/deploy/json_util.py,sha256=x_-7YYQ4_HUIJ8ofOcclAp9JWhgTWjR9Th6Q0FuRq
92
94
  truefoundry/deploy/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
95
  truefoundry/deploy/lib/auth/servicefoundry_session.py,sha256=5TCYPunAygtn5mb0mp_VcWKEalKMKPbyWMWer-Vty2g,1916
94
96
  truefoundry/deploy/lib/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
- truefoundry/deploy/lib/clients/servicefoundry_client.py,sha256=vFrd5yeStjT_uWL3JxHrx0iAmNpuv26K7IEnsF1RMM8,26101
97
+ truefoundry/deploy/lib/clients/servicefoundry_client.py,sha256=tkuPNbo9vDTgXPHD4p3d-t6HigBvKNfML1pTQXBwJfY,26170
96
98
  truefoundry/deploy/lib/const.py,sha256=repGJLuoMqtzeq5tCjjkN4bH187FVHVKI30BricOlvc,244
97
99
  truefoundry/deploy/lib/dao/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
100
  truefoundry/deploy/lib/dao/application.py,sha256=uUTFSQkLUrFCtQQgS2Jm9BpyHyhMkN4GI1yx9oJo4_E,9161
@@ -103,15 +105,15 @@ truefoundry/deploy/lib/exceptions.py,sha256=ZT2o3mar3BYtnjKHn2wf4rBGEaFIgf-zkQmz
103
105
  truefoundry/deploy/lib/logs_utils.py,sha256=SQxRv3jDDmgHdOUMhlMaAPGYskybnBUMpst7QU_i_sc,1469
104
106
  truefoundry/deploy/lib/messages.py,sha256=nhp0bCYf_XpUM68hTq5lBY-__vtEyV2uP7NgnJXJ_Vg,925
105
107
  truefoundry/deploy/lib/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
- truefoundry/deploy/lib/model/entity.py,sha256=8J8yd98iWtSy8giShdDRNyzbN1UgSXx4XtmZLljdWnE,8552
108
+ truefoundry/deploy/lib/model/entity.py,sha256=fq8hvdJQgQn4uZqxpKrzmaoJhQG53_EbDoDxUPPmOZ0,8387
107
109
  truefoundry/deploy/lib/session.py,sha256=Vg6rCA315T0yS0xG4ayJ84Ia_9ZfibH8utOSwPBMAmw,4953
108
110
  truefoundry/deploy/lib/util.py,sha256=3TapV7yczkheC1MMMfmJDGGzTl2l6e4jCYd_Rr5aoQ8,1330
109
111
  truefoundry/deploy/lib/win32.py,sha256=1RcvPTdlOAJ48rt8rCbE2Ufha2ztRqBAE9dueNXArrY,5009
110
- truefoundry/deploy/python_deploy_codegen.py,sha256=Ok7ufDY2x3aMJv9KpaRqxiS-ZI-kxBWauIUHst-ug7E,4020
112
+ truefoundry/deploy/python_deploy_codegen.py,sha256=z9VSETb3Lrqn7sUD75EksbmA1vRiEl0LNnz9PTqF8ZM,6462
111
113
  truefoundry/deploy/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
114
  truefoundry/deploy/v2/lib/__init__.py,sha256=WEiVMZXOVljzEE3tpGJil14liIn_PCDoACJ6b3tZ6sI,188
113
115
  truefoundry/deploy/v2/lib/deploy.py,sha256=HIcY3SzQ5lWl7avuuKi3J0Z-PBES6Sf4hgMK-m6_53U,11990
114
- truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=hgAhd1EGwFLz319Vs-WNXHDJmbKjdgkGPzDnBD1Up1k,12579
116
+ truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=WhlrBuRf7r83qoQdTZSQzHt635fw9D4_qQIqusFWGag,12372
115
117
  truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=MROgMxhn9hDEAKwJSWl3iz12tUVvRKzEtqF2QUT6dAk,3343
116
118
  truefoundry/deploy/v2/lib/models.py,sha256=pSolLMTArDuYpeNsmeeS5DWliloN_iCDfZSpRllMHUg,1120
117
119
  truefoundry/deploy/v2/lib/patched_models.py,sha256=sokVDUdnhe3qx6dXlHM0shbf6HvSlF72-mvi8Lzt_Y8,13968
@@ -125,16 +127,16 @@ truefoundry/langchain/utils.py,sha256=PGLDe9chZ3BuUjakexOGpIqZRFoHEgu-zJ9yKdpLLm
125
127
  truefoundry/logger.py,sha256=7dLqW_Q2rEgo-_z1WZnQbGHaoy1L1MP3NqGgssaSS6o,685
126
128
  truefoundry/ml/__init__.py,sha256=2A1l7pgqbVRt3cRW_0Lxg92hyJEkMxkCUh1EFprrmc0,942
127
129
  truefoundry/ml/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- truefoundry/ml/artifact/truefoundry_artifact_repo.py,sha256=dA_QYAyNCcCuOw5eVxPbU5OeMK8YBNh42vBnGf6I0Sw,44911
130
+ truefoundry/ml/artifact/truefoundry_artifact_repo.py,sha256=VU8i3jnY62MLfzA3rxXuUjdqLz8Yaw4zqqPWSsf0mBg,45850
129
131
  truefoundry/ml/autogen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
- truefoundry/ml/autogen/client/__init__.py,sha256=M68r1z8Mi6dEFFKDsWPJ9NGdNOYdm6pcdH7_srCwkCI,16651
132
+ truefoundry/ml/autogen/client/__init__.py,sha256=B6Z0oUmE-S9YqUCDRpKDuTyNWX2Fmx4es7nWx7Bhy10,17600
131
133
  truefoundry/ml/autogen/client/api/__init__.py,sha256=3sMSljMIS3UHYeF0BcNvrPPx6VbBSRt_1IfDn-13Kyc,752
132
134
  truefoundry/ml/autogen/client/api/auth_api.py,sha256=zpWzJhUmW6HHMY_atlUf0B25k77E1kue2hmix5I5Ih0,7017
133
135
  truefoundry/ml/autogen/client/api/deprecated_api.py,sha256=JCQ39Y3VHdgJ1zM4XVabdTl6QpOHtQFjh04XUb6mN9A,24218
134
- truefoundry/ml/autogen/client/api/experiments_api.py,sha256=vzlPMzclwk7oD2ekUBInIAHLNO3qCAPF38AAvxfDBSY,80682
136
+ truefoundry/ml/autogen/client/api/experiments_api.py,sha256=mRKS8qGzcFJUpTWjfQoFYm2KI8jTHxBzA0l_foSCLM0,74880
135
137
  truefoundry/ml/autogen/client/api/health_api.py,sha256=IAPhRAo9CLUT5ipVR1fCf-qDx57UR0wg5ekhtUl8lug,11554
136
138
  truefoundry/ml/autogen/client/api/metrics_api.py,sha256=q3L38eD-2hu4_9YvcSdnWDYXD2V8il-X9reinOAABek,14908
137
- truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py,sha256=Le1fSNI8NwsYKhs-LTpH1fVuTP5YUp99D3WbZkQeo_8,313447
139
+ truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py,sha256=smLST3wBZnMw0VrTDR5y1IuJvzV6n89nLWqUMB5mavY,313547
138
140
  truefoundry/ml/autogen/client/api/python_deployment_config_api.py,sha256=8P53aegaaZp1LEV9_GDNSCofgxRXP3Atyprc2bUvvpI,8348
139
141
  truefoundry/ml/autogen/client/api/run_artifacts_api.py,sha256=x-vVnY2LEFChZxiiFauswRWwFz6Qqh30PKXjzuTvxmc,8799
140
142
  truefoundry/ml/autogen/client/api/runs_api.py,sha256=-aghrZ2VYuZOw_vBtOzWDsnK7Ji29oZQxK2CLRgyo2w,119232
@@ -142,7 +144,7 @@ truefoundry/ml/autogen/client/api_client.py,sha256=8qg-WpadDuKgbRt5yABJ4wVS4IRxd
142
144
  truefoundry/ml/autogen/client/api_response.py,sha256=KRyvecPMXF05PaxILHZ8JHoP4rgKBjKONMgG83aU-rM,844
143
145
  truefoundry/ml/autogen/client/configuration.py,sha256=V1oaEnxt-NfpaNmp-EZpf2glovzVhM2coWYt8HBNB4M,15723
144
146
  truefoundry/ml/autogen/client/exceptions.py,sha256=XbCbDHhYT3BVejdoGNPgEa4oS56ypkwFdxk1iOc_tFY,5355
145
- truefoundry/ml/autogen/client/models/__init__.py,sha256=9zOPn2LD-j3EbZmtt8ShBU8uGMRVpTW2-kvooBG9feE,15267
147
+ truefoundry/ml/autogen/client/models/__init__.py,sha256=PNukskNa-cv5uP25VmJXrZAZygCoyPis4LkMVLRA7M4,16216
146
148
  truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py,sha256=_ISDspicTGjBCYYXubKfRYYSSQVyW3AvG-jFh47-Zfc,2163
147
149
  truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py,sha256=rU0h96pEE8K1Ukw2pzDSjq0e6BgtDEuOctI-aZMrpUY,2653
148
150
  truefoundry/ml/autogen/client/models/agent.py,sha256=fnMWdEPe5Iw50WKydtu7QAxU419j3ju1IukpChUnGqY,3871
@@ -150,11 +152,12 @@ truefoundry/ml/autogen/client/models/agent_app.py,sha256=h-0xdTMDE6FPzvksnbhVSXO
150
152
  truefoundry/ml/autogen/client/models/agent_open_api_tool.py,sha256=QotUMmGqAMpNsRFwVoNJHg9OeobimS-Wc9Eb85VRD24,5023
151
153
  truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py,sha256=8iHIEpGtQJO8QZS66T0FysqKg1VaxJT44hPu_a6zuwE,5121
152
154
  truefoundry/ml/autogen/client/models/agent_with_fqn.py,sha256=_LFRmdT0KNe1CRNBfEt9gFbBvGMiwPInbesHSKrLH-g,3976
153
- truefoundry/ml/autogen/client/models/artifact_dto.py,sha256=I-5m316b3wiSxGrgx7dEymTr--Q8u0jIkl53EbeO4ms,3704
155
+ truefoundry/ml/autogen/client/models/artifact_dto.py,sha256=JWL8_sITJJXbxywcfRj4xqt8jR9pyBmA4TfwNTdX6CE,4243
154
156
  truefoundry/ml/autogen/client/models/artifact_response_dto.py,sha256=T_HLjkHnqiO1bnSXiCUOlwDEHGz89mlUNhBq0SJTapo,2226
155
157
  truefoundry/ml/autogen/client/models/artifact_type.py,sha256=LBXGYUoesmL5J-0xzCR8jBST3bjb6HY86RmqSGvytRs,828
156
- truefoundry/ml/autogen/client/models/artifact_version_dto.py,sha256=MdpHGU69R7_ej6_2ppp1a1WWkYcPCdXRyovpQN-WsDs,4868
158
+ truefoundry/ml/autogen/client/models/artifact_version_dto.py,sha256=oGWsRSxLDy8aGMI9dfaaNZH9JpPnqLevWSRmMCsHo44,6233
157
159
  truefoundry/ml/autogen/client/models/artifact_version_response_dto.py,sha256=JmiSYdPYG-ki6LCBeF7NtihdQ2LPiHld8cSPivY2GmQ,2421
160
+ truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py,sha256=2Qfgq1nykn0_mKNEJzOxhQwHm_95WIr9wJcHLeFWXQM,774
158
161
  truefoundry/ml/autogen/client/models/artifact_version_status.py,sha256=iIcomqhuaJkZH2rT3e6IjQutM79t9hEshW-RCIMKHEY,780
159
162
  truefoundry/ml/autogen/client/models/assistant_message.py,sha256=rmCQ4OAbVpjbX3rXiNtv2ePxV-7kq6Eg1Bs_tm_rmNE,2845
160
163
  truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py,sha256=G00T6eroxZrDw782-UBCQxlkwkxyAPfmvd9QNcMiZDI,2017
@@ -171,7 +174,7 @@ truefoundry/ml/autogen/client/models/content2_any_of_inner.py,sha256=yeGDgvaMMny
171
174
  truefoundry/ml/autogen/client/models/create_artifact_request_dto.py,sha256=U9oPwVw_G_3IIQzV_OqjuL_6ytvmfUwOMAyrYi_UhRo,2217
172
175
  truefoundry/ml/autogen/client/models/create_artifact_response_dto.py,sha256=mRRGlXQXW2d3oWv9YOqKG55GHuIpWslSzosUxaNXYXo,1849
173
176
  truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py,sha256=DTmslB75W6Cr_ec1ddEt40VaKowaZVv2ypf7sRH3elI,2284
174
- truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py,sha256=iLPOAM7bw-t6hlKL4_mtw8m0QfWj4rRT8vxLdSHE9-8,1905
177
+ truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py,sha256=rInMtdhkkWeP-3AM5tnyvTkIUIR8fCEnaexQoB4fRmM,2108
175
178
  truefoundry/ml/autogen/client/models/create_dataset_request_dto.py,sha256=6Ke3swxo9DG-mbOZOTXosepZ6toHPmYc4GOCtahUs2A,2308
176
179
  truefoundry/ml/autogen/client/models/create_experiment_request_dto.py,sha256=yD3u5li_ShKbX1RGomEOkSEXQPZKxqhJGYXAMZTKXDU,3013
177
180
  truefoundry/ml/autogen/client/models/create_experiment_response_dto.py,sha256=GmN5gDzieW8xT2RXOhf0QJ5_AL7JzCSwFYJMnys1pgA,1931
@@ -181,9 +184,9 @@ truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_respon
181
184
  truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py,sha256=nGrPRw5R44APVGeyegxFLxfi8KAHX-NDORtS1iBw5Xc,2213
182
185
  truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py,sha256=1xmhL67Pz0Ckgfky3SIwtD0ayPJA-Vvv51Qec0LVDAA,2232
183
186
  truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py,sha256=5fnCJ7ybEcRA03s8ZLGdt1w8_Xz5nt6-PPmvA6Yxt60,2051
184
- truefoundry/ml/autogen/client/models/create_run_request_dto.py,sha256=6lwK8CLGgAnNtvBn3_0jcKicsWI3DMUfxj1OUctzDwA,2994
187
+ truefoundry/ml/autogen/client/models/create_run_request_dto.py,sha256=OqhHezsPGygl5m3BlEHmKGlCNf2t5FUFQJLwdmHfggg,2841
185
188
  truefoundry/ml/autogen/client/models/create_run_response_dto.py,sha256=cFzIkhbiB_IEmQSx1asNAzPMN-MzCBtqWj2PJ3oTLTM,2169
186
- truefoundry/ml/autogen/client/models/dataset_dto.py,sha256=2GqBLyIFXjNJ8stQRQgB1GoC9eqqArKlBafIGtDOie0,3561
189
+ truefoundry/ml/autogen/client/models/dataset_dto.py,sha256=V3dIdK93YQ8mtolY8Onz2N17HQYm3bLUMn98dVg7tGo,4100
187
190
  truefoundry/ml/autogen/client/models/dataset_response_dto.py,sha256=5h3eHpiG4Zzqn5Hm0WpZgyXGjxujKem42_8YnGq5KLo,2205
188
191
  truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py,sha256=JF2dQuEe_W1c2ox9zZDER_pZSTbKwSnns8hIfG5o7oA,1905
189
192
  truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py,sha256=bfzzgBoekOBcGg2Uzzel80rf2Z5fDgggShkYd0ZlbSM,2143
@@ -191,14 +194,16 @@ truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py,sha
191
194
  truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py,sha256=6abYuueylSgv7TLkIHq8X0NWeFr-J5k72caAyOnn6fw,1873
192
195
  truefoundry/ml/autogen/client/models/delete_run_request.py,sha256=jXQmROKfkPA8idoxkUXT-2O6QJ4OgxgFX-CEmjryIpY,1793
193
196
  truefoundry/ml/autogen/client/models/delete_tag_request_dto.py,sha256=eQSPMamCJbsehcwWoMxQxlzZKQfX5GEwm3KHGF2Ajts,1901
194
- truefoundry/ml/autogen/client/models/experiment_dto.py,sha256=LBR3FkOw5j_2w1vrY3PYdqFWJwVXAE-Len8L8ua0XzI,4409
197
+ truefoundry/ml/autogen/client/models/experiment_dto.py,sha256=bl4-Hp1EHl8CEKgWq6sjJEGsTYG3kWQaO-AlskslXKQ,5035
195
198
  truefoundry/ml/autogen/client/models/experiment_id_request_dto.py,sha256=ZMH827n_UTpDI30UnkuOam-4ANBKCDgocIzI8StxFR8,1891
196
199
  truefoundry/ml/autogen/client/models/experiment_response_dto.py,sha256=wuflV6_f8PQq061-wU2GzNY4BZi8SG8ARCIbSQN1oT4,2268
197
200
  truefoundry/ml/autogen/client/models/experiment_tag_dto.py,sha256=nEpCkeZ9ficIDkjmmLfkJeNNokd-Rhgr-cepPWG6L3M,1902
201
+ truefoundry/ml/autogen/client/models/external_model_source.py,sha256=Vzn1sbjMtQYuMEVjd9hxH0TupGG7vwzqadwE4l9vzs8,2286
198
202
  truefoundry/ml/autogen/client/models/feature_dto.py,sha256=XM7fF71P_bYP3UlO1ILjnD3DJNpf2tGwAWbrkQyvyA4,1924
199
203
  truefoundry/ml/autogen/client/models/feature_value_type.py,sha256=3ZKxxEfrrWk8ePlV7n11wa-FdDH0SRLyHRqSvIU7F-M,732
200
204
  truefoundry/ml/autogen/client/models/file_info_dto.py,sha256=7oc8venicsFVk8zT9wHNhHnZGtFkFlqimFnS7ozGL9k,2156
201
- truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py,sha256=P20UWglW6pzhNJVchC37ypZSHUxzzxf9tfKJkLgxoaY,3361
205
+ truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py,sha256=tArvzRPp80PpfJ4CoMwwaKqPAfzonq-8C-yKBEjs9co,3877
206
+ truefoundry/ml/autogen/client/models/framework.py,sha256=Z_91ZrPWB22mHnKWBgbXHhY5NzHdmfTATBd2iQPNIaU,5131
202
207
  truefoundry/ml/autogen/client/models/get_experiment_response_dto.py,sha256=FhJpoUeRbZV1s1KR3Y07Kv6U4enLbbgdpGbguT9us0A,2923
203
208
  truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py,sha256=g5NG252VzjGHiA-w5nhxmZxGrowJO9XCHDQTjf8y2KE,2266
204
209
  truefoundry/ml/autogen/client/models/get_metric_history_response.py,sha256=rTchO8o4sjGsNaZj8TW-VGtGGxsOBjUGzgaAWNtBZ-k,2428
@@ -216,6 +221,7 @@ truefoundry/ml/autogen/client/models/image_content_part.py,sha256=_DXwAxeuagwRWM
216
221
  truefoundry/ml/autogen/client/models/image_url.py,sha256=TN8iEdBUmtKdTFlApUodaC4o6X_Ggd3OSOKVPv7laJE,2170
217
222
  truefoundry/ml/autogen/client/models/internal_metadata.py,sha256=6OizrIzA3QxlEnwNFXCZGOMJuUDSYHctl_30q27uBDI,6232
218
223
  truefoundry/ml/autogen/client/models/latest_run_log_dto.py,sha256=wE8T8bANTb9u14Jv7DNyKWekZiUAvrzvTcE_H1cRhn4,2326
224
+ truefoundry/ml/autogen/client/models/library_name.py,sha256=JKmQMgEj6RcmSv68THAcs1gmh3P3CNrgJ_Rh5VWu9Fs,823
219
225
  truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py,sha256=nODOEA-tT8XEJKgUXXjvlzT5ecEwz1b9zu-l3RgQl1o,3622
220
226
  truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py,sha256=G560h_rGn6-X-cxpuddGU8Fp2eBKXvC3RWcJZdZQJBE,2940
221
227
  truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py,sha256=o3Jz3VsAa3aJB3YZ6NI6t8TLLoMGeg64jYYZibeo3Oc,2982
@@ -237,7 +243,6 @@ truefoundry/ml/autogen/client/models/list_models_request_dto.py,sha256=YcHYIbHPa
237
243
  truefoundry/ml/autogen/client/models/list_models_response_dto.py,sha256=O2QkHGlLPtuGs7ggFuPEf5_hukS1B_Q5fMNPlPClrr4,2662
238
244
  truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py,sha256=gZrv8iVQZcBcS5PXhABJblvm--E8BY3chJVuCU6GNvI,2715
239
245
  truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py,sha256=ckQBBYHVyfSyFnYiczvVXTsnahKSur-2U6wsb-owpEg,2485
240
- truefoundry/ml/autogen/client/models/list_seed_experiments_response_dto.py,sha256=rsbPpoAQOIOK-jFsfH2Tn30l-tGRLvx_kylN9FSI7n4,2566
241
246
  truefoundry/ml/autogen/client/models/log_batch_request_dto.py,sha256=xDas-pmJP5T-8zKd17BbSnglZuX15ei3n9blBZUxa-Y,3702
242
247
  truefoundry/ml/autogen/client/models/log_metric_request_dto.py,sha256=QED1aIeaZJG-8iKFxT3NX9ozlUz_wom1xDsyZgL-a-4,2442
243
248
  truefoundry/ml/autogen/client/models/log_param_request_dto.py,sha256=Hd7AqrVnSkwfa9CcDbATERaim5Hf8rM59WZQNxSlJzk,2160
@@ -246,10 +251,11 @@ truefoundry/ml/autogen/client/models/metric_collection_dto.py,sha256=02ZWKm2_8Dj
246
251
  truefoundry/ml/autogen/client/models/metric_dto.py,sha256=Xrcc8XRY0sZeg_cnb6gyf-AUUIS0FPxSGTCbDzcBzXQ,2174
247
252
  truefoundry/ml/autogen/client/models/mime_type.py,sha256=A-N5-Mof_IyHWguXmG67k9wuaS5xwLPcj1J11jrEGyc,897
248
253
  truefoundry/ml/autogen/client/models/model_configuration.py,sha256=XKhwqO8caQ8w9XRCdb_pAl-84cd_PWkEutjLNSby6hQ,3861
249
- truefoundry/ml/autogen/client/models/model_dto.py,sha256=iz9RAxADkeWwe0RmsxiLcYHZ5rZhkRF0PRcy004RT_I,4146
254
+ truefoundry/ml/autogen/client/models/model_dto.py,sha256=TUO74MDqe8XCVJBB2O7TiqiRON8qbE7gi8LNA3uWjYA,4685
250
255
  truefoundry/ml/autogen/client/models/model_response_dto.py,sha256=osrTxfygkuhxWj6SkRBALrSnFVPH4LSK6qTufTeZuJg,2163
251
256
  truefoundry/ml/autogen/client/models/model_schema_dto.py,sha256=ElEPK7fwuf3eiohNBBHJyl-nhNqzGnDLzZVzuQl-xC0,2620
252
- truefoundry/ml/autogen/client/models/model_version_dto.py,sha256=1NqfoCKN-MWeWi8_ih4EHfknJnOyUuBbhCu-Kg5WVDE,5917
257
+ truefoundry/ml/autogen/client/models/model_version_dto.py,sha256=6kI1Z2czYAieJZBaVvcV8Y2eeNEUDyjPuTLHTdyWnOE,7282
258
+ truefoundry/ml/autogen/client/models/model_version_manifest.py,sha256=yJN2C_ETddLAeSR4wDuzV3--F2MyiN-XzIJlNayG6Ok,3945
253
259
  truefoundry/ml/autogen/client/models/model_version_response_dto.py,sha256=D6XOCyggxqTkbePuypqYSHYh1PYeDv7R_J32q61sDM0,2320
254
260
  truefoundry/ml/autogen/client/models/multi_part_upload_dto.py,sha256=Ckq405vud8RQmMyKCJQJBlW5iXO7Y2mlgo8eVkiMvxg,3738
255
261
  truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py,sha256=VjH0kvl7rMjgDHjYGHnsh7KsZ5-qn-k3ksdGLJ49nIM,2431
@@ -263,7 +269,7 @@ truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py,sha256=sg
263
269
  truefoundry/ml/autogen/client/models/restore_run_request_dto.py,sha256=7iBbil4YfaOHJwP0ifPHp-D1Kt-ZiSRjAaVuU7_idhw,1825
264
270
  truefoundry/ml/autogen/client/models/run_data_dto.py,sha256=iPFm5f4x2ymRqea6EDZlcjWYN_-f3t9JZckwskXSTKY,3533
265
271
  truefoundry/ml/autogen/client/models/run_dto.py,sha256=inAYRSKnHSkF3cdf2eQYp5wVnOgB47ZPdavxCHXh9zY,2535
266
- truefoundry/ml/autogen/client/models/run_info_dto.py,sha256=HJqhChLit5ub3LDQarqDQxgd9z2YCZyO06tIt-s-RQ8,3082
272
+ truefoundry/ml/autogen/client/models/run_info_dto.py,sha256=RCGhFUG5kSIcU62LrqXMqh4ediFyeBziV-Z2532Wcmo,3617
267
273
  truefoundry/ml/autogen/client/models/run_log_dto.py,sha256=VEIXYILD4AW0QAmokyzS9mo4JmiAV7NgU5TRgymQMek,2529
268
274
  truefoundry/ml/autogen/client/models/run_log_input_dto.py,sha256=xQ854-3vcocDzcNYejYVlo2BmEpDLlHh1MbiP2OHen4,2390
269
275
  truefoundry/ml/autogen/client/models/run_response_dto.py,sha256=iayBnhwmByVC3iiw_ZUbB_V6FTadEQu9_U2JOs5kvkw,2121
@@ -273,24 +279,31 @@ truefoundry/ml/autogen/client/models/search_runs_response_dto.py,sha256=u0l11v7p
273
279
  truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py,sha256=nrmi_NxLD1fI2gwlpdqFSMnBS11gRkjS4_GQFHgBcXs,2118
274
280
  truefoundry/ml/autogen/client/models/set_tag_request_dto.py,sha256=IRgAdMcWBxmjNV6nZJej4pcNfLmZwrelEZ3otwt7eeE,2144
275
281
  truefoundry/ml/autogen/client/models/signed_url_dto.py,sha256=9oHoXBj07xTdc04rqOqJO3eOjQWXCyWPhfHg-6qX60w,1897
282
+ truefoundry/ml/autogen/client/models/source.py,sha256=OqcgjSiQwji_jpfcL29HKlAebURPChuQPqmQzd7CSPk,5961
276
283
  truefoundry/ml/autogen/client/models/stop.py,sha256=UlAjRWI6Gjc92D2UME6qRAIfd6GoDI3VBWYkJqgixmU,4760
277
284
  truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py,sha256=Cfm95a9T4fDiARBJ9vd3n9Pv7QI69TSVKWi0AG_cmvs,2591
285
+ truefoundry/ml/autogen/client/models/subject.py,sha256=gG1pRl6lPEI1_td2sb752vJeKMKgLWDaoFwepnS4zIQ,2415
286
+ truefoundry/ml/autogen/client/models/subject_type.py,sha256=TOhgDmWSy67NjBCTSbwtF2-cBBB2-FoLJVFDVpJRrsQ,710
278
287
  truefoundry/ml/autogen/client/models/system_message.py,sha256=yxRCJPl36FGv2zrsuHbLown88wmnrIpWlKEVRf9WgFQ,2801
288
+ truefoundry/ml/autogen/client/models/tensorflow_framework.py,sha256=8F0CHJj_J0V57GePBuMjSSLmCRuwIot10ghywlBFIeQ,2251
279
289
  truefoundry/ml/autogen/client/models/text.py,sha256=HAIK-w_TxB1kXGvVNK1d2cweoQi-GJ9d-0QSZl21u68,4862
280
290
  truefoundry/ml/autogen/client/models/text_content_part.py,sha256=fRQu22tiV3rDKmTgVZSLHX-cMcha3q53W8qWNCk5wmU,2492
291
+ truefoundry/ml/autogen/client/models/transformers_framework.py,sha256=5n4h3IvcCRr4Dca9Sv1EGUp07rEgv3c41U47NmGTsu0,2916
292
+ truefoundry/ml/autogen/client/models/truefoundry_model_source.py,sha256=kKxDCkLKTLho2SkVO0df6DoD8czwKbaacbjNRqBMhgY,2396
281
293
  truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py,sha256=AhXj2afmrKskBi5uMT0-mSywZyz3g17lFE3uMRQ5pEM,2246
282
294
  truefoundry/ml/autogen/client/models/update_dataset_request_dto.py,sha256=MF-rjJGUP6sDZVH3xP4Q8AEC9CV2PXEO9cXrR6yK57A,2182
283
295
  truefoundry/ml/autogen/client/models/update_experiment_request_dto.py,sha256=QE_kZzTDdiXKtQ2U-zbI_gb5vxS5Yv9YupYvD22RkFs,2198
284
- truefoundry/ml/autogen/client/models/update_model_version_request_dto.py,sha256=dVP9WW0bQV0Bolj_hVbsQQuUT-8lhJ9ocDWsThfARlI,3073
296
+ truefoundry/ml/autogen/client/models/update_model_version_request_dto.py,sha256=0xWqHHflnpO8FyT79psPiPBIGW6Aiovs-b6H7sjMSDQ,3589
285
297
  truefoundry/ml/autogen/client/models/update_run_request_dto.py,sha256=fn4VB4Zlllr6Bt_l3aYkkHxAkU9w7vtcqu4iw8BvQWY,2318
286
298
  truefoundry/ml/autogen/client/models/update_run_response_dto.py,sha256=wolIFiihGZCBBkuj7mJEYCmGAOqDLFo_bNLcH4LeXSo,2231
299
+ truefoundry/ml/autogen/client/models/upload_model_source.py,sha256=zn2AigQc8uhJiGXdE57X-K4pLPrIK9TuD8g7zNt09-U,2103
287
300
  truefoundry/ml/autogen/client/models/url.py,sha256=zMyOmdVkp1ANnQnc9GrHt42xlVwES7FTjrpOp_OtHqo,4953
288
301
  truefoundry/ml/autogen/client/models/user_message.py,sha256=6QOmKT_SDfAVZA8V3Bzofm7_c-Qznn4KsE12NmHG4FM,2783
289
302
  truefoundry/ml/autogen/client/models/validation_error.py,sha256=mFjwoc8g2-Usu1HXZhOQKQ4TGvLy4lwCzk8dHrJ69aA,2597
290
303
  truefoundry/ml/autogen/client/models/validation_error_loc_inner.py,sha256=nThJ5Gmy8W2Wok-ZOI4sK7uRe1BAkLS0qzq-XZbq8zs,4915
291
304
  truefoundry/ml/autogen/client/rest.py,sha256=9goba8qHjQuVx5O_yRaTKu7PvBnb7r7swfy3dwuTEgk,14281
292
- truefoundry/ml/autogen/client_README.md,sha256=8Pd74fIjHyzidtS6HGpusUgHj__nIdd_W6mBsi7tgRQ,33233
293
- truefoundry/ml/autogen/entities/artifacts.py,sha256=iIzfMPKLXZpzxu55lG0k3edraaZqXS4DLc6-FMzxk6g,10159
305
+ truefoundry/ml/autogen/client_README.md,sha256=ehPzJCsvWR_ghMgIcP-UXMG4AgqcJI6cbpuz1rcsqME,33871
306
+ truefoundry/ml/autogen/entities/artifacts.py,sha256=yXLrEsX28aCxpgRA8x8YM5M55LLlLiWoJqEWRAZu6_Y,16147
294
307
  truefoundry/ml/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
308
  truefoundry/ml/cli/cli.py,sha256=ckBcjUpqfhgrPE1okqT_G2iouOLt-0KjpLhHp2YdVFU,256
296
309
  truefoundry/ml/cli/commands/__init__.py,sha256=diDUiRUX4l6TtNLI4iF-ZblczkELM7FRViJ-8gGNJQY,82
@@ -302,35 +315,34 @@ truefoundry/ml/clients/utils.py,sha256=c0LdC8moejs-Zm30hu1sCqifLEmqhdq4SfZ_m0nUI
302
315
  truefoundry/ml/constants.py,sha256=vDq72d4C9FSWqr9MMdjgTF4TuyNFApvo_6RVsSeAjB4,2837
303
316
  truefoundry/ml/entities.py,sha256=si5GAqZsWzKu5MPrU4Hk6se7bebHOYhTiNw69ai-Uk8,1485
304
317
  truefoundry/ml/enums.py,sha256=arqDkF8duU_oVLFeYMhcfWYbF6Nq5mmjwupJMIheyXM,1790
305
- truefoundry/ml/env_vars.py,sha256=0CqhoV6RgxgPju71AJYvo7crHxVr0vJNzWTiSWKnLcI,212
306
318
  truefoundry/ml/exceptions.py,sha256=8aJm2NYtAWWsRLu4MbzaoOqHsQZ6RjOFwBWQWqb6qrc,244
307
319
  truefoundry/ml/git_info.py,sha256=jvAVm9ilqivnGq8qJdUvYdd8Siv0PLtqurB-PXsS5ho,2023
308
320
  truefoundry/ml/internal_namespace.py,sha256=QcqMHp6-C2im2H_02hlhi01EIcr1HhNaZprszs13EMU,1790
309
321
  truefoundry/ml/log_types/__init__.py,sha256=g4u4D4Jaj0aBK5GtrLV88-qThKZR9pSZ17vFEkN-LmM,125
310
- truefoundry/ml/log_types/artifacts/artifact.py,sha256=pNgLc6GaQ0UVJ6gaSRzpAW5CmGpJMC4iBgBY5FLlofc,17640
322
+ truefoundry/ml/log_types/artifacts/artifact.py,sha256=n2EwAupOigDcUXQQFIIESRqp7zipLZieec0vLQ2DVRQ,17593
311
323
  truefoundry/ml/log_types/artifacts/constants.py,sha256=qKxQ5mMvJE4j83BvGW3qNTKunxCiBg_EEjTdgbgJtyE,1036
312
- truefoundry/ml/log_types/artifacts/dataset.py,sha256=oXi7itXOe3PrnN4_KY7s1GdhWV1lyvWXRWgY6_vPTAs,12981
313
- truefoundry/ml/log_types/artifacts/general_artifact.py,sha256=fY74EUeCGdHdlkrp_GMoaZPvl7EQctt8OlRM6yFgLF8,3772
314
- truefoundry/ml/log_types/artifacts/model.py,sha256=NRIvGX0yCLGnLvZkuCRJGGEuONoUhXZSY2jmSUM3JvI,22162
324
+ truefoundry/ml/log_types/artifacts/dataset.py,sha256=a4dxd2EN8p7Ci-cLGGiDOboN3t0395_XhWE1dmTw1Q4,13112
325
+ truefoundry/ml/log_types/artifacts/general_artifact.py,sha256=_EOlNGMg2PFjlevlD6LEOsaQBBwRWs60PkzJases6tE,3927
326
+ truefoundry/ml/log_types/artifacts/model.py,sha256=cuVvBhCaOy165LxyF3NuY7UH61tgYOqFiVUde4WzMwg,21920
315
327
  truefoundry/ml/log_types/artifacts/model_extras.py,sha256=TIE73bLKfwIVzNiVcjmaZ841A70BHBwu4XAM6ZAQRFI,1045
316
- truefoundry/ml/log_types/artifacts/utils.py,sha256=dwmRBrEmwIktVcA1a3lrsUfmROO7THTLgYwJ4MpSUWU,5885
328
+ truefoundry/ml/log_types/artifacts/utils.py,sha256=TZwa-Nu10lrNfiQZTh2AkudI9zLZnMxIpPUDMZtylsk,6307
317
329
  truefoundry/ml/log_types/image/__init__.py,sha256=fcOq8yQnNj1rkLcPeIjLXBpdA1WIeiPsXOlAAvMxx7M,76
318
330
  truefoundry/ml/log_types/image/constants.py,sha256=wLtGEOA4T5fZHSlOXPuNDLX3lpbCtwlvGKPFk_1fah0,255
319
- truefoundry/ml/log_types/image/image.py,sha256=y2FOUVTNGtjzGW5AcaXObIxKQDGr1GoiSYBoRAB7ZaM,12310
331
+ truefoundry/ml/log_types/image/image.py,sha256=qQnAVgErAq4Jn6wXFFpaveOd52zcjUuomUCqNRxO2io,12478
320
332
  truefoundry/ml/log_types/image/image_normalizer.py,sha256=vrzfuSpVGgIxw_Q2sbFe7kQ_JpAndX0bMwC7wtfi41g,3104
321
333
  truefoundry/ml/log_types/image/types.py,sha256=inFQlyAyDvZtfliFpENirNCm1XO9beyZ8DNn97DoDKs,1568
322
- truefoundry/ml/log_types/plot.py,sha256=oFnXNb2o5fVF0zsnRjvqjSjLaphQWUnQCdw72e2uiMY,7347
334
+ truefoundry/ml/log_types/plot.py,sha256=HuYvvRA5r8V0xAIuuqMME2IHb9d3SfGHUiuEkOP3Uks,7515
323
335
  truefoundry/ml/log_types/pydantic_base.py,sha256=eBlw_AEyAz4iJKDP4zgJOCFWcldwQqpf7FADW1jzIQY,272
324
336
  truefoundry/ml/log_types/utils.py,sha256=xjJ21jdPScvFmw3TbVh5NCzbzJwaqiXJyiiT4xxX1EI,335
325
337
  truefoundry/ml/logger.py,sha256=VT-BF3BnBYTWVq87O58F0c8uXMu94gYzsiFlGY3_7Ao,458
326
- truefoundry/ml/mlfoundry_api.py,sha256=I2T8tXeAIWpD8EH05fm80mNyX6cs2S1ORI4qoo0HTpQ,60847
338
+ truefoundry/ml/mlfoundry_api.py,sha256=lVsD7WBqAZMNSEauKeiF1jCg_Fnt6IFEPRr4mwn1IMU,60820
327
339
  truefoundry/ml/mlfoundry_run.py,sha256=rNJl130iJkpjW3MNoe5-d_J9VJJQBqWHEJCfYeiZCbE,45123
328
340
  truefoundry/ml/run_utils.py,sha256=0W208wSLUrbdfk2pjNcZlkUi9bNxG2JORqoe-5rVqHI,2423
329
- truefoundry/ml/session.py,sha256=Rvq419hdLNBt0KUzKn7jGvKKg9LI_gafOHcw-lFceAE,5330
341
+ truefoundry/ml/session.py,sha256=F83GTC5WwGBjnJ69Ct8MqMnlutYc56JCc6YhEY1Wl-A,5394
330
342
  truefoundry/ml/validation_utils.py,sha256=XBSUd9OoyriWJpT3M5LKz17iWY3yVMr3hM5vdaVjtf0,12082
331
343
  truefoundry/pydantic_v1.py,sha256=jSuhGtz0Mbk1qYu8jJ1AcnIDK4oxUsdhALc4spqstmM,345
332
344
  truefoundry/version.py,sha256=bqiT4Q-VWrTC6P4qfK43mez-Ppf-smWfrl6DcwV7mrw,137
333
- truefoundry/workflow/__init__.py,sha256=hkDVrnG95duO-9XEmdjgrsvyhjQUVqyeQ1-dADB1QuE,935
345
+ truefoundry/workflow/__init__.py,sha256=c4daVkQE269b69lZRiRrRn4abAfIhVDN_4Na5MsFfmk,1414
334
346
  truefoundry/workflow/container_task.py,sha256=8arieePsX4__OnG337hOtCiNgJwtKJJCsZcmFmCBJtk,402
335
347
  truefoundry/workflow/example/deploy.sh,sha256=wfbPRrCi04WYRqCf4g-Xo12uWbcqPD6G_Tz0lV0jU_U,60
336
348
  truefoundry/workflow/example/hello_world_package/workflow.py,sha256=IkRKfPY5BcvLPo_PVuNbZKK9PPJ93LRkzb1a3RKQYOw,435
@@ -341,7 +353,7 @@ truefoundry/workflow/map_task.py,sha256=2m3qGXQ90k9LdS45q8dqCCECc3qr8t2m_LMCVd1m
341
353
  truefoundry/workflow/python_task.py,sha256=SRXRLC4vdBqGjhkwuaY39LEWN6iPCpJAuW17URRdWTY,1128
342
354
  truefoundry/workflow/task.py,sha256=ToitYiKcNzFCtOVQwz1W8sRjbR97eVS7vQBdbgUQtKg,1779
343
355
  truefoundry/workflow/workflow.py,sha256=WaTqUjhwfAXDWu4E5ehuwAxrCbDJkoAf1oWmR2E9Qy0,4575
344
- truefoundry-0.4.3rc0.dist-info/METADATA,sha256=gtyLuL2SsrUP6uuizszDwgBMW7JTX92jIynL1xNy3oA,3101
345
- truefoundry-0.4.3rc0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
346
- truefoundry-0.4.3rc0.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
347
- truefoundry-0.4.3rc0.dist-info/RECORD,,
356
+ truefoundry-0.4.4.dist-info/METADATA,sha256=6TAi6m39237cMPw6VHhWIod_MYAKTp733cSTpOHIKZs,3098
357
+ truefoundry-0.4.4.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
358
+ truefoundry-0.4.4.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
359
+ truefoundry-0.4.4.dist-info/RECORD,,
@@ -1,81 +0,0 @@
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
- from __future__ import annotations
15
-
16
- import json
17
- import pprint
18
- import re # noqa: F401
19
-
20
- from truefoundry.ml.autogen.client.models.experiment_dto import ExperimentDto
21
- from truefoundry.pydantic_v1 import BaseModel, Field, conlist
22
-
23
-
24
- class ListSeedExperimentsResponseDto(BaseModel):
25
- """
26
- ListSeedExperimentsResponseDto
27
- """
28
-
29
- experiments: conlist(ExperimentDto) = Field(...)
30
- __properties = ["experiments"]
31
-
32
- class Config:
33
- """Pydantic configuration"""
34
-
35
- allow_population_by_field_name = True
36
- validate_assignment = True
37
-
38
- def to_str(self) -> str:
39
- """Returns the string representation of the model using alias"""
40
- return pprint.pformat(self.dict(by_alias=True))
41
-
42
- def to_json(self) -> str:
43
- """Returns the JSON representation of the model using alias"""
44
- return json.dumps(self.to_dict())
45
-
46
- @classmethod
47
- def from_json(cls, json_str: str) -> ListSeedExperimentsResponseDto:
48
- """Create an instance of ListSeedExperimentsResponseDto from a JSON string"""
49
- return cls.from_dict(json.loads(json_str))
50
-
51
- def to_dict(self):
52
- """Returns the dictionary representation of the model using alias"""
53
- _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
54
- # override the default output from truefoundry.pydantic_v1 by calling `to_dict()` of each item in experiments (list)
55
- _items = []
56
- if self.experiments:
57
- for _item in self.experiments:
58
- if _item:
59
- _items.append(_item.to_dict())
60
- _dict["experiments"] = _items
61
- return _dict
62
-
63
- @classmethod
64
- def from_dict(cls, obj: dict) -> ListSeedExperimentsResponseDto:
65
- """Create an instance of ListSeedExperimentsResponseDto from a dict"""
66
- if obj is None:
67
- return None
68
-
69
- if not isinstance(obj, dict):
70
- return ListSeedExperimentsResponseDto.parse_obj(obj)
71
-
72
- _obj = ListSeedExperimentsResponseDto.parse_obj(
73
- {
74
- "experiments": [
75
- ExperimentDto.from_dict(_item) for _item in obj.get("experiments")
76
- ]
77
- if obj.get("experiments") is not None
78
- else None
79
- }
80
- )
81
- return _obj