digitalhub-runtime-python 0.16.0b0__py3-none-any.whl → 0.16.0b2__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.
Files changed (32) hide show
  1. digitalhub_runtime_python/__init__.py +4 -4
  2. digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +2 -1
  3. digitalhub_runtime_python/entities/_commons/enums.py +1 -0
  4. digitalhub_runtime_python/entities/function/guardrail/builder.py +9 -7
  5. digitalhub_runtime_python/entities/function/hydra/builder.py +11 -9
  6. digitalhub_runtime_python/entities/function/hydra/entity.py +1 -1
  7. digitalhub_runtime_python/entities/function/hydra/models.py +4 -1
  8. digitalhub_runtime_python/entities/function/hydra/spec.py +1 -1
  9. digitalhub_runtime_python/entities/function/hydra/utils.py +113 -3
  10. digitalhub_runtime_python/entities/function/openinference/builder.py +9 -7
  11. digitalhub_runtime_python/entities/function/python/builder.py +9 -7
  12. digitalhub_runtime_python/entities/run/_base/entity.py +1 -1
  13. digitalhub_runtime_python/entities/run/_base/utils.py +1 -1
  14. digitalhub_runtime_python/entities/run/hydra_build/entity.py +1 -1
  15. digitalhub_runtime_python/entities/run/hydra_job/spec.py +2 -1
  16. digitalhub_runtime_python/entities/run/hydra_subtask/builder.py +5 -2
  17. digitalhub_runtime_python/entities/run/hydra_subtask/entity.py +3 -1
  18. digitalhub_runtime_python/entities/run/hydra_subtask/spec.py +2 -0
  19. digitalhub_runtime_python/entities/task/hydra_job/entity.py +1 -0
  20. digitalhub_runtime_python/entities/task/hydra_subtask/entity.py +1 -0
  21. digitalhub_runtime_python/runtimes/builder.py +8 -6
  22. digitalhub_runtime_python/runtimes/hydra_runtime.py +29 -16
  23. digitalhub_runtime_python/runtimes/runtime.py +4 -3
  24. digitalhub_runtime_python/utils/configuration.py +1 -1
  25. digitalhub_runtime_python/utils/inputs.py +2 -1
  26. digitalhub_runtime_python/utils/outputs.py +22 -22
  27. digitalhub_runtime_python/utils/utils.py +1 -1
  28. {digitalhub_runtime_python-0.16.0b0.dist-info → digitalhub_runtime_python-0.16.0b2.dist-info}/METADATA +3 -3
  29. {digitalhub_runtime_python-0.16.0b0.dist-info → digitalhub_runtime_python-0.16.0b2.dist-info}/RECORD +32 -32
  30. {digitalhub_runtime_python-0.16.0b0.dist-info → digitalhub_runtime_python-0.16.0b2.dist-info}/WHEEL +1 -1
  31. {digitalhub_runtime_python-0.16.0b0.dist-info → digitalhub_runtime_python-0.16.0b2.dist-info}/licenses/AUTHORS +0 -0
  32. {digitalhub_runtime_python-0.16.0b0.dist-info → digitalhub_runtime_python-0.16.0b2.dist-info}/licenses/LICENSE +0 -0
@@ -58,12 +58,12 @@ entity_builders = (
58
58
  try:
59
59
  from digitalhub_runtime_python.runtimes.builder import (
60
60
  RuntimeGuardrailBuilder,
61
+ RuntimeHydraBuilder,
62
+ RuntimeHydraJobBuilder,
63
+ RuntimeHydraSubtaskBuilder,
61
64
  RuntimeOpeninferenceBuilder,
62
65
  RuntimePythonBuilder,
63
66
  RuntimePythonJobBuilder,
64
- RuntimeHydraBuilder,
65
- RuntimeHydraSubtaskBuilder,
66
- RuntimeHydraJobBuilder,
67
67
  )
68
68
 
69
69
  runtime_builders = (
@@ -97,4 +97,4 @@ except ImportError as e:
97
97
 
98
98
  logger = get_logger(__name__)
99
99
  logger.debug(f"Error importing runtime builders: {e}")
100
- runtime_builders = tuple()
100
+ runtime_builders = ()
@@ -101,6 +101,7 @@ class RuntimeEntityBuilderGuardrail(RuntimeEntityBuilder):
101
101
  ]
102
102
  )
103
103
 
104
+
104
105
  class RuntimeEntityBuilderHydra(RuntimeEntityBuilder):
105
106
  EXECUTABLE_KIND = EntityKinds.FUNCTION_HYDRA.value
106
107
  TASKS_KINDS = map_actions(
@@ -134,4 +135,4 @@ class RuntimeEntityBuilderHydra(RuntimeEntityBuilder):
134
135
  Actions.SUBTASK.value,
135
136
  ),
136
137
  ]
137
- )
138
+ )
@@ -40,6 +40,7 @@ class EntityKinds(Enum):
40
40
  RUN_HYDRA_JOB = "hydra+job:run"
41
41
  RUN_HYDRA_SUBTASK = "hydra+subtask:run"
42
42
 
43
+
43
44
  class Actions(Enum):
44
45
  """
45
46
  Task actions.
@@ -34,6 +34,7 @@ class FunctionGuardrailBuilder(FunctionBuilder, RuntimeEntityBuilderGuardrail):
34
34
  project: str,
35
35
  name: str,
36
36
  uuid: str | None = None,
37
+ version: str | None = None,
37
38
  description: str | None = None,
38
39
  labels: list[str] | None = None,
39
40
  embedded: bool = False,
@@ -41,13 +42,14 @@ class FunctionGuardrailBuilder(FunctionBuilder, RuntimeEntityBuilderGuardrail):
41
42
  ) -> FunctionGuardrail:
42
43
  kwargs = source_check(**kwargs)
43
44
  obj = super().build(
44
- kind,
45
- project,
46
- name,
47
- uuid,
48
- description,
49
- labels,
50
- embedded,
45
+ kind=kind,
46
+ project=project,
47
+ name=name,
48
+ uuid=uuid,
49
+ version=version,
50
+ description=description,
51
+ labels=labels,
52
+ embedded=embedded,
51
53
  **kwargs,
52
54
  )
53
55
  return source_post_check(obj)
@@ -11,9 +11,9 @@ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
11
11
  from digitalhub_runtime_python.entities.function.hydra.entity import FunctionHydra
12
12
  from digitalhub_runtime_python.entities.function.hydra.spec import FunctionSpecHydra, FunctionValidatorHydra
13
13
  from digitalhub_runtime_python.entities.function.hydra.status import FunctionStatusHydra
14
+ from digitalhub_runtime_python.entities.function.hydra.utils import config_check, source_check
15
+ from digitalhub_runtime_python.entities.function.python.utils import source_post_check
14
16
 
15
- from digitalhub_runtime_python.entities.function.python.utils import source_check, source_post_check
16
- from digitalhub_runtime_python.entities.function.hydra.utils import config_check
17
17
 
18
18
  class FunctionHydraBuilder(FunctionBuilder, RuntimeEntityBuilderHydra):
19
19
  """
@@ -32,6 +32,7 @@ class FunctionHydraBuilder(FunctionBuilder, RuntimeEntityBuilderHydra):
32
32
  project: str,
33
33
  name: str,
34
34
  uuid: str | None = None,
35
+ version: str | None = None,
35
36
  description: str | None = None,
36
37
  labels: list[str] | None = None,
37
38
  embedded: bool = False,
@@ -40,13 +41,14 @@ class FunctionHydraBuilder(FunctionBuilder, RuntimeEntityBuilderHydra):
40
41
  kwargs = source_check(**kwargs)
41
42
  kwargs = config_check(**kwargs)
42
43
  obj = super().build(
43
- kind,
44
- project,
45
- name,
46
- uuid,
47
- description,
48
- labels,
49
- embedded,
44
+ kind=kind,
45
+ project=project,
46
+ name=name,
47
+ uuid=uuid,
48
+ version=version,
49
+ description=description,
50
+ labels=labels,
51
+ embedded=embedded,
50
52
  **kwargs,
51
53
  )
52
54
  return source_post_check(obj)
@@ -54,7 +54,7 @@ class FunctionHydra(Function):
54
54
  write_text(src_pth, decode_base64_string(base64))
55
55
 
56
56
  # Export and restore base64, then return
57
- pth = super().export()
57
+ super().export()
58
58
  self.spec.source["base64"] = base64
59
59
 
60
60
  config = self.spec.config
@@ -8,6 +8,7 @@ from enum import Enum
8
8
 
9
9
  from pydantic import BaseModel, ConfigDict, Field
10
10
 
11
+
11
12
  class Lang(Enum):
12
13
  """
13
14
  Source code language.
@@ -44,10 +45,12 @@ class SourceValidator(BaseModel):
44
45
  lang: Lang = Field(default=Lang.PYTHON.value)
45
46
  "Source code language (hint)."
46
47
 
48
+
47
49
  class ConfigValidator(BaseModel):
48
50
  """
49
51
  Config params.
50
52
  """
53
+
51
54
  model_config = ConfigDict(use_enum_values=True)
52
55
 
53
56
  source: str = None
@@ -57,4 +60,4 @@ class ConfigValidator(BaseModel):
57
60
  "Config path."
58
61
 
59
62
  base64: str = None
60
- "Config (base64 encoded)."
63
+ "Config (base64 encoded)."
@@ -6,8 +6,8 @@ from __future__ import annotations
6
6
 
7
7
  from digitalhub.entities.function._base.spec import FunctionSpec, FunctionValidator
8
8
 
9
- from digitalhub_runtime_python.entities.function.python.models import PythonVersion
10
9
  from digitalhub_runtime_python.entities.function.hydra.models import ConfigValidator, SourceValidator
10
+ from digitalhub_runtime_python.entities.function.python.models import PythonVersion
11
11
 
12
12
 
13
13
  class FunctionSpecHydra(FunctionSpec):
@@ -4,13 +4,123 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- import typing
8
7
  from pathlib import Path
9
8
 
10
9
  from digitalhub.utils.exceptions import EntityError
11
10
  from digitalhub.utils.generic_utils import encode_string, read_source
12
11
  from digitalhub.utils.uri_utils import has_local_scheme
13
12
 
13
+ from digitalhub_runtime_python.entities.function.python.models import Lang
14
+
15
+
16
+ def source_check(**kwargs) -> dict:
17
+ """
18
+ Check source code.
19
+
20
+ Parameters
21
+ ----------
22
+ **kwargs
23
+ Keyword arguments.
24
+
25
+ Returns
26
+ -------
27
+ dict
28
+ Checked source.
29
+ """
30
+ source: dict = kwargs.pop("source", None)
31
+ code_src = kwargs.pop("code_src", None)
32
+ code = kwargs.pop("code", None)
33
+ base64 = kwargs.pop("base64", None)
34
+ handler = kwargs.pop("handler", None)
35
+ init_function = kwargs.pop("init_function", None)
36
+ complete_function = kwargs.pop("complete_function", None)
37
+ lang = kwargs.pop("lang", None)
38
+
39
+ if source is not None:
40
+ code_src = source.pop("source", None)
41
+ code = source.pop("code", None)
42
+ base64 = source.pop("base64", None)
43
+ handler = source.pop("handler", None)
44
+ init_function = source.pop("init_function", None)
45
+ complete_function = source.pop("complete_function", None)
46
+ lang = source.pop("lang", None)
47
+
48
+ kwargs["source"] = _check_params(
49
+ code_src=code_src,
50
+ code=code,
51
+ base64=base64,
52
+ handler=handler,
53
+ init_function=init_function,
54
+ complete_function=complete_function,
55
+ lang=lang,
56
+ )
57
+ return kwargs
58
+
59
+
60
+ def _check_params(
61
+ code_src: str | None = None,
62
+ code: str | None = None,
63
+ base64: str | None = None,
64
+ handler: str | None = None,
65
+ init_function: str | None = None,
66
+ complete_function: str | None = None,
67
+ lang: str | None = None,
68
+ ) -> dict:
69
+ """
70
+ Check source.
71
+
72
+ Parameters
73
+ ----------
74
+ code_src : str
75
+ Source code source.
76
+ code : str
77
+ Source code.
78
+ base64 : str
79
+ Source code base64.
80
+ handler : str
81
+ Function handler.
82
+ init_function : str
83
+ Init function.
84
+ complete_function : str
85
+ Complete function.
86
+ lang : str
87
+ Source code language.
88
+
89
+ Returns
90
+ -------
91
+ dict
92
+ Checked source.
93
+ """
94
+ source = {}
95
+
96
+ if handler is None:
97
+ raise EntityError("Handler must be provided.")
98
+ source["handler"] = handler
99
+
100
+ if init_function is not None:
101
+ source["init_function"] = init_function
102
+
103
+ if complete_function is not None:
104
+ source["complete_function"] = complete_function
105
+
106
+ if lang is None:
107
+ source["lang"] = Lang.PYTHON.value
108
+
109
+ if code_src is None and code is None and base64 is None:
110
+ raise EntityError("Source must be provided.")
111
+
112
+ if code_src is not None:
113
+ source["source"] = code_src
114
+
115
+ if base64 is not None:
116
+ source["base64"] = base64
117
+
118
+ if code is not None:
119
+ source["base64"] = encode_string(code)
120
+
121
+ return source
122
+
123
+
14
124
  def config_check(**kwargs) -> dict:
15
125
  """
16
126
  Check config.
@@ -38,7 +148,7 @@ def config_check(**kwargs) -> dict:
38
148
  config_content = None
39
149
  config_path = config.pop("path", None)
40
150
 
41
- config = _check_params(
151
+ config = _check_config_params(
42
152
  config_src=config_src,
43
153
  config_content=config_content,
44
154
  config_base64=config_base64,
@@ -52,7 +162,7 @@ def config_check(**kwargs) -> dict:
52
162
  return kwargs
53
163
 
54
164
 
55
- def _check_params(
165
+ def _check_config_params(
56
166
  config_src: str | None = None,
57
167
  config_content: str | None = None,
58
168
  config_base64: str | None = None,
@@ -34,6 +34,7 @@ class FunctionOpeninferenceBuilder(FunctionBuilder, RuntimeEntityBuilderOpeninfe
34
34
  project: str,
35
35
  name: str,
36
36
  uuid: str | None = None,
37
+ version: str | None = None,
37
38
  description: str | None = None,
38
39
  labels: list[str] | None = None,
39
40
  embedded: bool = False,
@@ -41,13 +42,14 @@ class FunctionOpeninferenceBuilder(FunctionBuilder, RuntimeEntityBuilderOpeninfe
41
42
  ) -> FunctionOpeninference:
42
43
  kwargs = source_check(**kwargs)
43
44
  obj = super().build(
44
- kind,
45
- project,
46
- name,
47
- uuid,
48
- description,
49
- labels,
50
- embedded,
45
+ kind=kind,
46
+ project=project,
47
+ name=name,
48
+ uuid=uuid,
49
+ version=version,
50
+ description=description,
51
+ labels=labels,
52
+ embedded=embedded,
51
53
  **kwargs,
52
54
  )
53
55
  return source_post_check(obj)
@@ -31,6 +31,7 @@ class FunctionPythonBuilder(FunctionBuilder, RuntimeEntityBuilderPython):
31
31
  project: str,
32
32
  name: str,
33
33
  uuid: str | None = None,
34
+ version: str | None = None,
34
35
  description: str | None = None,
35
36
  labels: list[str] | None = None,
36
37
  embedded: bool = False,
@@ -38,13 +39,14 @@ class FunctionPythonBuilder(FunctionBuilder, RuntimeEntityBuilderPython):
38
39
  ) -> FunctionPython:
39
40
  kwargs = source_check(**kwargs)
40
41
  obj = super().build(
41
- kind,
42
- project,
43
- name,
44
- uuid,
45
- description,
46
- labels,
47
- embedded,
42
+ kind=kind,
43
+ project=project,
44
+ name=name,
45
+ uuid=uuid,
46
+ version=version,
47
+ description=description,
48
+ labels=labels,
49
+ embedded=embedded,
48
50
  **kwargs,
49
51
  )
50
52
  return source_post_check(obj)
@@ -44,7 +44,7 @@ class RunBaseRun(Run):
44
44
  self.refresh()
45
45
  inputs = self.inputs(as_dict=True)
46
46
  if self.local_execution():
47
- for _, v in inputs.items():
47
+ for v in inputs.values():
48
48
  self.add_relationship(
49
49
  relation=Relationship.CONSUMES.value,
50
50
  dest=v.get("key"),
@@ -4,7 +4,7 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from typing import Callable
7
+ from collections.abc import Callable
8
8
 
9
9
  from digitalhub.entities._commons.enums import EntityTypes
10
10
  from digitalhub.entities.artifact.crud import get_artifact
@@ -12,7 +12,7 @@ if typing.TYPE_CHECKING:
12
12
  from digitalhub_runtime_python.entities.run.hydra_build.spec import RunSpecHydraRunBuild
13
13
  from digitalhub_runtime_python.entities.run.hydra_build.status import RunStatusHydraRunBuild
14
14
 
15
-
15
+
16
16
  class RunHydraRunBuild(RunBaseRun):
17
17
  """
18
18
  RunHydraRunBuild class.
@@ -65,6 +65,7 @@ class RunSpecHydraRunJob(RunSpecBaseRun):
65
65
  self.config = config
66
66
  self.workers = workers
67
67
 
68
+
68
69
  class RunValidatorHydraRunJob(RunValidatorBaseRun):
69
70
  """RunValidatorHydraRunJob validator."""
70
71
 
@@ -75,4 +76,4 @@ class RunValidatorHydraRunJob(RunValidatorBaseRun):
75
76
  """Configuration for the run."""
76
77
 
77
78
  workers: int | None = None
78
- """Number of workers to use for the run."""
79
+ """Number of workers to use for the run."""
@@ -9,7 +9,10 @@ from digitalhub.entities.run._base.builder import RunBuilder
9
9
  from digitalhub_runtime_python.entities._base.runtime_entity.builder import RuntimeEntityBuilderHydra
10
10
  from digitalhub_runtime_python.entities._commons.enums import EntityKinds
11
11
  from digitalhub_runtime_python.entities.run.hydra_subtask.entity import RunHydraRunSubtask
12
- from digitalhub_runtime_python.entities.run.hydra_subtask.spec import RunSpecHydraRunSubtask, RunValidatorHydraRunSubtask
12
+ from digitalhub_runtime_python.entities.run.hydra_subtask.spec import (
13
+ RunSpecHydraRunSubtask,
14
+ RunValidatorHydraRunSubtask,
15
+ )
13
16
  from digitalhub_runtime_python.entities.run.hydra_subtask.status import RunStatusHydraRunSubtask
14
17
 
15
18
 
@@ -39,4 +42,4 @@ class RunHydraRunSubtaskBuilder(RunBuilder, RuntimeEntityBuilderHydra):
39
42
  Spec object.
40
43
  """
41
44
  res = super().build_spec(**kwargs)
42
- return res
45
+ return res
@@ -7,10 +7,12 @@ from __future__ import annotations
7
7
  import typing
8
8
 
9
9
  from digitalhub_runtime_python.entities.run.hydra_job.entity import RunHydraRunJob
10
+
10
11
  if typing.TYPE_CHECKING:
11
12
  from digitalhub_runtime_python.entities.run.hydra_subtask.spec import RunSpecHydraRunSubtask
12
13
  from digitalhub_runtime_python.entities.run.hydra_subtask.status import RunStatusHydraRunSubtask
13
14
 
15
+
14
16
  class RunHydraRunSubtask(RunHydraRunJob):
15
17
  """
16
18
  RunHydraRunSubtask class.
@@ -20,4 +22,4 @@ class RunHydraRunSubtask(RunHydraRunJob):
20
22
  super().__init__(*args, **kwargs)
21
23
 
22
24
  self.spec: RunSpecHydraRunSubtask
23
- self.status: RunStatusHydraRunSubtask
25
+ self.status: RunStatusHydraRunSubtask
@@ -64,7 +64,9 @@ class RunSpecHydraRunSubtask(RunSpecHydraRunJob):
64
64
  )
65
65
  self.job_ref = job_ref
66
66
 
67
+
67
68
  class RunValidatorHydraRunSubtask(RunValidatorHydraRunJob):
68
69
  """RunValidatorHydraRunSubtask validator."""
70
+
69
71
  job_ref: str | None = None
70
72
  """Reference to the parent job, used for launching the subtask in the same job."""
@@ -7,6 +7,7 @@ from __future__ import annotations
7
7
  import typing
8
8
 
9
9
  from digitalhub.entities.task._base.entity import Task
10
+
10
11
  if typing.TYPE_CHECKING:
11
12
  from digitalhub_runtime_python.entities.task.hydra_job.spec import TaskSpecHydraJob
12
13
  from digitalhub_runtime_python.entities.task.hydra_job.status import TaskStatusHydraJob
@@ -7,6 +7,7 @@ from __future__ import annotations
7
7
  import typing
8
8
 
9
9
  from digitalhub.entities.task._base.entity import Task
10
+
10
11
  if typing.TYPE_CHECKING:
11
12
  from digitalhub_runtime_python.entities.task.hydra_subtask.spec import TaskSpecHydraSubtask
12
13
  from digitalhub_runtime_python.entities.task.hydra_subtask.status import TaskStatusHydraSubtask
@@ -6,6 +6,11 @@ from __future__ import annotations
6
6
 
7
7
  from digitalhub.runtimes.builder import RuntimeBuilder
8
8
 
9
+ from digitalhub_runtime_python.runtimes.hydra_runtime import (
10
+ RuntimeHydra,
11
+ RuntimeHydraJob,
12
+ RuntimeHydraSubtask,
13
+ )
9
14
  from digitalhub_runtime_python.runtimes.runtime import (
10
15
  RuntimeGuardrail,
11
16
  RuntimeOpeninference,
@@ -13,11 +18,6 @@ from digitalhub_runtime_python.runtimes.runtime import (
13
18
  RuntimePythonJob,
14
19
  )
15
20
 
16
- from digitalhub_runtime_python.runtimes.hydra_runtime import (
17
- RuntimeHydra,
18
- RuntimeHydraJob,
19
- RuntimeHydraSubtask,
20
- )
21
21
 
22
22
  class RuntimePythonBuilder(RuntimeBuilder):
23
23
  """RuntimePythonBuilder class."""
@@ -42,18 +42,20 @@ class RuntimeGuardrailBuilder(RuntimeBuilder):
42
42
 
43
43
  RUNTIME_CLASS = RuntimeGuardrail
44
44
 
45
+
45
46
  class RuntimeHydraBuilder(RuntimeBuilder):
46
47
  """RuntimeHydraBuilder class."""
47
48
 
48
49
  RUNTIME_CLASS = RuntimeHydra
49
50
 
51
+
50
52
  class RuntimeHydraJobBuilder(RuntimeBuilder):
51
53
  """RuntimeHydraJobBuilder class."""
52
54
 
53
55
  RUNTIME_CLASS = RuntimeHydraJob
54
56
 
57
+
55
58
  class RuntimeHydraSubtaskBuilder(RuntimeBuilder):
56
59
  """RuntimeHydraSubtaskBuilder class."""
57
60
 
58
61
  RUNTIME_CLASS = RuntimeHydraSubtask
59
-
@@ -1,29 +1,36 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  import sys
2
- from typing import Callable
6
+ from collections.abc import Callable
7
+
3
8
  import yaml
9
+ from digitalhub.utils.generic_utils import decode_base64_string
10
+ from digitalhub.utils.logger.logger import get_logger
4
11
 
5
12
  from digitalhub_runtime_python.runtimes.runtime import RuntimePython, RuntimePythonJob
6
-
7
13
  from digitalhub_runtime_python.utils.configuration import (
8
- _get_function_path, _import_function_from_path, has_git_scheme, has_remote_scheme, has_s3_scheme,
9
- _clone_git_source, _download_remote_source, _download_s3_source
14
+ _clone_git_source,
15
+ _download_remote_source,
16
+ _download_s3_source,
17
+ _get_function_path,
18
+ _import_function_from_path,
19
+ has_git_scheme,
20
+ has_remote_scheme,
21
+ has_s3_scheme,
10
22
  )
11
-
12
- from digitalhub.utils.generic_utils import (
13
- decode_base64_string
14
- )
15
- from digitalhub.utils.logger.logger import get_logger
16
-
17
23
  from digitalhub_runtime_python.utils.outputs import build_new_status, collect_outputs
18
24
 
19
-
20
25
  logger = get_logger(__file__)
21
26
 
27
+
22
28
  class RuntimeHydra(RuntimePython):
23
29
  """
24
30
  Runtime Hydra class.
25
31
  """
26
32
 
33
+
27
34
  class RuntimeHydraJob(RuntimePythonJob):
28
35
  """
29
36
  Runtime Hydra Job class.
@@ -88,7 +95,7 @@ class RuntimeHydraJob(RuntimePythonJob):
88
95
  # Call overwriting the launcher and other overwrites
89
96
  # but with dh launcher, multirun, run execution attributes, and custom overwrites
90
97
  sys.argv = args + [f"--config-path={path.absolute()}", "--config-name=config"]
91
-
98
+
92
99
  # download config to runtime dir
93
100
  elif "source" in config:
94
101
  path = self.runtime_dir / "config"
@@ -109,16 +116,22 @@ class RuntimeHydraJob(RuntimePythonJob):
109
116
  path = self.runtime_dir / config["path"]
110
117
  sys.argv = args + [f"--config-path={path.absolute()}"]
111
118
 
112
- sys.argv += [f"--config-dir={(self.runtime_dir / "dh_extra_conf" ).absolute()}", "hydra/launcher=dh_launcher", f"hydra.launcher.job_ref={run['id']}"]
119
+ sys.argv += [
120
+ f"--config-dir={(self.runtime_dir / 'dh_extra_conf').absolute()}",
121
+ "hydra/launcher=dh_launcher",
122
+ f"hydra.launcher.job_ref={run['id']}",
123
+ ]
113
124
 
114
125
  fnc, _ = super()._configure_execution(spec)
115
126
  # treat as not wrapped, as the wrapping is done by hydra.main and we do not need to pass the extra attributes
116
127
  return fnc, {"cfg_passthrough": None}
117
128
 
129
+
118
130
  class RuntimeHydraSubtask(RuntimePythonJob):
119
131
  """
120
132
  Runtime Hydra Subtask class.
121
133
  """
134
+
122
135
  def _configure_execution(self, spec: dict) -> tuple[Callable, bool]:
123
136
  source_spec = spec.get("source", {})
124
137
  path = self.runtime_dir
@@ -131,11 +144,11 @@ class RuntimeHydraSubtask(RuntimePythonJob):
131
144
  def _compose_args(self, func, spec, project):
132
145
  # expect to be wrapped with hydra.main, 'cfg' is in the parameters, and Omecaconf is present
133
146
  from omegaconf import OmegaConf
147
+
134
148
  args = super()._compose_args(func, spec, project)
135
149
  try:
136
150
  args["cfg_passthrough"] = OmegaConf.create(spec.get("parameters", {}).get("cfg_passthrough", {}))
137
- except Exception as e:
151
+ except Exception as e: # noqa: BLE001
138
152
  print(f"Failed to convert cfg to container. Exception: {e.__class__}. Error: {e.args}")
139
153
  args["cfg_passthrough"] = {}
140
- return args
141
-
154
+ return args
@@ -4,21 +4,22 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from typing import Any, Callable
7
+ from collections.abc import Callable
8
+ from typing import Any
8
9
 
9
10
  from digitalhub.context.api import get_context
10
11
  from digitalhub.runtimes._base import Runtime
11
12
  from digitalhub.utils.logger.logger import get_logger
12
13
 
13
14
  from digitalhub_runtime_python.utils.configuration import (
14
- import_function_from_source,
15
+ import_function_from_source,
15
16
  )
16
17
  from digitalhub_runtime_python.utils.inputs import compose_inputs
17
18
  from digitalhub_runtime_python.utils.outputs import build_new_status, collect_outputs
18
19
 
19
-
20
20
  logger = get_logger(__file__)
21
21
 
22
+
22
23
  class RuntimePython(Runtime):
23
24
  """
24
25
  Runtime Python class.
@@ -4,8 +4,8 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
+ from collections.abc import Callable
7
8
  from pathlib import Path
8
- from typing import Callable
9
9
 
10
10
  from digitalhub.stores.data.api import get_store
11
11
  from digitalhub.utils.generic_utils import (
@@ -6,7 +6,8 @@ from __future__ import annotations
6
6
 
7
7
  import inspect
8
8
  import typing
9
- from typing import Any, Callable
9
+ from collections.abc import Callable
10
+ from typing import Any
10
11
 
11
12
  from digitalhub.context.api import get_context
12
13
  from digitalhub.entities.project.crud import get_project
@@ -9,22 +9,21 @@ import typing
9
9
  from dataclasses import dataclass
10
10
  from typing import Any
11
11
 
12
- from digitalhub import (
13
- log_croissant,
14
- log_generic_artifact,
15
- log_generic_dataitem,
16
- log_generic_model,
17
- log_mlflow,
18
- log_sklearn,
19
- log_table,
20
- )
21
12
  from digitalhub.context.api import get_context
22
13
  from digitalhub.entities._commons.enums import EntityKinds, Relationship, State
23
14
  from digitalhub.entities.artifact._base.entity import Artifact
24
- from digitalhub.entities.artifact.crud import log_artifact
15
+ from digitalhub.entities.artifact.artifact.crud import log_artifact
25
16
  from digitalhub.entities.dataitem._base.entity import Dataitem
26
- from digitalhub.entities.dataitem.crud import log_dataitem
17
+ from digitalhub.entities.dataitem.croissant.crud import log_croissant
18
+ from digitalhub.entities.dataitem.dataitem.crud import log_dataitem
19
+ from digitalhub.entities.dataitem.table.crud import log_table
27
20
  from digitalhub.entities.model._base.entity import Model
21
+ from digitalhub.entities.model.huggingface.crud import log_huggingface
22
+ from digitalhub.entities.model.mlflow.crud import log_mlflow
23
+ from digitalhub.entities.model.model.crud import log_model
24
+ from digitalhub.entities.model.sklearn.crud import log_sklearn
25
+ from digitalhub.entities.model.tvm_ir.crud import log_tvm_ir
26
+ from digitalhub.entities.model.tvm_so.crud import log_tvm_so
28
27
  from digitalhub.stores.readers.data.api import get_supported_dataframes
29
28
  from digitalhub.utils.exceptions import EntityNotExistsError
30
29
  from digitalhub.utils.logger.logger import get_logger
@@ -36,13 +35,16 @@ logger = get_logger(__file__)
36
35
 
37
36
 
38
37
  mapped_logger = {
39
- EntityKinds.DATAITEM_DATAITEM.value: log_generic_dataitem,
38
+ EntityKinds.DATAITEM_DATAITEM.value: log_dataitem,
40
39
  EntityKinds.DATAITEM_TABLE.value: log_table,
41
40
  EntityKinds.DATAITEM_CROISSANT.value: log_croissant,
42
41
  EntityKinds.MODEL_MLFLOW.value: log_mlflow,
43
42
  EntityKinds.MODEL_SKLEARN.value: log_sklearn,
44
- EntityKinds.MODEL_MODEL.value: log_generic_model,
45
- EntityKinds.ARTIFACT_ARTIFACT.value: log_generic_artifact,
43
+ EntityKinds.MODEL_MODEL.value: log_model,
44
+ EntityKinds.MODEL_HUGGINGFACE.value: log_huggingface,
45
+ EntityKinds.MODEL_TVM_IR.value: log_tvm_ir,
46
+ EntityKinds.MODEL_TVM_SO.value: log_tvm_so,
47
+ EntityKinds.ARTIFACT_ARTIFACT.value: log_artifact,
46
48
  }
47
49
 
48
50
 
@@ -97,7 +99,7 @@ def _parse_UDF_outputs(outputs: list[str] | list[dict[str, Any]], results_len: i
97
99
  continue
98
100
 
99
101
  if not isinstance(item, dict):
100
- raise ValueError(f"Invalid output format: {item}")
102
+ raise TypeError(f"Invalid output format: {item}")
101
103
 
102
104
  name = item.get("name") or f"output_{idx}"
103
105
  kind = item.get("kind")
@@ -140,7 +142,7 @@ def _materialize_output(name: str, item: Any, project_name: str, run_key: str) -
140
142
 
141
143
  for df_class in get_supported_dataframes():
142
144
  if isinstance(item, df_class):
143
- return _log_dataitem(name, project_name, item)
145
+ return _log_table(name, project_name, item)
144
146
 
145
147
  return _log_artifact(name, project_name, item)
146
148
 
@@ -232,7 +234,7 @@ def listify_results(results: Any) -> list:
232
234
  return results
233
235
 
234
236
 
235
- def _log_dataitem(name: str, project_name: str, data: Any) -> DataitemTable:
237
+ def _log_table(name: str, project_name: str, data: Any) -> DataitemTable:
236
238
  """
237
239
  Log dataitem.
238
240
 
@@ -247,14 +249,13 @@ def _log_dataitem(name: str, project_name: str, data: Any) -> DataitemTable:
247
249
 
248
250
  Returns
249
251
  -------
250
- str
251
- Dataitem key.
252
+ DataitemTable
253
+ Dataitem table object.
252
254
  """
253
255
  try:
254
- return log_dataitem(
256
+ return log_table(
255
257
  project=project_name,
256
258
  name=name,
257
- kind=EntityKinds.DATAITEM_TABLE.value,
258
259
  data=data,
259
260
  )
260
261
  except Exception as e:
@@ -289,7 +290,6 @@ def _log_artifact(name: str, project_name: str, data: Any) -> Artifact:
289
290
  return log_artifact(
290
291
  project=project_name,
291
292
  name=name,
292
- kind=EntityKinds.ARTIFACT_ARTIFACT.value,
293
293
  source=pickle_file,
294
294
  )
295
295
 
@@ -5,7 +5,7 @@
5
5
  from __future__ import annotations
6
6
 
7
7
  import functools
8
- from typing import Callable
8
+ from collections.abc import Callable
9
9
 
10
10
  from digitalhub_runtime_python.utils.outputs import collect_outputs
11
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.16.0b0
3
+ Version: 0.16.0b2
4
4
  Summary: Python runtime for DHCore
5
5
  Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk-runtime-python
6
6
  Author-email: Fondazione Bruno Kessler <digitalhub@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
@@ -215,14 +215,14 @@ Classifier: Programming Language :: Python :: 3.12
215
215
  Classifier: Programming Language :: Python :: 3.13
216
216
  Classifier: Programming Language :: Python :: 3.14
217
217
  Requires-Python: <3.15,>=3.10
218
- Requires-Dist: digitalhub[full]<0.16,>=0.15.1
218
+ Requires-Dist: digitalhub[full]<0.17,>=0.16.0b
219
219
  Requires-Dist: msgpack
220
220
  Requires-Dist: nuclio-sdk
221
221
  Requires-Dist: pip
222
222
  Requires-Dist: pyyaml
223
223
  Requires-Dist: tomli; python_version < '3.11'
224
224
  Provides-Extra: dev
225
- Requires-Dist: digitalhub[dev]<0.16,>=0.15.1; extra == 'dev'
225
+ Requires-Dist: digitalhub[dev]<0.17,>=0.16.0b; extra == 'dev'
226
226
  Description-Content-Type: text/markdown
227
227
 
228
228
  # DigitalHub SDK Runtime Python
@@ -1,10 +1,10 @@
1
- digitalhub_runtime_python/__init__.py,sha256=mCwRzLspbRlQWsfZBZdUaEqk1174RwH5vigvGHuyBcY,6615
1
+ digitalhub_runtime_python/__init__.py,sha256=TsiuxnaUlDDpwXUfcjDh0AIZyWsn_vIqh8UAjMbGSr8,6610
2
2
  digitalhub_runtime_python/entities/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
3
3
  digitalhub_runtime_python/entities/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
4
4
  digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
5
- digitalhub_runtime_python/entities/_base/runtime_entity/builder.py,sha256=LykcTrExsxCXHVYLvdJTHTovpkW-yHzA8X_DEAERs28,3685
5
+ digitalhub_runtime_python/entities/_base/runtime_entity/builder.py,sha256=YfmNLOq123OV9v71EasOS--3e9fcmvtTVEpWFiuidSQ,3687
6
6
  digitalhub_runtime_python/entities/_commons/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
7
- digitalhub_runtime_python/entities/_commons/enums.py,sha256=n7O6gDUKKnWjerYB6cwkB7ubg3OC5H6X_Hcc6ffUdsY,1380
7
+ digitalhub_runtime_python/entities/_commons/enums.py,sha256=G24c6GRO5wkZ4hEvk5tq4AG0Q6Mg-vQq6tk0VsMa5T4,1381
8
8
  digitalhub_runtime_python/entities/_commons/requirement_parser/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
9
9
  digitalhub_runtime_python/entities/_commons/requirement_parser/enums.py,sha256=plZQOcr83YVYxfStdIFFw8U3BG9u8716H0B8KZUYzBc,540
10
10
  digitalhub_runtime_python/entities/_commons/requirement_parser/factory.py,sha256=gh4LxQKrIWbPdvCk-OOXc1igcMfk8UqXYolkCBrznDk,2797
@@ -16,26 +16,26 @@ digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pip.py,s
16
16
  digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pyproject.py,sha256=8J7xRGrtMm9JeBj5-_1fY8l-xYfjP3k3ZkUtRSU9Ta8,988
17
17
  digitalhub_runtime_python/entities/function/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
18
18
  digitalhub_runtime_python/entities/function/guardrail/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
19
- digitalhub_runtime_python/entities/function/guardrail/builder.py,sha256=9HHdImTmSZKcNGE8g5MrhExhJY7gfQ-9-724RuQM_QA,2799
19
+ digitalhub_runtime_python/entities/function/guardrail/builder.py,sha256=iJRwfdX1NGOwmMmQLwByKh_0RKoKcWELTOv2XF7p3xI,2915
20
20
  digitalhub_runtime_python/entities/function/guardrail/entity.py,sha256=wZA_CxVUxb7-cVLKl1F6pesQnml2KuSr8Au674dbUqc,2341
21
21
  digitalhub_runtime_python/entities/function/guardrail/models.py,sha256=ZZUb9RWVFO41Hr4ns1ITL02eODfB_TKyAoq3cGJrZMQ,340
22
22
  digitalhub_runtime_python/entities/function/guardrail/spec.py,sha256=974KDiSH1UNmSVcNCj_qfWvWLQAeYRc8UcYWpOqIHJg,1676
23
23
  digitalhub_runtime_python/entities/function/guardrail/status.py,sha256=tVBsETnnbVBaR1yvJ1nXizkbTTQ9flRg29TVrucwgYA,314
24
24
  digitalhub_runtime_python/entities/function/hydra/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
25
- digitalhub_runtime_python/entities/function/hydra/builder.py,sha256=1Yw8-v8IyN9m09CiaNVPxyM8PR_JnRDOHfe92fXyae0,2831
26
- digitalhub_runtime_python/entities/function/hydra/entity.py,sha256=t4v4mzIb82Luhm6OTSUqihWaBm0R-6T-x70GpyBp2sw,2826
27
- digitalhub_runtime_python/entities/function/hydra/models.py,sha256=lVGx8ZmrV5ws3wrwqY3sBGFGU-UMurALuG87K8-R5lM,1151
28
- digitalhub_runtime_python/entities/function/hydra/spec.py,sha256=CRIfzaBVwM8QFRLXuToM1xAmeio9yqQQEd3mkw4akV4,1630
25
+ digitalhub_runtime_python/entities/function/hydra/builder.py,sha256=ZfWJnsmSX4OoucLHgNlSlWpq8tVUTUG89kC3yHid7O4,2947
26
+ digitalhub_runtime_python/entities/function/hydra/entity.py,sha256=ZpYn-SMvKWUKx6wTgVWW2lMrQKGEr4eSmp5kuHrE6OM,2820
27
+ digitalhub_runtime_python/entities/function/hydra/models.py,sha256=DXQa9DTnHw_YAos2lfcNPFL2LpeWy0VAqa5s7joWflI,1155
28
+ digitalhub_runtime_python/entities/function/hydra/spec.py,sha256=n0meR5mUz6dIzpoa76Zfm6ezKxUHeOKezOXjpd0qlLU,1630
29
29
  digitalhub_runtime_python/entities/function/hydra/status.py,sha256=O26R7uqJLRZ_UHrnTgiS7hsmdfHOho1szNrK9lITSEI,306
30
- digitalhub_runtime_python/entities/function/hydra/utils.py,sha256=6_e9Vpk0ajes6tPhn9nPhHt270O6agDXUocCGihWTLY,2819
30
+ digitalhub_runtime_python/entities/function/hydra/utils.py,sha256=K8TMxUO-1EFOLW-tDIjzxWuf9tJCSz0hgtbzQt0qxm8,5503
31
31
  digitalhub_runtime_python/entities/function/openinference/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
32
- digitalhub_runtime_python/entities/function/openinference/builder.py,sha256=coSviu9hgpQX-q9pTHtyw6IWsU8kpiG-LeFhaEaIquI,2875
32
+ digitalhub_runtime_python/entities/function/openinference/builder.py,sha256=-7qxCZDuYIAdOFIFte2pGk8cc4NXHKVQ8p-86Zp4pX8,2991
33
33
  digitalhub_runtime_python/entities/function/openinference/entity.py,sha256=cEyWVC1OI39Nkhvu2orBWXI8roSJrZWYTX6nhts0jA8,2373
34
34
  digitalhub_runtime_python/entities/function/openinference/models.py,sha256=qMsjy37P8XVepwx5WHRcmGPuJQ-rsrqYw2x_czoa6G4,887
35
35
  digitalhub_runtime_python/entities/function/openinference/spec.py,sha256=bqORpqG6Uun_LcZUo0iFG-cu1aQzLkB2WUdHPy9yYc8,2047
36
36
  digitalhub_runtime_python/entities/function/openinference/status.py,sha256=mfvAdnKcr3TUbM42AELirQd6Wr-06TPflkYFWVZEv80,322
37
37
  digitalhub_runtime_python/entities/function/python/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
38
- digitalhub_runtime_python/entities/function/python/builder.py,sha256=bjVD5WtoPsKz2hHtlzJS1DRSICNkzjEVI9zLXz6fDNc,2729
38
+ digitalhub_runtime_python/entities/function/python/builder.py,sha256=Tcuiu-o7YcsyqgDHcNQecimk2vzrHW6Bwwmbpmih6Ro,2845
39
39
  digitalhub_runtime_python/entities/function/python/entity.py,sha256=SVUOKoViIX4W8jdkNH9qp39sZL23k1NRQVibuQdKEco,2317
40
40
  digitalhub_runtime_python/entities/function/python/models.py,sha256=pCqGJ1TSZ8-C4jhzzLL4DzZwi7jynxNUvsdX3mYV09M,1001
41
41
  digitalhub_runtime_python/entities/function/python/spec.py,sha256=6TkwV0kGVryvZmvMY12RzfsTzw4D2Pm43dRNi3IvGy0,1428
@@ -43,10 +43,10 @@ digitalhub_runtime_python/entities/function/python/status.py,sha256=XK3KPKovCRiM
43
43
  digitalhub_runtime_python/entities/function/python/utils.py,sha256=mtSvxugeq45ylFR44P79AuErWsAVAYCRSM5sF8X3d6g,4382
44
44
  digitalhub_runtime_python/entities/run/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
45
45
  digitalhub_runtime_python/entities/run/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
46
- digitalhub_runtime_python/entities/run/_base/entity.py,sha256=rnDUwpvNw7jkMMkXuop2MWVKPbOlAb_DBUJFGEDHO9c,6132
46
+ digitalhub_runtime_python/entities/run/_base/entity.py,sha256=6DQ2PRpuU-Vtnwvxo97kLUkiGnpc3QL2HcRE9lfwkHo,6130
47
47
  digitalhub_runtime_python/entities/run/_base/spec.py,sha256=UevGoyMV_IbriCIOQ4IxRG-HWBW-Ul0l9Ftgm8tWFcs,2532
48
48
  digitalhub_runtime_python/entities/run/_base/status.py,sha256=G_Dw5j590Ejk75YwS5eDKqaU6AqhpHKiHbS_IlMts8Y,817
49
- digitalhub_runtime_python/entities/run/_base/utils.py,sha256=JNiCaYTbKJfJ-D3xtXxKoXuLLXzln6ZTHPfk2WSgtzw,1108
49
+ digitalhub_runtime_python/entities/run/_base/utils.py,sha256=GWHtWUFJwMa7LNnYM6v8MCpLoEmUl9msO5coUqfz7Ig,1117
50
50
  digitalhub_runtime_python/entities/run/guardrail_build/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
51
51
  digitalhub_runtime_python/entities/run/guardrail_build/builder.py,sha256=oYs-PZBbj-v4kAOdehiBXN6e2HrUNlAP5pJ1xNGHSLA,1116
52
52
  digitalhub_runtime_python/entities/run/guardrail_build/entity.py,sha256=V27qI2Npg5CmPYtnDsNpu7X3ICeWFn6hjjm0tun5Un8,751
@@ -59,18 +59,18 @@ digitalhub_runtime_python/entities/run/guardrail_serve/spec.py,sha256=03xRRtVWpY
59
59
  digitalhub_runtime_python/entities/run/guardrail_serve/status.py,sha256=K0Ry0dddSAhXESL4ILOmHSxzIqf66wuzu00UtLl2c9o,334
60
60
  digitalhub_runtime_python/entities/run/hydra_build/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
61
61
  digitalhub_runtime_python/entities/run/hydra_build/builder.py,sha256=HuWyJkT1OMSU7Av1ELdW_f2_khZmcRzYJ2AmtjqBHb8,1039
62
- digitalhub_runtime_python/entities/run/hydra_build/entity.py,sha256=pylajt4TnAb8X2739c30OtLpw7GbXeYvGIb7Q3CmsRY,713
62
+ digitalhub_runtime_python/entities/run/hydra_build/entity.py,sha256=8x0WepIR8RxrqGlEEMY7LT7yNxlbm1th9d0gZHCTNQA,709
63
63
  digitalhub_runtime_python/entities/run/hydra_build/spec.py,sha256=vKsF1z8Y5qAa8fAo7u9ZmtvvBdPdlUBPqJs0R9NO-fg,438
64
64
  digitalhub_runtime_python/entities/run/hydra_build/status.py,sha256=DJDw6jFCx5PApJFly7V6QKaYHLQfwuViEOleMcOqyIM,326
65
65
  digitalhub_runtime_python/entities/run/hydra_job/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
66
66
  digitalhub_runtime_python/entities/run/hydra_job/builder.py,sha256=0qbQqy9u0YPbu6LaF1TnhkTeTA_m5RTU2hOL-y_GN-M,1011
67
67
  digitalhub_runtime_python/entities/run/hydra_job/entity.py,sha256=rubE1xVwNOIR5vPBpzY2-Q7LGXANFAI7-yaolNljCyc,1845
68
- digitalhub_runtime_python/entities/run/hydra_job/spec.py,sha256=zg-_DWaha9Abxq35xLfLN6du8cNyB-YWu9vMRyJ6AlM,2288
68
+ digitalhub_runtime_python/entities/run/hydra_job/spec.py,sha256=-KnegILdTLAI0tpkFI6aAQzNY9MSKg4fz4syP3zyRTw,2290
69
69
  digitalhub_runtime_python/entities/run/hydra_job/status.py,sha256=eZFTPYGTH0P3EGbeU0mM5ZNrCOb_e53EDPP3_ZVl8m8,322
70
70
  digitalhub_runtime_python/entities/run/hydra_subtask/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
71
- digitalhub_runtime_python/entities/run/hydra_subtask/builder.py,sha256=Zy0KzBhR44wo0v0x4EuPDkg7TCbsoh25zb3Q-lOuJEE,1452
72
- digitalhub_runtime_python/entities/run/hydra_subtask/entity.py,sha256=sRB1vAwZdzsFy7IafO0HphCFEWStftD453bBhUDIpMs,734
73
- digitalhub_runtime_python/entities/run/hydra_subtask/spec.py,sha256=X-kg3APA_QdWoziKwwKa6UyTxDcw5bpiiihakshPwbc,2123
71
+ digitalhub_runtime_python/entities/run/hydra_subtask/builder.py,sha256=9UNNvgcgcthHNjFeJSLgHdLju9xu0xqpU3tATvblBIM,1466
72
+ digitalhub_runtime_python/entities/run/hydra_subtask/entity.py,sha256=N4xuMSrxBErpp2vKQpx4jL7keFjZACHdtQKccNPxPsY,737
73
+ digitalhub_runtime_python/entities/run/hydra_subtask/spec.py,sha256=FOe4cvS_jabiWCm2RFNk42vl0iySh54GkU77S1CHUUk,2125
74
74
  digitalhub_runtime_python/entities/run/hydra_subtask/status.py,sha256=73l7blOywS1DkgJyG-eiAeR0bN3yHdBtGdtZ9alY7rE,330
75
75
  digitalhub_runtime_python/entities/run/openinference_build/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
76
76
  digitalhub_runtime_python/entities/run/openinference_build/builder.py,sha256=ShmganrJi30GcbwtOzm-n4bxEJoze7Bmh77KpWEpbZY,1180
@@ -115,12 +115,12 @@ digitalhub_runtime_python/entities/task/hydra_build/spec.py,sha256=cbBhmH74e-n7c
115
115
  digitalhub_runtime_python/entities/task/hydra_build/status.py,sha256=c0mt_mZxhSaM2CAehhk2Ox6SAtLiS36AxwNAGrbeq5c,296
116
116
  digitalhub_runtime_python/entities/task/hydra_job/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
117
117
  digitalhub_runtime_python/entities/task/hydra_job/builder.py,sha256=QYzmRL3d8TwEWy1vnplTDInqxxTiDjidk3TkCOlnuL8,997
118
- digitalhub_runtime_python/entities/task/hydra_job/entity.py,sha256=xF-4Le9BKlqa4pI-JNNN9Sr9WRHJm6hImAcK3lPYJ8M,656
118
+ digitalhub_runtime_python/entities/task/hydra_job/entity.py,sha256=YGmUY8YjYjb85ceGzs-vIOQVwL7ryNA3qxgHcvb7NCY,657
119
119
  digitalhub_runtime_python/entities/task/hydra_job/spec.py,sha256=GBs67O3MQ1uaRqZl__00GEagJkKC_m7SB16_fjogi8M,436
120
120
  digitalhub_runtime_python/entities/task/hydra_job/status.py,sha256=6Vch2cV5nhKqfQQU3VOmsspm2rpkSFuBOzx6RGMGO24,292
121
121
  digitalhub_runtime_python/entities/task/hydra_subtask/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
122
122
  digitalhub_runtime_python/entities/task/hydra_subtask/builder.py,sha256=9YgK5c-7pJEcKMuVW2ikbCtwARHpVNoOLKJwmNP1FCM,1053
123
- digitalhub_runtime_python/entities/task/hydra_subtask/entity.py,sha256=lMmMXWDgDyhoxJuJJh0K0fuxd9t-xMBUYmdRmw40kq8,688
123
+ digitalhub_runtime_python/entities/task/hydra_subtask/entity.py,sha256=Uxbg27xlaODjcyEls-5ll27FI6DBjjN2JGOP9Ewh0Ok,689
124
124
  digitalhub_runtime_python/entities/task/hydra_subtask/spec.py,sha256=HuoDAr3isGlvwl0nWvRHcG19AslUvJte8sNE3LZlhdU,452
125
125
  digitalhub_runtime_python/entities/task/hydra_subtask/status.py,sha256=niL9_tkK78mlDMDwpPjLwFmKSDFop4p-BbvWDLAvM8k,300
126
126
  digitalhub_runtime_python/entities/task/openinference_build/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
@@ -149,15 +149,15 @@ digitalhub_runtime_python/entities/task/python_serve/entity.py,sha256=UP9iLJJ5bw
149
149
  digitalhub_runtime_python/entities/task/python_serve/spec.py,sha256=VDkEvgoxYv5O7v5n_xR2PQnRJW4fxPPNeEHZpV1kvBc,1504
150
150
  digitalhub_runtime_python/entities/task/python_serve/status.py,sha256=OqKVBAhiQDXJb_qogxV8qqh6eyPjudT4puXx8bg_6XU,298
151
151
  digitalhub_runtime_python/runtimes/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
152
- digitalhub_runtime_python/runtimes/builder.py,sha256=Vs6N-GjEL-HTgOEzGNjDq3s77hXW1q9Re13C9D0xZM4,1371
153
- digitalhub_runtime_python/runtimes/hydra_runtime.py,sha256=ZAfDNax1GTO4SHWRjZ3b7rNnDr8tj0VauXFjKXl4Xqs,5651
154
- digitalhub_runtime_python/runtimes/runtime.py,sha256=SqH2W5GKejib_0nt8Lxrb_9JC4BWOWAKirv0Ivriht4,3939
155
- digitalhub_runtime_python/utils/configuration.py,sha256=g8RfyNlaXdrcIqmjr9dWW2J775GG5ZPnD_7JvymuvPM,9116
156
- digitalhub_runtime_python/utils/inputs.py,sha256=LPA7Sk3e1L4MKNd8s9E8XndDd6dGGEtAe0Ugq8_JoTU,5779
157
- digitalhub_runtime_python/utils/outputs.py,sha256=O50NeHz-_aoo4fdQ7PrjL3NCTD0E6zbWBE331SYXiRk,9180
158
- digitalhub_runtime_python/utils/utils.py,sha256=TXXfNkL26BjBNL8IzKqvg-GAnk_GagO7bMnllSX4Gxs,1927
159
- digitalhub_runtime_python-0.16.0b0.dist-info/METADATA,sha256=5ohFhyuUN04hqeFu6qNlc8vwOiuLkhL7tI7EKPR5XdE,17078
160
- digitalhub_runtime_python-0.16.0b0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
161
- digitalhub_runtime_python-0.16.0b0.dist-info/licenses/AUTHORS,sha256=iDleK_2EAMmh0o8Te_E9mdXQCP4rBfFr9dW9d0-pCno,301
162
- digitalhub_runtime_python-0.16.0b0.dist-info/licenses/LICENSE,sha256=z3xQCHfGmTnigfoUe3uidW_GUSVeFBdos30w9VNTRec,11361
163
- digitalhub_runtime_python-0.16.0b0.dist-info/RECORD,,
152
+ digitalhub_runtime_python/runtimes/builder.py,sha256=vfSyxh5iEkSmTngTWM2BMpcnyvtAagBJpbN0M7ICjKw,1370
153
+ digitalhub_runtime_python/runtimes/hydra_runtime.py,sha256=9qnXdmUzX_uP-_qfZzZJilYChPlUivzO6LLQoGVR65c,5831
154
+ digitalhub_runtime_python/runtimes/runtime.py,sha256=kJgDfXk_UbXXryRw7LNAIETJJH5nB7IwjnJgYVBrBRI,3965
155
+ digitalhub_runtime_python/utils/configuration.py,sha256=BhrHFsvlCcAHA1hfmx7b5lURKeMV9TuC1dtMKXpcHOM,9125
156
+ digitalhub_runtime_python/utils/inputs.py,sha256=c-dU61jHXrTd-5XJt4LacjfDzi_vWZFKwuJCbqAGdJQ,5806
157
+ digitalhub_runtime_python/utils/outputs.py,sha256=irGUqy43F26NC1_ruH831NDyDTIVQHwIf15oXpR-q2M,9571
158
+ digitalhub_runtime_python/utils/utils.py,sha256=qO-wh-9qJFvoJnWIWNeajtFQuBSYw3xhCI3JqV9gVHE,1936
159
+ digitalhub_runtime_python-0.16.0b2.dist-info/METADATA,sha256=tohILQKFnFyvRH6gm5ySNK5V1R9LdS_Wl1HC8sfferQ,17080
160
+ digitalhub_runtime_python-0.16.0b2.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
161
+ digitalhub_runtime_python-0.16.0b2.dist-info/licenses/AUTHORS,sha256=iDleK_2EAMmh0o8Te_E9mdXQCP4rBfFr9dW9d0-pCno,301
162
+ digitalhub_runtime_python-0.16.0b2.dist-info/licenses/LICENSE,sha256=z3xQCHfGmTnigfoUe3uidW_GUSVeFBdos30w9VNTRec,11361
163
+ digitalhub_runtime_python-0.16.0b2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.30.1
2
+ Generator: hatchling 1.31.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any