digitalhub-runtime-python 0.9.0b0__tar.gz → 0.9.1__tar.gz

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 (57) hide show
  1. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/LICENSE.txt +1 -1
  2. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/PKG-INFO +3 -3
  3. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/entity.py +0 -1
  4. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/spec.py +4 -5
  5. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/spec.py +4 -0
  6. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/spec.py +4 -0
  7. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/spec.py +4 -0
  8. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/runtimes/runtime.py +2 -2
  9. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/configuration.py +92 -67
  10. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/outputs.py +1 -1
  11. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/PKG-INFO +3 -3
  12. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/pyproject.toml +2 -2
  13. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/README.md +0 -0
  14. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/__init__.py +0 -0
  15. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/__init__.py +0 -0
  16. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
  17. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
  18. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +0 -0
  19. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
  20. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_commons/enums.py +0 -0
  21. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
  22. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/__init__.py +0 -0
  23. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/builder.py +0 -0
  24. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
  25. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
  26. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
  27. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
  28. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/utils.py +0 -0
  29. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/__init__.py +0 -0
  30. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/__init__.py +0 -0
  31. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/builder.py +0 -0
  32. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/status.py +0 -0
  33. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/utils.py +0 -0
  34. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/__init__.py +0 -0
  35. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/__init__.py +0 -0
  36. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
  37. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
  38. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
  39. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/__init__.py +0 -0
  40. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
  41. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
  42. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/models.py +0 -0
  43. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
  44. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/__init__.py +0 -0
  45. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
  46. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
  47. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
  48. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
  49. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/runtimes/builder.py +0 -0
  50. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/env.py +0 -0
  51. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/inputs.py +0 -0
  52. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/utils.py +0 -0
  53. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/SOURCES.txt +0 -0
  54. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/dependency_links.txt +0 -0
  55. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/requires.txt +0 -0
  56. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/top_level.txt +0 -0
  57. {digitalhub_runtime_python-0.9.0b0 → digitalhub_runtime_python-0.9.1}/setup.cfg +0 -0
@@ -186,7 +186,7 @@ APPENDIX: How to apply the Apache License to your work.
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright [yyyy] [name of copyright owner]
189
+ Copyright 2024 DSLab, Fondazione Bruno Kessler
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.9.0b0
3
+ Version: 0.9.1
4
4
  Summary: Python runtime for DHCore
5
5
  Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
6
6
  License: Apache License
@@ -191,7 +191,7 @@ License: Apache License
191
191
  same "printed page" as the copyright notice for easier
192
192
  identification within third-party archives.
193
193
 
194
- Copyright [yyyy] [name of copyright owner]
194
+ Copyright 2024 DSLab, Fondazione Bruno Kessler
195
195
 
196
196
  Licensed under the Apache License, Version 2.0 (the "License");
197
197
  you may not use this file except in compliance with the License.
@@ -57,7 +57,6 @@ class RunPythonRun(Run):
57
57
  for _, v in inputs.items():
58
58
  self.add_relationship(
59
59
  relation=Relationship.CONSUMES.value,
60
- source=self.key + f":{self.id}",
61
60
  dest=v.get("key"),
62
61
  )
63
62
  self.save(update=True)
@@ -20,6 +20,8 @@ class RunSpecPythonRun(RunSpec):
20
20
  envs: list[dict] | None = None,
21
21
  secrets: list[str] | None = None,
22
22
  profile: str | None = None,
23
+ runtime_class: str | None = None,
24
+ priority_class: str | None = None,
23
25
  source: dict | None = None,
24
26
  image: str | None = None,
25
27
  base_image: str | None = None,
@@ -31,7 +33,6 @@ class RunSpecPythonRun(RunSpec):
31
33
  replicas: int | None = None,
32
34
  instructions: dict | None = None,
33
35
  inputs: dict | None = None,
34
- outputs: dict | None = None,
35
36
  parameters: dict | None = None,
36
37
  **kwargs,
37
38
  ) -> None:
@@ -48,6 +49,8 @@ class RunSpecPythonRun(RunSpec):
48
49
  envs,
49
50
  secrets,
50
51
  profile,
52
+ runtime_class,
53
+ priority_class,
51
54
  **kwargs,
52
55
  )
53
56
  self.source = source
@@ -61,7 +64,6 @@ class RunSpecPythonRun(RunSpec):
61
64
  self.replicas = replicas
62
65
  self.instructions = instructions
63
66
  self.inputs = inputs
64
- self.outputs = outputs
65
67
  self.parameters = parameters
66
68
 
67
69
 
@@ -90,8 +92,5 @@ class RunValidatorPythonRun(RunValidator):
90
92
  inputs: dict = None
91
93
  """Run inputs."""
92
94
 
93
- outputs: dict = None
94
- """Run outputs."""
95
-
96
95
  parameters: dict = None
97
96
  """Run parameters."""
@@ -17,6 +17,8 @@ class TaskSpecPythonBuild(TaskSpecFunction):
17
17
  envs: list[dict] | None = None,
18
18
  secrets: list[str] | None = None,
19
19
  profile: str | None = None,
20
+ runtime_class: str | None = None,
21
+ priority_class: str | None = None,
20
22
  instructions: list | None = None,
21
23
  **kwargs,
22
24
  ) -> None:
@@ -30,6 +32,8 @@ class TaskSpecPythonBuild(TaskSpecFunction):
30
32
  envs,
31
33
  secrets,
32
34
  profile,
35
+ runtime_class,
36
+ priority_class,
33
37
  **kwargs,
34
38
  )
35
39
  self.instructions = instructions
@@ -18,6 +18,8 @@ class TaskSpecPythonJob(TaskSpecFunction):
18
18
  envs: list[dict] | None = None,
19
19
  secrets: list[str] | None = None,
20
20
  profile: str | None = None,
21
+ runtime_class: str | None = None,
22
+ priority_class: str | None = None,
21
23
  backoff_limit: int | None = None,
22
24
  schedule: str | None = None,
23
25
  **kwargs,
@@ -32,6 +34,8 @@ class TaskSpecPythonJob(TaskSpecFunction):
32
34
  envs,
33
35
  secrets,
34
36
  profile,
37
+ runtime_class,
38
+ priority_class,
35
39
  **kwargs,
36
40
  )
37
41
  self.backoff_limit = backoff_limit
@@ -19,6 +19,8 @@ class TaskSpecPythonServe(TaskSpecFunction):
19
19
  envs: list[dict] | None = None,
20
20
  secrets: list[str] | None = None,
21
21
  profile: str | None = None,
22
+ runtime_class: str | None = None,
23
+ priority_class: str | None = None,
22
24
  replicas: int | None = None,
23
25
  service_type: str | None = None,
24
26
  **kwargs,
@@ -33,6 +35,8 @@ class TaskSpecPythonServe(TaskSpecFunction):
33
35
  envs,
34
36
  secrets,
35
37
  profile,
38
+ runtime_class,
39
+ priority_class,
36
40
  **kwargs,
37
41
  )
38
42
  self.replicas = replicas
@@ -7,7 +7,7 @@ from digitalhub.runtimes._base import Runtime
7
7
  from digitalhub.utils.logger import LOGGER
8
8
 
9
9
  from digitalhub_runtime_python.entities._commons.enums import EntityKinds
10
- from digitalhub_runtime_python.utils.configuration import get_function_from_source
10
+ from digitalhub_runtime_python.utils.configuration import import_function_from_source
11
11
  from digitalhub_runtime_python.utils.inputs import compose_inputs
12
12
  from digitalhub_runtime_python.utils.outputs import build_status, parse_outputs
13
13
 
@@ -125,7 +125,7 @@ class RuntimePython(Runtime):
125
125
  Callable
126
126
  Function to execute.
127
127
  """
128
- fnc = get_function_from_source(
128
+ fnc = import_function_from_source(
129
129
  self.runtime_dir,
130
130
  spec.get("source", {}),
131
131
  )
@@ -12,10 +12,17 @@ from digitalhub.utils.generic_utils import (
12
12
  from digitalhub.utils.git_utils import clone_repository
13
13
  from digitalhub.utils.logger import LOGGER
14
14
  from digitalhub.utils.s3_utils import get_bucket_and_key, get_s3_source
15
- from digitalhub.utils.uri_utils import has_git_scheme, has_local_scheme, has_remote_scheme, has_s3_scheme
15
+ from digitalhub.utils.uri_utils import (
16
+ get_filename_from_uri,
17
+ has_git_scheme,
18
+ has_local_scheme,
19
+ has_remote_scheme,
20
+ has_s3_scheme,
21
+ has_zip_scheme,
22
+ )
16
23
 
17
24
 
18
- def get_function_from_source(path: Path, source_spec: dict) -> Callable:
25
+ def import_function_from_source(path: Path, source_spec: dict) -> Callable:
19
26
  """
20
27
  Get function from source.
21
28
 
@@ -42,61 +49,6 @@ def get_function_from_source(path: Path, source_spec: dict) -> Callable:
42
49
  raise RuntimeError(msg) from e
43
50
 
44
51
 
45
- def get_function_source(source_spec: dict) -> Path:
46
- """
47
- Get function source.
48
-
49
- Parameters
50
- ----------
51
- source : dict
52
- Function source.
53
-
54
- Returns
55
- -------
56
- Path
57
- Path to function source.
58
- """
59
- path = Path("/shared")
60
-
61
- # Get relevant information
62
- base64 = source_spec.get("base64")
63
- source = source_spec.get("source")
64
- handler = source_spec.get("handler")
65
-
66
- handler_path, _ = parse_handler(handler)
67
-
68
- # Check base64. If it is set, it means
69
- # that the source comes from a local file
70
- if base64 is not None:
71
- if has_local_scheme(source):
72
- return path / handler_path / Path(source)
73
- raise RuntimeError("Source is not a local file.")
74
-
75
- if handler_path != Path(""):
76
- return path / handler_path.with_suffix(".py")
77
- raise RuntimeError("Must provide handler path in handler in form <root>.<dir>.<module>:<function_name>.")
78
-
79
-
80
- def parse_handler(handler: str) -> tuple[Path, str]:
81
- """
82
- Parse handler.
83
-
84
- Parameters
85
- ----------
86
- handler : str
87
- Function handler.
88
-
89
- Returns
90
- -------
91
- tuple[Path, str]
92
- Handler path and function name.
93
- """
94
- parsed = handler.split(":")
95
- if len(parsed) == 1:
96
- return Path(""), parsed[0]
97
- return Path(*parsed[0].split(".")), parsed[1]
98
-
99
-
100
52
  def save_function_source(path: Path, source_spec: dict) -> Path:
101
53
  """
102
54
  Save function source.
@@ -126,22 +78,32 @@ def save_function_source(path: Path, source_spec: dict) -> Path:
126
78
  base64_path.write_text(decode_base64_string(base64))
127
79
  return base64_path
128
80
 
81
+ if source is None:
82
+ raise RuntimeError("Function source not found in spec.")
83
+
129
84
  # Git repo
130
85
  if has_git_scheme(source):
131
86
  clone_repository(path, source)
132
87
 
133
88
  # Http(s) or s3 presigned urls
134
89
  elif has_remote_scheme(source):
135
- filename = path / "archive.zip"
136
- requests_chunk_download(source, filename)
137
- extract_archive(path, filename)
90
+ filename = path / get_filename_from_uri(source)
91
+ if has_zip_scheme(source):
92
+ requests_chunk_download(source.removeprefix("zip+"), filename)
93
+ extract_archive(path, filename)
94
+ filename.unlink()
95
+ else:
96
+ requests_chunk_download(source, filename)
138
97
 
139
98
  # S3 path
140
99
  elif has_s3_scheme(source):
141
- filename = path / "archive.zip"
100
+ if not has_zip_scheme(source):
101
+ raise RuntimeError("S3 source must be a zip file with scheme zip+s3://.")
102
+ filename = path / get_filename_from_uri(source)
142
103
  bucket, key = get_bucket_and_key(source)
143
104
  get_s3_source(bucket, key, filename)
144
105
  extract_archive(path, filename)
106
+ filename.unlink()
145
107
 
146
108
  # Unsupported scheme
147
109
  else:
@@ -150,14 +112,20 @@ def save_function_source(path: Path, source_spec: dict) -> Path:
150
112
  return path
151
113
 
152
114
 
153
- def import_function_and_init(source: dict) -> tuple[Callable, Union[Callable, None]]:
115
+ def import_function_and_init_from_source(
116
+ path: Path, source_spec: dict, default_py: str
117
+ ) -> tuple[Callable, Union[Callable, None]]:
154
118
  """
155
- Import function from source.
119
+ Import function and init from source.
156
120
 
157
121
  Parameters
158
122
  ----------
159
- source : dict
123
+ path : Path
124
+ Path where the function source is or must be saved.
125
+ source_spec : dict
160
126
  Function source.
127
+ default_py : str
128
+ Default python file.
161
129
 
162
130
  Returns
163
131
  -------
@@ -166,16 +134,73 @@ def import_function_and_init(source: dict) -> tuple[Callable, Union[Callable, No
166
134
  """
167
135
 
168
136
  # Get function source
169
- function_path = get_function_source(source)
170
- _, handler_name = parse_handler(source.get("handler"))
137
+ function_path = get_function_source(path, source_spec, default_py)
138
+ _, handler_name = parse_handler(source_spec.get("handler"))
171
139
 
172
140
  # Import function
173
141
  fnc = import_function(function_path, handler_name)
174
142
 
175
143
  # Get init function
176
144
  init_fnc: Callable | None = None
177
- init_handler: str | None = source.get("init_function")
145
+ init_handler: str | None = source_spec.get("init_function")
178
146
  if init_handler is not None:
179
147
  init_fnc = import_function(function_path, init_handler)
180
148
 
181
149
  return fnc, init_fnc
150
+
151
+
152
+ def get_function_source(path: Path, source_spec: dict, default_py: str) -> Path:
153
+ """
154
+ Get function source.
155
+
156
+ Parameters
157
+ ----------
158
+ path : Path
159
+ Path where the function source is or must be saved.
160
+ source_spec : dict
161
+ Function source.
162
+ default_py : str
163
+ Default python file.
164
+
165
+ Returns
166
+ -------
167
+ Path
168
+ Path to function source.
169
+ """
170
+ # Get relevant information
171
+ base64 = source_spec.get("base64")
172
+ source = source_spec.get("source", default_py)
173
+ handler = source_spec.get("handler")
174
+
175
+ handler_path, _ = parse_handler(handler)
176
+
177
+ # Check base64. If it is set, it means
178
+ # that the source comes from a local file
179
+ if base64 is not None:
180
+ if has_local_scheme(source):
181
+ return path / handler_path / Path(source)
182
+ raise RuntimeError("Source is not a local file.")
183
+
184
+ if handler_path != Path(""):
185
+ return path / handler_path.with_suffix(".py")
186
+ raise RuntimeError("Must provide handler path in handler in form <root>.<dir>.<module>:<function_name>.")
187
+
188
+
189
+ def parse_handler(handler: str) -> tuple[Path, str]:
190
+ """
191
+ Parse handler.
192
+
193
+ Parameters
194
+ ----------
195
+ handler : str
196
+ Function handler.
197
+
198
+ Returns
199
+ -------
200
+ tuple[Path, str]
201
+ Handler path and function name.
202
+ """
203
+ parsed = handler.split(":")
204
+ if len(parsed) == 1:
205
+ return Path(""), parsed[0]
206
+ return Path(*parsed[0].split(".")), parsed[1]
@@ -62,7 +62,7 @@ def collect_outputs(results: Any, outputs: list[str], project_name: str, run_key
62
62
 
63
63
  # Add relationship to object, update it
64
64
  dest = run_key + ":" + run_key.split("/")[-1]
65
- obj.add_relationship(relation=Relationship.PRODUCEDBY.value, source=obj.key, dest=dest)
65
+ obj.add_relationship(relation=Relationship.PRODUCEDBY.value, dest=dest)
66
66
 
67
67
  try:
68
68
  obj.save(update=True)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.9.0b0
3
+ Version: 0.9.1
4
4
  Summary: Python runtime for DHCore
5
5
  Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
6
6
  License: Apache License
@@ -191,7 +191,7 @@ License: Apache License
191
191
  same "printed page" as the copyright notice for easier
192
192
  identification within third-party archives.
193
193
 
194
- Copyright [yyyy] [name of copyright owner]
194
+ Copyright 2024 DSLab, Fondazione Bruno Kessler
195
195
 
196
196
  Licensed under the Apache License, Version 2.0 (the "License");
197
197
  you may not use this file except in compliance with the License.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "digitalhub-runtime-python"
7
- version = "0.9.0b0"
7
+ version = "0.9.1"
8
8
  description = "Python runtime for DHCore"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -40,7 +40,7 @@ line-length = 120
40
40
  convention = "numpy"
41
41
 
42
42
  [tool.bumpver]
43
- current_version = "0.9.0b0"
43
+ current_version = "0.9.1"
44
44
  version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
45
45
  commit_message = "Bump version {old_version} -> {new_version}"
46
46
  commit = false