truefoundry 0.5.0rc6__py3-none-any.whl → 0.5.1rc1__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.
- truefoundry/common/utils.py +73 -1
- truefoundry/deploy/__init__.py +5 -0
- truefoundry/deploy/cli/cli.py +2 -0
- truefoundry/deploy/cli/commands/__init__.py +1 -0
- truefoundry/deploy/cli/commands/deploy_init_command.py +22 -0
- truefoundry/deploy/lib/dao/application.py +2 -1
- truefoundry/deploy/v2/lib/patched_models.py +8 -0
- truefoundry/ml/__init__.py +15 -12
- truefoundry/ml/artifact/truefoundry_artifact_repo.py +8 -3
- truefoundry/ml/autogen/client/__init__.py +11 -0
- truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +161 -0
- truefoundry/ml/autogen/client/models/__init__.py +11 -0
- truefoundry/ml/autogen/client/models/artifact_version_manifest.py +2 -2
- truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py +82 -0
- truefoundry/ml/autogen/client/models/infer_method_name.py +34 -0
- truefoundry/ml/autogen/client/models/model_server.py +34 -0
- truefoundry/ml/autogen/client/models/model_version_environment.py +97 -0
- truefoundry/ml/autogen/client/models/model_version_manifest.py +14 -3
- truefoundry/ml/autogen/client/models/serialization_format.py +35 -0
- truefoundry/ml/autogen/client/models/sklearn_framework.py +31 -2
- truefoundry/ml/autogen/client/models/transformers_framework.py +2 -2
- truefoundry/ml/autogen/client/models/xg_boost_framework.py +20 -2
- truefoundry/ml/autogen/client_README.md +6 -0
- truefoundry/ml/autogen/entities/artifacts.py +65 -6
- truefoundry/ml/cli/commands/model_init.py +97 -0
- truefoundry/ml/cli/utils.py +34 -0
- truefoundry/ml/log_types/artifacts/model.py +48 -24
- truefoundry/ml/log_types/artifacts/utils.py +37 -1
- truefoundry/ml/mlfoundry_api.py +77 -79
- truefoundry/ml/mlfoundry_run.py +3 -31
- truefoundry/ml/model_framework.py +257 -3
- truefoundry/ml/validation_utils.py +2 -0
- {truefoundry-0.5.0rc6.dist-info → truefoundry-0.5.1rc1.dist-info}/METADATA +2 -6
- {truefoundry-0.5.0rc6.dist-info → truefoundry-0.5.1rc1.dist-info}/RECORD +36 -45
- truefoundry/deploy/function_service/__init__.py +0 -3
- truefoundry/deploy/function_service/__main__.py +0 -27
- truefoundry/deploy/function_service/app.py +0 -92
- truefoundry/deploy/function_service/build.py +0 -45
- truefoundry/deploy/function_service/remote/__init__.py +0 -6
- truefoundry/deploy/function_service/remote/context.py +0 -3
- truefoundry/deploy/function_service/remote/method.py +0 -67
- truefoundry/deploy/function_service/remote/remote.py +0 -144
- truefoundry/deploy/function_service/route.py +0 -137
- truefoundry/deploy/function_service/service.py +0 -113
- truefoundry/deploy/function_service/utils.py +0 -53
- truefoundry/langchain/__init__.py +0 -12
- truefoundry/langchain/deprecated.py +0 -302
- truefoundry/langchain/truefoundry_chat.py +0 -130
- truefoundry/langchain/truefoundry_embeddings.py +0 -171
- truefoundry/langchain/truefoundry_llm.py +0 -106
- truefoundry/langchain/utils.py +0 -44
- {truefoundry-0.5.0rc6.dist-info → truefoundry-0.5.1rc1.dist-info}/WHEEL +0 -0
- {truefoundry-0.5.0rc6.dist-info → truefoundry-0.5.1rc1.dist-info}/entry_points.txt +0 -0
|
@@ -1,10 +1,63 @@
|
|
|
1
|
+
import os
|
|
1
2
|
import warnings
|
|
2
|
-
from
|
|
3
|
-
|
|
4
|
-
from
|
|
3
|
+
from collections import OrderedDict
|
|
4
|
+
from pickle import load as pickle_load
|
|
5
|
+
from typing import Any, Callable, Dict, List, Literal, Optional, Type, Union, get_args
|
|
6
|
+
|
|
7
|
+
from truefoundry.common.utils import (
|
|
8
|
+
get_python_version_major_minor,
|
|
9
|
+
list_pip_packages_installed,
|
|
10
|
+
)
|
|
11
|
+
from truefoundry.ml.autogen.client import SerializationFormat
|
|
5
12
|
from truefoundry.ml.autogen.entities import artifacts as autogen_artifacts
|
|
13
|
+
from truefoundry.ml.enums import ModelFramework
|
|
14
|
+
from truefoundry.ml.log_types.artifacts.utils import (
|
|
15
|
+
get_single_file_path_if_only_one_in_directory,
|
|
16
|
+
to_unix_path,
|
|
17
|
+
)
|
|
6
18
|
from truefoundry.pydantic_v1 import BaseModel, Field
|
|
7
19
|
|
|
20
|
+
# Map serialization format to corresponding pip packages
|
|
21
|
+
SERIALIZATION_FORMAT_TO_PACKAGES_NAME_MAP = {
|
|
22
|
+
SerializationFormat.JOBLIB: ["joblib"],
|
|
23
|
+
SerializationFormat.CLOUDPICKLE: ["cloudpickle"],
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class _SerializationFormatLoaderRegistry:
|
|
28
|
+
def __init__(self):
|
|
29
|
+
# An OrderedDict is used to maintain the order of loaders based on priority
|
|
30
|
+
# The loaders are added in the following order:
|
|
31
|
+
# 1. joblib (if available)
|
|
32
|
+
# 2. cloudpickle (if available)
|
|
33
|
+
# 3. pickle (default fallback)
|
|
34
|
+
# This ensures that when looking up a loader, it follows the correct loading priority.
|
|
35
|
+
self._loader_map: Dict[SerializationFormat, Callable[[bytes], object]] = (
|
|
36
|
+
OrderedDict()
|
|
37
|
+
)
|
|
38
|
+
try:
|
|
39
|
+
from joblib import load as joblib_load
|
|
40
|
+
|
|
41
|
+
self._loader_map[SerializationFormat.JOBLIB] = joblib_load
|
|
42
|
+
except ImportError:
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
from cloudpickle import load as cloudpickle_load
|
|
47
|
+
|
|
48
|
+
self._loader_map[SerializationFormat.CLOUDPICKLE] = cloudpickle_load
|
|
49
|
+
except ImportError:
|
|
50
|
+
pass
|
|
51
|
+
|
|
52
|
+
# Add pickle loader as a fallback
|
|
53
|
+
self._loader_map[SerializationFormat.PICKLE] = pickle_load
|
|
54
|
+
|
|
55
|
+
def get_loader_map(self) -> Dict[SerializationFormat, Callable[[bytes], object]]:
|
|
56
|
+
return self._loader_map
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
_serialization_format_loader_registry = _SerializationFormatLoaderRegistry()
|
|
60
|
+
|
|
8
61
|
|
|
9
62
|
class FastAIFramework(autogen_artifacts.FastAIFramework):
|
|
10
63
|
"""FastAI model Framework"""
|
|
@@ -167,3 +220,204 @@ class _ModelFramework(BaseModel):
|
|
|
167
220
|
return None
|
|
168
221
|
|
|
169
222
|
return cls.parse_obj(obj).__root__
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
# Mapping of model frameworks to pip packages
|
|
226
|
+
_MODEL_FRAMEWORK_TO_PIP_PACKAGES: Dict[Type[ModelFrameworkType], List[str]] = {
|
|
227
|
+
SklearnFramework: ["scikit-learn", "numpy", "pandas"],
|
|
228
|
+
XGBoostFramework: ["xgboost", "numpy", "pandas"],
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
def _get_required_framework_pip_packages(framework: "ModelFrameworkType") -> List[str]:
|
|
233
|
+
"""
|
|
234
|
+
Fetches the pip packages required for a given model framework.
|
|
235
|
+
|
|
236
|
+
Args:
|
|
237
|
+
framework ("ModelFrameworkType"): The model framework for which to fetch the pip packages.
|
|
238
|
+
|
|
239
|
+
Returns:
|
|
240
|
+
List[str]: The list of pip packages required for the given model framework.
|
|
241
|
+
If no packages are found for the framework type, returns an empty list.
|
|
242
|
+
"""
|
|
243
|
+
return _MODEL_FRAMEWORK_TO_PIP_PACKAGES.get(framework.__class__, [])
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
def _detect_model_serialization_format(
|
|
247
|
+
model_file_path: str,
|
|
248
|
+
) -> Optional[SerializationFormat]:
|
|
249
|
+
"""
|
|
250
|
+
The function will attempt to load the model using each framework's loader and return the first successful one.
|
|
251
|
+
|
|
252
|
+
Args:
|
|
253
|
+
model_file_path (str): The path to the file to be loaded.
|
|
254
|
+
|
|
255
|
+
Returns:
|
|
256
|
+
Optional[SerializationFormat]: The serialization format if successfully loaded, None otherwise.
|
|
257
|
+
"""
|
|
258
|
+
# Attempt to load the model using each framework
|
|
259
|
+
for (
|
|
260
|
+
serialization_format,
|
|
261
|
+
loader,
|
|
262
|
+
) in _serialization_format_loader_registry.get_loader_map().items():
|
|
263
|
+
try:
|
|
264
|
+
with open(model_file_path, "rb") as f:
|
|
265
|
+
loader(f)
|
|
266
|
+
return serialization_format
|
|
267
|
+
except Exception:
|
|
268
|
+
continue
|
|
269
|
+
return None
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
def _fetch_framework_specific_pip_packages(
|
|
273
|
+
framework: "ModelFrameworkType",
|
|
274
|
+
) -> List[str]:
|
|
275
|
+
"""
|
|
276
|
+
Fetch the pip packages required for the given framework, including any dependencies
|
|
277
|
+
related to the framework's serialization format.
|
|
278
|
+
|
|
279
|
+
Args:
|
|
280
|
+
framework: The framework object (e.g., SklearnFramework, XGBoostFramework).
|
|
281
|
+
|
|
282
|
+
Returns:
|
|
283
|
+
List[str]: A list of pip packages for the given framework and environment,
|
|
284
|
+
including any dependencies based on the serialization format
|
|
285
|
+
(e.g., ['numpy==1.19.5', ...]).
|
|
286
|
+
"""
|
|
287
|
+
framework_package_names = _get_required_framework_pip_packages(framework=framework)
|
|
288
|
+
|
|
289
|
+
# Add serialization format dependencies if applicable
|
|
290
|
+
if isinstance(framework, (SklearnFramework, XGBoostFramework)):
|
|
291
|
+
framework_package_names.extend(
|
|
292
|
+
SERIALIZATION_FORMAT_TO_PACKAGES_NAME_MAP.get(
|
|
293
|
+
framework.serialization_format, []
|
|
294
|
+
)
|
|
295
|
+
)
|
|
296
|
+
return [
|
|
297
|
+
f"{package.name}=={package.version}"
|
|
298
|
+
for package in list_pip_packages_installed(
|
|
299
|
+
filter_package_names=framework_package_names
|
|
300
|
+
)
|
|
301
|
+
]
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
def auto_update_environment_details(
|
|
305
|
+
environment: autogen_artifacts.ModelVersionEnvironment,
|
|
306
|
+
framework: Optional[ModelFrameworkType],
|
|
307
|
+
):
|
|
308
|
+
"""
|
|
309
|
+
Auto fetch the environment details if not provided, based on the provided environment and framework.
|
|
310
|
+
|
|
311
|
+
Args:
|
|
312
|
+
environment: The environment object that holds environment details like python_version and pip_packages.
|
|
313
|
+
framework: The framework object (e.g., SklearnFramework, XGBoostFramework) that may affect pip_package fetching.
|
|
314
|
+
"""
|
|
315
|
+
# Auto fetch python_version if not provided
|
|
316
|
+
if not environment.python_version:
|
|
317
|
+
environment.python_version = get_python_version_major_minor()
|
|
318
|
+
|
|
319
|
+
# Framework-specific pip_package handling
|
|
320
|
+
if framework and not environment.pip_packages:
|
|
321
|
+
environment.pip_packages = _fetch_framework_specific_pip_packages(framework)
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
def _validate_and_get_absolute_model_filepath(
|
|
325
|
+
model_file_or_folder: str,
|
|
326
|
+
model_filepath: Optional[str] = None,
|
|
327
|
+
) -> Optional[str]:
|
|
328
|
+
# If no model_filepath is set, resolve it from the directory
|
|
329
|
+
if not model_filepath:
|
|
330
|
+
# If model_filepath is not set, resolve it based on these cases:
|
|
331
|
+
# - Case 1: model_file_or_folder/model.joblib -> model.joblib
|
|
332
|
+
# - Case 2: model_file_or_folder/folder/model.joblib -> folder/model.joblib
|
|
333
|
+
# - Case 3: model_file_or_folder/folder/model.joblib, model_file_or_folder/config.json -> None
|
|
334
|
+
return get_single_file_path_if_only_one_in_directory(model_file_or_folder)
|
|
335
|
+
|
|
336
|
+
# If model_filepath is already set, validate and resolve it:
|
|
337
|
+
# - Case 1: Resolve the absolute file path of the model file relative to the provided directory.
|
|
338
|
+
# Example: If model_file_or_folder is '/root/models' and model_filepath is 'model.joblib',
|
|
339
|
+
# the resolved model file path would be '/root/models/model.joblib'. Validate it.
|
|
340
|
+
#
|
|
341
|
+
# - Case 2: If model_filepath is a relative path, resolve it to an absolute path based on the provided directory.
|
|
342
|
+
# Example: If model_file_or_folder is '/root/models' and model_filepath is 'subfolder/model.joblib',
|
|
343
|
+
# the resolved path would be '/root/models/subfolder/model.joblib'. Validate it.
|
|
344
|
+
#
|
|
345
|
+
# - Case 3: Verify that the resolved model file exists and is a valid file.
|
|
346
|
+
# Example: If the resolved path is '/root/models/model.joblib', check if the file exists.
|
|
347
|
+
# If it does not exist, raise a FileNotFoundError.
|
|
348
|
+
#
|
|
349
|
+
# - Case 4: Ensure the resolved model file is located within the specified directory or is the directory itself.
|
|
350
|
+
# Example: If the resolved path is '/root/models/model.joblib' and model_file_or_folder is '/root/models',
|
|
351
|
+
# the resolved path is valid. If the file lies outside '/root/models', raise a ValueError.
|
|
352
|
+
#
|
|
353
|
+
|
|
354
|
+
# If model_filepath is set, Resolve the absolute path of the model file (It can be a relative path or absolute path)
|
|
355
|
+
model_dir = (
|
|
356
|
+
os.path.dirname(model_file_or_folder)
|
|
357
|
+
if os.path.isfile(model_file_or_folder)
|
|
358
|
+
else model_file_or_folder
|
|
359
|
+
)
|
|
360
|
+
absolute_model_filepath = os.path.abspath(os.path.join(model_dir, model_filepath))
|
|
361
|
+
|
|
362
|
+
# Validate if resolve valid is within the provided directory or is the same as it
|
|
363
|
+
if not (
|
|
364
|
+
absolute_model_filepath == model_file_or_folder
|
|
365
|
+
or absolute_model_filepath.startswith(model_file_or_folder + os.sep)
|
|
366
|
+
):
|
|
367
|
+
raise ValueError(
|
|
368
|
+
f"model_filepath '{model_filepath}' must be relative to "
|
|
369
|
+
f"{model_file_or_folder}. Resolved path '{absolute_model_filepath}' is invalid."
|
|
370
|
+
)
|
|
371
|
+
|
|
372
|
+
if not os.path.isfile(absolute_model_filepath):
|
|
373
|
+
raise FileNotFoundError(f"Model file not found: {absolute_model_filepath}")
|
|
374
|
+
|
|
375
|
+
return absolute_model_filepath
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
def _validate_and_resolve_model_filepath(
|
|
379
|
+
model_file_or_folder: str,
|
|
380
|
+
model_filepath: Optional[str] = None,
|
|
381
|
+
) -> Optional[str]:
|
|
382
|
+
absolute_model_filepath = _validate_and_get_absolute_model_filepath(
|
|
383
|
+
model_file_or_folder=model_file_or_folder, model_filepath=model_filepath
|
|
384
|
+
)
|
|
385
|
+
if absolute_model_filepath:
|
|
386
|
+
return to_unix_path(
|
|
387
|
+
os.path.relpath(absolute_model_filepath, model_file_or_folder)
|
|
388
|
+
if os.path.isdir(model_file_or_folder)
|
|
389
|
+
else os.path.basename(absolute_model_filepath)
|
|
390
|
+
)
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
def auto_update_model_framework_details(
|
|
394
|
+
framework: "ModelFrameworkType", model_file_or_folder: str
|
|
395
|
+
):
|
|
396
|
+
"""
|
|
397
|
+
Auto update the model framework details based on the provided model file or folder path.
|
|
398
|
+
|
|
399
|
+
Args:
|
|
400
|
+
framework: The framework object (e.g., SklearnFramework, XGBoostFramework) to update.
|
|
401
|
+
model_file_or_folder: The path to the model file or folder.
|
|
402
|
+
"""
|
|
403
|
+
|
|
404
|
+
# Ensure the model file or folder path is an absolute path
|
|
405
|
+
model_file_or_folder = os.path.abspath(model_file_or_folder)
|
|
406
|
+
|
|
407
|
+
if isinstance(framework, (SklearnFramework, XGBoostFramework)):
|
|
408
|
+
framework.model_filepath = _validate_and_resolve_model_filepath(
|
|
409
|
+
model_file_or_folder=model_file_or_folder,
|
|
410
|
+
model_filepath=framework.model_filepath,
|
|
411
|
+
)
|
|
412
|
+
if framework.model_filepath:
|
|
413
|
+
absolute_model_filepath = (
|
|
414
|
+
model_file_or_folder
|
|
415
|
+
if os.path.isfile(model_file_or_folder)
|
|
416
|
+
else os.path.join(model_file_or_folder, framework.model_filepath)
|
|
417
|
+
)
|
|
418
|
+
framework.serialization_format = (
|
|
419
|
+
framework.serialization_format
|
|
420
|
+
or _detect_model_serialization_format(
|
|
421
|
+
model_file_path=absolute_model_filepath
|
|
422
|
+
)
|
|
423
|
+
)
|
|
@@ -29,6 +29,8 @@ _ML_REPO_NAME_REGEX = re.compile(r"^[a-zA-Z][a-zA-Z0-9\-]{1,98}[a-zA-Z0-9]$")
|
|
|
29
29
|
_RUN_NAME_REGEX = re.compile(r"^[a-zA-Z0-9-]*$")
|
|
30
30
|
_RUN_LOG_LOG_TYPE_REGEX = re.compile(r"^[a-zA-Z0-9-/]*$")
|
|
31
31
|
_RUN_LOG_KEY_REGEX = re.compile(r"^[a-zA-Z0-9-_]*$")
|
|
32
|
+
_APP_NAME_REGEX = re.compile(r"^[a-z][a-z0-9\\-]{1,30}[a-z0-9]$")
|
|
33
|
+
|
|
32
34
|
|
|
33
35
|
MAX_PARAMS_TAGS_PER_BATCH = 100
|
|
34
36
|
MAX_METRICS_PER_BATCH = 1000
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: truefoundry
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1rc1
|
|
4
4
|
Summary: Truefoundry CLI
|
|
5
5
|
Author: Abhishek Choudhary
|
|
6
6
|
Author-email: abhishek@truefoundry.com
|
|
@@ -19,7 +19,6 @@ Requires-Dist: aenum (>=3.0.0,<4.0.0)
|
|
|
19
19
|
Requires-Dist: click (>=7.0.0,<9.0.0)
|
|
20
20
|
Requires-Dist: coolname (>=1.1.0,<2.0.0)
|
|
21
21
|
Requires-Dist: docker (>=6.1.2,<8.0.0)
|
|
22
|
-
Requires-Dist: fastapi (>=0.56.0,<0.200.0)
|
|
23
22
|
Requires-Dist: filelock (>=3.8.0,<4.0.0)
|
|
24
23
|
Requires-Dist: flytekit (==1.13.13) ; extra == "workflow"
|
|
25
24
|
Requires-Dist: gitignorefile (>=1.1.2,<2.0.0)
|
|
@@ -29,15 +28,13 @@ Requires-Dist: numpy (>=1.23.0,<2.0.0) ; python_version < "3.12"
|
|
|
29
28
|
Requires-Dist: numpy (>=1.26.0,<2.0.0) ; python_version >= "3.12"
|
|
30
29
|
Requires-Dist: openai (>=1.16.2,<2.0.0)
|
|
31
30
|
Requires-Dist: packaging (>=20.0,<25.0)
|
|
32
|
-
Requires-Dist: pandas (>=1.0.0,<3.0.0) ; python_version < "3.10"
|
|
33
|
-
Requires-Dist: pandas (>=1.4.0,<3.0.0) ; python_version >= "3.10"
|
|
34
31
|
Requires-Dist: pydantic (>=1.8.2,<3.0.0)
|
|
35
32
|
Requires-Dist: pygments (>=2.12.0,<3.0.0)
|
|
36
33
|
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
|
|
37
34
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
38
35
|
Requires-Dist: python-socketio[client] (>=5.5.2,<6.0.0)
|
|
39
36
|
Requires-Dist: questionary (>=1.10.0,<2.0.0)
|
|
40
|
-
Requires-Dist: requests (>=2.
|
|
37
|
+
Requires-Dist: requests (>=2.18.0,<3.0.0)
|
|
41
38
|
Requires-Dist: requirements-parser (>=0.11.0,<0.12.0)
|
|
42
39
|
Requires-Dist: rich (>=13.7.1,<14.0.0)
|
|
43
40
|
Requires-Dist: rich-click (>=1.2.1,<2.0.0)
|
|
@@ -46,7 +43,6 @@ Requires-Dist: scipy (>=1.5.0,<2.0.0) ; python_version < "3.12"
|
|
|
46
43
|
Requires-Dist: tqdm (>=4.0.0,<5.0.0)
|
|
47
44
|
Requires-Dist: typing-extensions (>=4.0)
|
|
48
45
|
Requires-Dist: urllib3 (>=1.26.18,<3)
|
|
49
|
-
Requires-Dist: uvicorn (>=0.13.0,<1.0.0)
|
|
50
46
|
Requires-Dist: yq (>=3.1.0,<4.0.0)
|
|
51
47
|
Description-Content-Type: text/markdown
|
|
52
48
|
|
|
@@ -34,8 +34,8 @@ truefoundry/common/entities.py,sha256=8O-EGPk4PKqnyoFMKUTxISCU19rz0KBnfRDJU695Dh
|
|
|
34
34
|
truefoundry/common/exceptions.py,sha256=ePpiQ_zmWe4e94gOgeMiyP_AZnKwjEBfyXsB5ScGYcI,329
|
|
35
35
|
truefoundry/common/request_utils.py,sha256=5xw4YGUcMf71Ncal3OfFCa-PoWDIvG3hYGCDa4Da4OI,2854
|
|
36
36
|
truefoundry/common/servicefoundry_client.py,sha256=2fxmgCM-ckFHpnm6n_mL-5Z8RWN_q-dYVvFC29bkYSg,3120
|
|
37
|
-
truefoundry/common/utils.py,sha256=
|
|
38
|
-
truefoundry/deploy/__init__.py,sha256=
|
|
37
|
+
truefoundry/common/utils.py,sha256=XgMq06zOu-Fy8ACtbmWlQgAW6jFxKPGHUBirO7N82WA,5725
|
|
38
|
+
truefoundry/deploy/__init__.py,sha256=p14_yIJw2bcaKW3c1DTaoM7UwfHvt2T_MfeFlZIz1g4,2359
|
|
39
39
|
truefoundry/deploy/auto_gen/models.py,sha256=8848BDbq2hO8Y75LsBH3cS0vi8qEOKU5x6oBtVmYorE,82552
|
|
40
40
|
truefoundry/deploy/builder/__init__.py,sha256=1qjHMNBE1poRCZW0WrG46dFM1f1IlivD5352qzsioMU,4953
|
|
41
41
|
truefoundry/deploy/builder/builders/__init__.py,sha256=tlFLXqyDaKLd4iZbo4Hcu_8gOmgtL6drnXpbmQ6x1P8,636
|
|
@@ -48,14 +48,15 @@ truefoundry/deploy/builder/constants.py,sha256=eIukBjD6I4KvEmAPpdbPlPPr76yhS-uNr
|
|
|
48
48
|
truefoundry/deploy/builder/docker_service.py,sha256=OI8efqK0Gnoii8bcHihpA2StwHVzsMREfBk7NvMR4hY,3950
|
|
49
49
|
truefoundry/deploy/builder/utils.py,sha256=9RZnkhoHFTRUt_x3nck0aVz7cLpzA3jiwQH-ZZZrjf8,938
|
|
50
50
|
truefoundry/deploy/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
-
truefoundry/deploy/cli/cli.py,sha256=
|
|
52
|
-
truefoundry/deploy/cli/commands/__init__.py,sha256
|
|
51
|
+
truefoundry/deploy/cli/cli.py,sha256=BuAW-R98oz1wzPDg00fPgrK1UDoCfy0Tu6pWW9Ud1Ns,2887
|
|
52
|
+
truefoundry/deploy/cli/commands/__init__.py,sha256=-i3ltscehEO0hy-Cf6gPLaiobfv8tZetPKaaCyR9B3M,1364
|
|
53
53
|
truefoundry/deploy/cli/commands/apply_command.py,sha256=FdTeuyOPEoPSU6GP_aQGNOJV0S0rm7PkxrAlXiNvoX8,1864
|
|
54
54
|
truefoundry/deploy/cli/commands/build_command.py,sha256=DQ7NARgkIgV4z0Zdnl3zMDKU_fSkN5-FkjCQypgmWpo,1255
|
|
55
55
|
truefoundry/deploy/cli/commands/build_logs_command.py,sha256=WrPOlFec_wwuzdJmKZ8mjca-oFVvxgfblcqj2LlhWJA,2804
|
|
56
56
|
truefoundry/deploy/cli/commands/create_command.py,sha256=ZjA4EP1jHYuVE1zx0kN-giBr3y0sEiXnu8xMsNyD2Rg,1850
|
|
57
57
|
truefoundry/deploy/cli/commands/delete_command.py,sha256=4tyIameA1pVu9uZZNJPK6rqdV-cJogf51iCCrG-9noI,2390
|
|
58
58
|
truefoundry/deploy/cli/commands/deploy_command.py,sha256=d2Yhgn-zTEIlFUR-IBYpt7-dsec__hsGd1no207u-Q8,4000
|
|
59
|
+
truefoundry/deploy/cli/commands/deploy_init_command.py,sha256=4NnAfd_S_LGwvhRB8z-HEGKoJ2GN1NnKpx9ReDP_HCk,607
|
|
59
60
|
truefoundry/deploy/cli/commands/get_command.py,sha256=w7h5C4bJpmHJ99rgiGg9J_X0xi8aZUeB6Q-SoZUV1tg,5979
|
|
60
61
|
truefoundry/deploy/cli/commands/list_command.py,sha256=cFARY22L5xspBX7TWsx41IF4RiRMok7KBwv7hQRFXNs,4498
|
|
61
62
|
truefoundry/deploy/cli/commands/login_command.py,sha256=WV4Ad8PJ2_yNfCJi1VWW2GNwU6khZ2sWZbKebxJ7oVM,1038
|
|
@@ -74,17 +75,6 @@ truefoundry/deploy/cli/util.py,sha256=bxbNEX3mbhtDpXw3b2GAnbxe0xvCF9N1sCMK6yatz0
|
|
|
74
75
|
truefoundry/deploy/core/__init__.py,sha256=j61bMWj4BkWihdssKMSFhieo7afJDtpc7qO7zk1rDB4,140
|
|
75
76
|
truefoundry/deploy/core/login.py,sha256=N2VrW3nlBzoyoYulkipxwQvCpjBhi3sfsmhxK1ktWhg,236
|
|
76
77
|
truefoundry/deploy/core/logout.py,sha256=TpWLq4_DsxYS5GX2OJQGDhekNOfiOLb-vO5khQueHXw,80
|
|
77
|
-
truefoundry/deploy/function_service/__init__.py,sha256=9aVI0OdXz4pN8an39lMnVjls-NA38mAB38U7G4bM6N4,200
|
|
78
|
-
truefoundry/deploy/function_service/__main__.py,sha256=a4CqaCo_Y2MlbusDme5ybEpc2zNnK10mI-PnV3moHf8,787
|
|
79
|
-
truefoundry/deploy/function_service/app.py,sha256=YqkWav_Nnj0lgBkO2QoR7mMyFw6OzwM-C_VRaccEO3Q,2890
|
|
80
|
-
truefoundry/deploy/function_service/build.py,sha256=XWB4bIIii76Cwq5UBupt5WUNs6InSA3rBQboiDDRDe8,1828
|
|
81
|
-
truefoundry/deploy/function_service/remote/__init__.py,sha256=X1zEW6SSuemydmparLolvQuQSmwXkWUnx516xm3IUaA,199
|
|
82
|
-
truefoundry/deploy/function_service/remote/context.py,sha256=g6HaHM-w-dcfswJFcu6muYhbyFCJID64XnuPN_c0fXo,67
|
|
83
|
-
truefoundry/deploy/function_service/remote/method.py,sha256=DLLgtdQcnTmTiAfeX6pvqM57P1UPbO7kF9B-hPugAGo,1867
|
|
84
|
-
truefoundry/deploy/function_service/remote/remote.py,sha256=iz3Rts03atxlD4fmDOuHeGIt8HlXLF1h8OYD7Lp6XZg,4203
|
|
85
|
-
truefoundry/deploy/function_service/route.py,sha256=Wcn5YacWZXA2XKw98cXbwZLL-AaknLEskybN852LSkk,4513
|
|
86
|
-
truefoundry/deploy/function_service/service.py,sha256=2RnwTSxVa1f12SSqkWD4Ttj6A9hoWchPIscvfXeX3IQ,4169
|
|
87
|
-
truefoundry/deploy/function_service/utils.py,sha256=fSF8g19L-fpbaqf91SEB3HNtaJ93SwKC7txqYePhES0,1332
|
|
88
78
|
truefoundry/deploy/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
79
|
truefoundry/deploy/io/output_callback.py,sha256=V2YwUFec4G4a67lM4r-x_64AqdOVNo_9sTdfQWLlvi0,604
|
|
90
80
|
truefoundry/deploy/io/rich_output_callback.py,sha256=TJLiRD-EnFVwgcepxR7WN0koKqW1X2DevETPhNPi_nU,829
|
|
@@ -95,7 +85,7 @@ truefoundry/deploy/lib/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
|
95
85
|
truefoundry/deploy/lib/clients/servicefoundry_client.py,sha256=tkuPNbo9vDTgXPHD4p3d-t6HigBvKNfML1pTQXBwJfY,26170
|
|
96
86
|
truefoundry/deploy/lib/const.py,sha256=repGJLuoMqtzeq5tCjjkN4bH187FVHVKI30BricOlvc,244
|
|
97
87
|
truefoundry/deploy/lib/dao/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
|
-
truefoundry/deploy/lib/dao/application.py,sha256=
|
|
88
|
+
truefoundry/deploy/lib/dao/application.py,sha256=xUqF34abde71YZo9gkR-WvVJi1C6nBeGBNw4kL5FdIo,9226
|
|
99
89
|
truefoundry/deploy/lib/dao/apply.py,sha256=sXnQY6RVzLVm1fX2BKuWHAoKlKISirrcByHEhY3x4zo,2570
|
|
100
90
|
truefoundry/deploy/lib/dao/version.py,sha256=AtdW_4O1DPUKdfv2qy6iUJsZ_95vM6z0AqeEy3WDKs8,1130
|
|
101
91
|
truefoundry/deploy/lib/dao/workspace.py,sha256=jm8UWytwVajVcrYyHSTCwWYDYl-RHuk0zAf9Caj4GzQ,2356
|
|
@@ -114,20 +104,14 @@ truefoundry/deploy/v2/lib/deploy.py,sha256=HIcY3SzQ5lWl7avuuKi3J0Z-PBES6Sf4hgMK-
|
|
|
114
104
|
truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=hgAhd1EGwFLz319Vs-WNXHDJmbKjdgkGPzDnBD1Up1k,12579
|
|
115
105
|
truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=MROgMxhn9hDEAKwJSWl3iz12tUVvRKzEtqF2QUT6dAk,3343
|
|
116
106
|
truefoundry/deploy/v2/lib/models.py,sha256=pSolLMTArDuYpeNsmeeS5DWliloN_iCDfZSpRllMHUg,1120
|
|
117
|
-
truefoundry/deploy/v2/lib/patched_models.py,sha256=
|
|
107
|
+
truefoundry/deploy/v2/lib/patched_models.py,sha256=NTU8J_CwdvEuF9zNXwFyN3suOp_196Wrm75DDy5qcXE,14184
|
|
118
108
|
truefoundry/deploy/v2/lib/source.py,sha256=VHKuFREiixUP40D3Mrz-TA70spu1M0RbCzl--qwlFaY,9263
|
|
119
|
-
truefoundry/langchain/__init__.py,sha256=zeYKxKrQhfYXQuBec3wvB_ZqKowDUUjLUKUhbiu9ZFs,558
|
|
120
|
-
truefoundry/langchain/deprecated.py,sha256=8tfLHXwcifGl7DYhMNfzc4zRVCVqEgARg5BsbZp11NE,10835
|
|
121
|
-
truefoundry/langchain/truefoundry_chat.py,sha256=ZA5iyW56fzJeBGxHUpNLFdpy2g9Kw0UHSh0YoNf-xUE,4960
|
|
122
|
-
truefoundry/langchain/truefoundry_embeddings.py,sha256=8nRaZ7W1ao1WF0LHk6nNel1LubA8XtDaffGIlUZYeQM,6104
|
|
123
|
-
truefoundry/langchain/truefoundry_llm.py,sha256=CJXyCgXIMbDsVRuuvEA5PKJsf6aRyVlYuG7zC4qtZXE,3802
|
|
124
|
-
truefoundry/langchain/utils.py,sha256=PGLDe9chZ3BuUjakexOGpIqZRFoHEgu-zJ9yKdpLLmM,1329
|
|
125
109
|
truefoundry/logger.py,sha256=u-YCNjg5HBwE70uQcpjIG64Ghos-K2ulTWaxC03BSj4,714
|
|
126
|
-
truefoundry/ml/__init__.py,sha256=
|
|
110
|
+
truefoundry/ml/__init__.py,sha256=qfYk5FVNDl50_RJBvIjfzQakOQ4HHLH8oVYmb4SOOh0,1963
|
|
127
111
|
truefoundry/ml/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
-
truefoundry/ml/artifact/truefoundry_artifact_repo.py,sha256=
|
|
112
|
+
truefoundry/ml/artifact/truefoundry_artifact_repo.py,sha256=FksxhUpRHb9pgWZmAB16DhXqkAL6UIAPA1S3RJUApQU,46201
|
|
129
113
|
truefoundry/ml/autogen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
130
|
-
truefoundry/ml/autogen/client/__init__.py,sha256=
|
|
114
|
+
truefoundry/ml/autogen/client/__init__.py,sha256=xQKSEKW6Kn-F7GRHaDKjKNjle8JTOFiMs4Liq2kh8Rc,19383
|
|
131
115
|
truefoundry/ml/autogen/client/api/__init__.py,sha256=NyMBxBmIzB1o5LzZZwz9LiydHB3-hPqc_sevsnY6Jrw,746
|
|
132
116
|
truefoundry/ml/autogen/client/api/auth_api.py,sha256=zpWzJhUmW6HHMY_atlUf0B25k77E1kue2hmix5I5Ih0,7017
|
|
133
117
|
truefoundry/ml/autogen/client/api/deprecated_api.py,sha256=mu5x_skNcwz8v1Tr6VP72-tVP7pmBV9muyKy_2NH3F0,38824
|
|
@@ -135,14 +119,14 @@ truefoundry/ml/autogen/client/api/experiments_api.py,sha256=mRKS8qGzcFJUpTWjfQoF
|
|
|
135
119
|
truefoundry/ml/autogen/client/api/generate_code_snippet_api.py,sha256=C8iABP-pYIyIoTlL8PFi3ZBG_6B_dkQf09eErNeoj7A,22316
|
|
136
120
|
truefoundry/ml/autogen/client/api/health_api.py,sha256=IAPhRAo9CLUT5ipVR1fCf-qDx57UR0wg5ekhtUl8lug,11554
|
|
137
121
|
truefoundry/ml/autogen/client/api/metrics_api.py,sha256=q3L38eD-2hu4_9YvcSdnWDYXD2V8il-X9reinOAABek,14908
|
|
138
|
-
truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py,sha256=
|
|
122
|
+
truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py,sha256=6AXyTrxQVnBIxELij-4WkdqS-2AJUXZqrxBG_bBuCII,306208
|
|
139
123
|
truefoundry/ml/autogen/client/api/run_artifacts_api.py,sha256=x-vVnY2LEFChZxiiFauswRWwFz6Qqh30PKXjzuTvxmc,8799
|
|
140
124
|
truefoundry/ml/autogen/client/api/runs_api.py,sha256=-aghrZ2VYuZOw_vBtOzWDsnK7Ji29oZQxK2CLRgyo2w,119232
|
|
141
125
|
truefoundry/ml/autogen/client/api_client.py,sha256=M31IycWorn10FYS8WbO_Whaipr0tVu2pVWFCfbS7XCo,29167
|
|
142
126
|
truefoundry/ml/autogen/client/api_response.py,sha256=KRyvecPMXF05PaxILHZ8JHoP4rgKBjKONMgG83aU-rM,844
|
|
143
127
|
truefoundry/ml/autogen/client/configuration.py,sha256=V1oaEnxt-NfpaNmp-EZpf2glovzVhM2coWYt8HBNB4M,15723
|
|
144
128
|
truefoundry/ml/autogen/client/exceptions.py,sha256=XbCbDHhYT3BVejdoGNPgEa4oS56ypkwFdxk1iOc_tFY,5355
|
|
145
|
-
truefoundry/ml/autogen/client/models/__init__.py,sha256=
|
|
129
|
+
truefoundry/ml/autogen/client/models/__init__.py,sha256=_nSy0foDUUFyyE5zSBYKz16d5BvbWzJfCCGvMraUieY,18005
|
|
146
130
|
truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py,sha256=_ISDspicTGjBCYYXubKfRYYSSQVyW3AvG-jFh47-Zfc,2163
|
|
147
131
|
truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py,sha256=OT1-98DyWNfAHz_EgD2gMX2XkrGQ4Re945fhoAl8qSE,2099
|
|
148
132
|
truefoundry/ml/autogen/client/models/agent.py,sha256=lUAbs092yo9hZmqzX6atKebDNf1uEwTf5jLvjOdvoeM,3872
|
|
@@ -154,7 +138,7 @@ truefoundry/ml/autogen/client/models/artifact_dto.py,sha256=JWL8_sITJJXbxywcfRj4
|
|
|
154
138
|
truefoundry/ml/autogen/client/models/artifact_response_dto.py,sha256=T_HLjkHnqiO1bnSXiCUOlwDEHGz89mlUNhBq0SJTapo,2226
|
|
155
139
|
truefoundry/ml/autogen/client/models/artifact_type.py,sha256=LBXGYUoesmL5J-0xzCR8jBST3bjb6HY86RmqSGvytRs,828
|
|
156
140
|
truefoundry/ml/autogen/client/models/artifact_version_dto.py,sha256=GXjjKycpsEgJ60V2hAfL4NMxM2gZKLP2qV2yBb9WgdM,6174
|
|
157
|
-
truefoundry/ml/autogen/client/models/artifact_version_manifest.py,sha256=
|
|
141
|
+
truefoundry/ml/autogen/client/models/artifact_version_manifest.py,sha256=3_r-Xsc1OwydVeh9nORAnKegkI73fGgJw4AzKzj0UPQ,3617
|
|
158
142
|
truefoundry/ml/autogen/client/models/artifact_version_response_dto.py,sha256=JmiSYdPYG-ki6LCBeF7NtihdQ2LPiHld8cSPivY2GmQ,2421
|
|
159
143
|
truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py,sha256=2Qfgq1nykn0_mKNEJzOxhQwHm_95WIr9wJcHLeFWXQM,774
|
|
160
144
|
truefoundry/ml/autogen/client/models/artifact_version_status.py,sha256=iIcomqhuaJkZH2rT3e6IjQutM79t9hEshW-RCIMKHEY,780
|
|
@@ -199,6 +183,7 @@ truefoundry/ml/autogen/client/models/experiment_dto.py,sha256=bl4-Hp1EHl8CEKgWq6
|
|
|
199
183
|
truefoundry/ml/autogen/client/models/experiment_id_request_dto.py,sha256=ZMH827n_UTpDI30UnkuOam-4ANBKCDgocIzI8StxFR8,1891
|
|
200
184
|
truefoundry/ml/autogen/client/models/experiment_response_dto.py,sha256=wuflV6_f8PQq061-wU2GzNY4BZi8SG8ARCIbSQN1oT4,2268
|
|
201
185
|
truefoundry/ml/autogen/client/models/experiment_tag_dto.py,sha256=nEpCkeZ9ficIDkjmmLfkJeNNokd-Rhgr-cepPWG6L3M,1902
|
|
186
|
+
truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py,sha256=6sITpcpFWZ3kC7WOvTKax2QO2OQNHONsPGlmjZQK6ww,2503
|
|
202
187
|
truefoundry/ml/autogen/client/models/external_artifact_source.py,sha256=h94vLz48yQg5l86V17Ve9PuwMnmkrLJxeDlX_tFOJ48,2361
|
|
203
188
|
truefoundry/ml/autogen/client/models/fast_ai_framework.py,sha256=GwVoMbIzYhr4srFXyFb565qq-_Q-7SkUsjT7zlRGz2k,2171
|
|
204
189
|
truefoundry/ml/autogen/client/models/file_info_dto.py,sha256=7oc8venicsFVk8zT9wHNhHnZGtFkFlqimFnS7ozGL9k,2156
|
|
@@ -221,6 +206,7 @@ truefoundry/ml/autogen/client/models/h2_o_framework.py,sha256=5X-0Xbt4tpecV_q6Ww
|
|
|
221
206
|
truefoundry/ml/autogen/client/models/http_validation_error.py,sha256=bU-uUlz_qeFba3iHdBT7cHjLu6WZ-JmImYqgZ-kCvxM,2466
|
|
222
207
|
truefoundry/ml/autogen/client/models/image_content_part.py,sha256=m_LE5XqD_UD0f8jtWt0adRgz_FoLEvgZbCDTSYORnCc,2717
|
|
223
208
|
truefoundry/ml/autogen/client/models/image_url.py,sha256=TN8iEdBUmtKdTFlApUodaC4o6X_Ggd3OSOKVPv7laJE,2170
|
|
209
|
+
truefoundry/ml/autogen/client/models/infer_method_name.py,sha256=01flpfaOwmqXYFZnrSJCVNl8XK4Sen5slxA6zCo4G18,788
|
|
224
210
|
truefoundry/ml/autogen/client/models/internal_metadata.py,sha256=6OizrIzA3QxlEnwNFXCZGOMJuUDSYHctl_30q27uBDI,6232
|
|
225
211
|
truefoundry/ml/autogen/client/models/keras_framework.py,sha256=sBKDT4Dzkvr3Rf7c8YKRbtzaO_KrPNsW8tdWI_n701Q,2150
|
|
226
212
|
truefoundry/ml/autogen/client/models/latest_run_log_dto.py,sha256=wE8T8bANTb9u14Jv7DNyKWekZiUAvrzvTcE_H1cRhn4,2326
|
|
@@ -258,8 +244,10 @@ truefoundry/ml/autogen/client/models/mime_type.py,sha256=A-N5-Mof_IyHWguXmG67k9w
|
|
|
258
244
|
truefoundry/ml/autogen/client/models/model_configuration.py,sha256=XKhwqO8caQ8w9XRCdb_pAl-84cd_PWkEutjLNSby6hQ,3861
|
|
259
245
|
truefoundry/ml/autogen/client/models/model_dto.py,sha256=TUO74MDqe8XCVJBB2O7TiqiRON8qbE7gi8LNA3uWjYA,4685
|
|
260
246
|
truefoundry/ml/autogen/client/models/model_response_dto.py,sha256=osrTxfygkuhxWj6SkRBALrSnFVPH4LSK6qTufTeZuJg,2163
|
|
247
|
+
truefoundry/ml/autogen/client/models/model_server.py,sha256=N5mcWmnX0KzTMtTH8A9h_FmiQcMld3B8CXD_UYeDKaA,700
|
|
261
248
|
truefoundry/ml/autogen/client/models/model_version_dto.py,sha256=9Mh4d8V33gEGYr4sys5lYYDA3bHKajR3oAZLZMAy_io,7094
|
|
262
|
-
truefoundry/ml/autogen/client/models/
|
|
249
|
+
truefoundry/ml/autogen/client/models/model_version_environment.py,sha256=wTayQjMen24eJCqXQugzoXLANY5NXdVsAvZSh-QIhJA,2827
|
|
250
|
+
truefoundry/ml/autogen/client/models/model_version_manifest.py,sha256=1FZ9VuMp4THs9bOrVM7YWs4eDHfQTcVTQZSN5UbJClI,4906
|
|
263
251
|
truefoundry/ml/autogen/client/models/model_version_response_dto.py,sha256=D6XOCyggxqTkbePuypqYSHYh1PYeDv7R_J32q61sDM0,2320
|
|
264
252
|
truefoundry/ml/autogen/client/models/multi_part_upload_dto.py,sha256=Ckq405vud8RQmMyKCJQJBlW5iXO7Y2mlgo8eVkiMvxg,3738
|
|
265
253
|
truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py,sha256=VjH0kvl7rMjgDHjYGHnsh7KsZ5-qn-k3ksdGLJ49nIM,2431
|
|
@@ -282,10 +270,11 @@ truefoundry/ml/autogen/client/models/run_response_dto.py,sha256=iayBnhwmByVC3iiw
|
|
|
282
270
|
truefoundry/ml/autogen/client/models/run_tag_dto.py,sha256=CdWwi9P-CXk1vvXWRHN2tHqRckgH-Igur1fowsS-I80,1795
|
|
283
271
|
truefoundry/ml/autogen/client/models/search_runs_request_dto.py,sha256=TxUqdYG5aKj6qdqsqNDe_ih45o0cMw3jwGu2Hrv1X48,2852
|
|
284
272
|
truefoundry/ml/autogen/client/models/search_runs_response_dto.py,sha256=u0l11v7p7zdxtaqV_RBoMtB2Zy8pJbvtMwZiL4B4qMg,2636
|
|
273
|
+
truefoundry/ml/autogen/client/models/serialization_format.py,sha256=CYq9DR1yipEGBA00XjBWyeJf_PIT8_l_F1tm6QafgRM,821
|
|
285
274
|
truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py,sha256=nrmi_NxLD1fI2gwlpdqFSMnBS11gRkjS4_GQFHgBcXs,2118
|
|
286
275
|
truefoundry/ml/autogen/client/models/set_tag_request_dto.py,sha256=IRgAdMcWBxmjNV6nZJej4pcNfLmZwrelEZ3otwt7eeE,2144
|
|
287
276
|
truefoundry/ml/autogen/client/models/signed_url_dto.py,sha256=9oHoXBj07xTdc04rqOqJO3eOjQWXCyWPhfHg-6qX60w,1897
|
|
288
|
-
truefoundry/ml/autogen/client/models/sklearn_framework.py,sha256=
|
|
277
|
+
truefoundry/ml/autogen/client/models/sklearn_framework.py,sha256=sO3mQRTGKozmkJl4BrukZpNN9bC1WeEEtuxyio4qwn0,3290
|
|
289
278
|
truefoundry/ml/autogen/client/models/source.py,sha256=ZG2-3oIs_M8mZNPjoIRPzhHqlm63vLCVQC9idUxQ0XU,5180
|
|
290
279
|
truefoundry/ml/autogen/client/models/source1.py,sha256=io35b9uVzqSvOHw6RlCXxM30thN-vHm1upaSiN2i0II,5183
|
|
291
280
|
truefoundry/ml/autogen/client/models/spa_cy_framework.py,sha256=Kyrvhdalnl1uQLoPMGMry2PuFGCcQ8AGp4Cx4B9AGXQ,2150
|
|
@@ -298,7 +287,7 @@ truefoundry/ml/autogen/client/models/system_message.py,sha256=2sPSNrDuz5elg_AG00
|
|
|
298
287
|
truefoundry/ml/autogen/client/models/tensor_flow_framework.py,sha256=jsAtqm2rMuiQyR7vVNDTLXDqpIPKsXEOH2WLRGE-POw,2219
|
|
299
288
|
truefoundry/ml/autogen/client/models/text.py,sha256=HAIK-w_TxB1kXGvVNK1d2cweoQi-GJ9d-0QSZl21u68,4862
|
|
300
289
|
truefoundry/ml/autogen/client/models/text_content_part.py,sha256=IgJ5exYltwJdJUBdOxMr3VtjF6x9qbyA_4mTPDZ4QCY,2493
|
|
301
|
-
truefoundry/ml/autogen/client/models/transformers_framework.py,sha256=
|
|
290
|
+
truefoundry/ml/autogen/client/models/transformers_framework.py,sha256=VjzLe6BHZPm7htrtfGZEwt-7mdQt0wfLDSX_Z8hxILY,3496
|
|
302
291
|
truefoundry/ml/autogen/client/models/trigger_job_run_config_request_dto.py,sha256=1HtO6zfW6Ulq8Gm_UL0YqVrse0795vZkMxgCQ0GKD9w,2864
|
|
303
292
|
truefoundry/ml/autogen/client/models/trigger_job_run_config_response_dto.py,sha256=P35xzE8MyS_HtxCcXC9fZORPX2wbf93LbCZCRggkQxw,2144
|
|
304
293
|
truefoundry/ml/autogen/client/models/true_foundry_artifact_source.py,sha256=LihHK1hS5sivJ6EtV1TsYU9ATYgSNDhg10Vhq6ypEG4,2457
|
|
@@ -312,10 +301,10 @@ truefoundry/ml/autogen/client/models/url.py,sha256=zMyOmdVkp1ANnQnc9GrHt42xlVwES
|
|
|
312
301
|
truefoundry/ml/autogen/client/models/user_message.py,sha256=3TEM8qH_zT3dgM197bl44uV7m20IWn6sWeLGfStsN90,2784
|
|
313
302
|
truefoundry/ml/autogen/client/models/validation_error.py,sha256=mFjwoc8g2-Usu1HXZhOQKQ4TGvLy4lwCzk8dHrJ69aA,2597
|
|
314
303
|
truefoundry/ml/autogen/client/models/validation_error_loc_inner.py,sha256=nThJ5Gmy8W2Wok-ZOI4sK7uRe1BAkLS0qzq-XZbq8zs,4915
|
|
315
|
-
truefoundry/ml/autogen/client/models/xg_boost_framework.py,sha256=
|
|
304
|
+
truefoundry/ml/autogen/client/models/xg_boost_framework.py,sha256=_YYI6stH0_FRkB7zPfS_85hM_9biwYLr2pLhMBFjARA,2892
|
|
316
305
|
truefoundry/ml/autogen/client/rest.py,sha256=9goba8qHjQuVx5O_yRaTKu7PvBnb7r7swfy3dwuTEgk,14281
|
|
317
|
-
truefoundry/ml/autogen/client_README.md,sha256=
|
|
318
|
-
truefoundry/ml/autogen/entities/artifacts.py,sha256=
|
|
306
|
+
truefoundry/ml/autogen/client_README.md,sha256=9z0MWex6ROr_RjjQ_yOZj9iXWle0pMvNITY1sR_D6TM,36112
|
|
307
|
+
truefoundry/ml/autogen/entities/artifacts.py,sha256=Gz7lmWcQAKNsfLr3Qb5S0-orXuzLNbX66qMEscpyEwY,19483
|
|
319
308
|
truefoundry/ml/autogen/models/__init__.py,sha256=--TGRea9SQBWFfwtcl3ekb1XGfFTdEkQGSG8a2SJ60I,187
|
|
320
309
|
truefoundry/ml/autogen/models/exceptions.py,sha256=q3n7FGBrg_hUy1UyoefhMnhcXUAaqXlLIGHoOVzn_d8,1390
|
|
321
310
|
truefoundry/ml/autogen/models/schema.py,sha256=IhpO9qbygLqEamP3NIt3m90SseJXCOm1ZTqNbNbW-M0,55772
|
|
@@ -325,6 +314,8 @@ truefoundry/ml/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
325
314
|
truefoundry/ml/cli/cli.py,sha256=ckBcjUpqfhgrPE1okqT_G2iouOLt-0KjpLhHp2YdVFU,256
|
|
326
315
|
truefoundry/ml/cli/commands/__init__.py,sha256=diDUiRUX4l6TtNLI4iF-ZblczkELM7FRViJ-8gGNJQY,82
|
|
327
316
|
truefoundry/ml/cli/commands/download.py,sha256=cbz9KijiLKXj4-twlig3xZLTVRNm4fnjwpy0leZr31w,2342
|
|
317
|
+
truefoundry/ml/cli/commands/model_init.py,sha256=LzHYHDOT3MackBIRLi3t18zmrV0E3gCNFLmZSlwwTlk,2661
|
|
318
|
+
truefoundry/ml/cli/utils.py,sha256=j6_mZ4Spn114mz3P4QQ8jx0tmorXIuyQnHXVUSDvZi4,1035
|
|
328
319
|
truefoundry/ml/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
329
320
|
truefoundry/ml/clients/entities.py,sha256=sNP4DnAVdQoMfc06s0r3VTzKHTo7jmxAOuTlQOVmsMs,151
|
|
330
321
|
truefoundry/ml/clients/servicefoundry_client.py,sha256=nmKrWBd7P0VEDGjPHZ8_scX3Xo9tv3wZSWlTIBwGptU,1597
|
|
@@ -340,9 +331,9 @@ truefoundry/ml/log_types/artifacts/artifact.py,sha256=6X4lO23DwM7yTgUOY4RRoYMrf9
|
|
|
340
331
|
truefoundry/ml/log_types/artifacts/constants.py,sha256=qKxQ5mMvJE4j83BvGW3qNTKunxCiBg_EEjTdgbgJtyE,1036
|
|
341
332
|
truefoundry/ml/log_types/artifacts/dataset.py,sha256=a4dxd2EN8p7Ci-cLGGiDOboN3t0395_XhWE1dmTw1Q4,13112
|
|
342
333
|
truefoundry/ml/log_types/artifacts/general_artifact.py,sha256=B4XErLr-m6RmQWtxMTu3wlFRFcqSwPYp6J0OL4Ng6L0,3179
|
|
343
|
-
truefoundry/ml/log_types/artifacts/model.py,sha256=
|
|
334
|
+
truefoundry/ml/log_types/artifacts/model.py,sha256=QJqqgDbflTfsmdsNuV30HvRb0fnaP2UaTrLLqL7jXGM,23312
|
|
344
335
|
truefoundry/ml/log_types/artifacts/model_extras.py,sha256=TIE73bLKfwIVzNiVcjmaZ841A70BHBwu4XAM6ZAQRFI,1045
|
|
345
|
-
truefoundry/ml/log_types/artifacts/utils.py,sha256=
|
|
336
|
+
truefoundry/ml/log_types/artifacts/utils.py,sha256=yhIZYe3Y-J0rG0Wcwql_Qjxe9hlefFbXUfRFqg4E9cM,7502
|
|
346
337
|
truefoundry/ml/log_types/image/__init__.py,sha256=fcOq8yQnNj1rkLcPeIjLXBpdA1WIeiPsXOlAAvMxx7M,76
|
|
347
338
|
truefoundry/ml/log_types/image/constants.py,sha256=wLtGEOA4T5fZHSlOXPuNDLX3lpbCtwlvGKPFk_1fah0,255
|
|
348
339
|
truefoundry/ml/log_types/image/image.py,sha256=qQnAVgErAq4Jn6wXFFpaveOd52zcjUuomUCqNRxO2io,12478
|
|
@@ -352,12 +343,12 @@ truefoundry/ml/log_types/plot.py,sha256=HuYvvRA5r8V0xAIuuqMME2IHb9d3SfGHUiuEkOP3
|
|
|
352
343
|
truefoundry/ml/log_types/pydantic_base.py,sha256=eBlw_AEyAz4iJKDP4zgJOCFWcldwQqpf7FADW1jzIQY,272
|
|
353
344
|
truefoundry/ml/log_types/utils.py,sha256=xjJ21jdPScvFmw3TbVh5NCzbzJwaqiXJyiiT4xxX1EI,335
|
|
354
345
|
truefoundry/ml/logger.py,sha256=VT-BF3BnBYTWVq87O58F0c8uXMu94gYzsiFlGY3_7Ao,458
|
|
355
|
-
truefoundry/ml/mlfoundry_api.py,sha256=
|
|
356
|
-
truefoundry/ml/mlfoundry_run.py,sha256=
|
|
357
|
-
truefoundry/ml/model_framework.py,sha256=
|
|
346
|
+
truefoundry/ml/mlfoundry_api.py,sha256=HbtMh8uFFueJmxcmYTohV3GnziqbSGkOaq3Nv_I-1eU,62458
|
|
347
|
+
truefoundry/ml/mlfoundry_run.py,sha256=C4fhMc9o1m_ubkRsR8R8rk888ktpqWd0pkqZZQ-Pr4k,44691
|
|
348
|
+
truefoundry/ml/model_framework.py,sha256=2JTQ8m5oqy2FaIBqIEgPeDEfwNBfcQHTw-gdcMXF1pA,15033
|
|
358
349
|
truefoundry/ml/run_utils.py,sha256=0W208wSLUrbdfk2pjNcZlkUi9bNxG2JORqoe-5rVqHI,2423
|
|
359
350
|
truefoundry/ml/session.py,sha256=F83GTC5WwGBjnJ69Ct8MqMnlutYc56JCc6YhEY1Wl-A,5394
|
|
360
|
-
truefoundry/ml/validation_utils.py,sha256=
|
|
351
|
+
truefoundry/ml/validation_utils.py,sha256=J5atNhcJLvKj64ralSV9Y5Fv1Rt4SE237ICdP9-7sP4,12149
|
|
361
352
|
truefoundry/pydantic_v1.py,sha256=jSuhGtz0Mbk1qYu8jJ1AcnIDK4oxUsdhALc4spqstmM,345
|
|
362
353
|
truefoundry/version.py,sha256=bqiT4Q-VWrTC6P4qfK43mez-Ppf-smWfrl6DcwV7mrw,137
|
|
363
354
|
truefoundry/workflow/__init__.py,sha256=XY83vqtLAclI82atZXyBtF9ZgLROXaaXO5p60XH5hJA,1493
|
|
@@ -375,7 +366,7 @@ truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py,sha256=5mBCIc-ON
|
|
|
375
366
|
truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py,sha256=Hf6Dk6Fu6P7DqsK5ULgraf9DStjgigf-kjaRAMBW-RU,8680
|
|
376
367
|
truefoundry/workflow/task.py,sha256=ToitYiKcNzFCtOVQwz1W8sRjbR97eVS7vQBdbgUQtKg,1779
|
|
377
368
|
truefoundry/workflow/workflow.py,sha256=WaTqUjhwfAXDWu4E5ehuwAxrCbDJkoAf1oWmR2E9Qy0,4575
|
|
378
|
-
truefoundry-0.5.
|
|
379
|
-
truefoundry-0.5.
|
|
380
|
-
truefoundry-0.5.
|
|
381
|
-
truefoundry-0.5.
|
|
369
|
+
truefoundry-0.5.1rc1.dist-info/METADATA,sha256=nz3SDzyjyfTrEYBTeMRUAUAvOrtcZewEmKq-AKZwp58,2887
|
|
370
|
+
truefoundry-0.5.1rc1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
371
|
+
truefoundry-0.5.1rc1.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
|
|
372
|
+
truefoundry-0.5.1rc1.dist-info/RECORD,,
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
|
|
3
|
-
import click
|
|
4
|
-
|
|
5
|
-
from truefoundry.deploy.function_service.app import build_and_run_app
|
|
6
|
-
from truefoundry.deploy.function_service.route import RouteGroups
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
####
|
|
10
|
-
# I am keeping the CLI here for now. This will get refactored going forward.
|
|
11
|
-
@click.group()
|
|
12
|
-
def cli():
|
|
13
|
-
pass
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# python -m truefoundry.deploy.function_service run --port 8000 --route-group-json ""
|
|
17
|
-
# I am going to use this as "CMD" in the dockerfile to bring up the service
|
|
18
|
-
@cli.command()
|
|
19
|
-
@click.option("--route-groups-json", required=True, type=str)
|
|
20
|
-
@click.option("--port", required=True, type=int)
|
|
21
|
-
def run(port: int, route_groups_json: str):
|
|
22
|
-
route_groups = RouteGroups.parse_obj(json.loads(route_groups_json))
|
|
23
|
-
build_and_run_app(route_groups=route_groups, port=port)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if __name__ == "__main__":
|
|
27
|
-
cli()
|