digitalhub-runtime-python 0.9.0b1__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.
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/LICENSE.txt +1 -1
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/PKG-INFO +3 -3
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/runtimes/runtime.py +2 -2
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/configuration.py +92 -67
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/PKG-INFO +3 -3
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/pyproject.toml +2 -2
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/README.md +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/_commons/enums.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/builder.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/function/python/utils.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/builder.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/entity.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/spec.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/status.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/run/python_run/utils.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/spec.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/models.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/spec.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/runtimes/builder.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/env.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/inputs.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/outputs.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python/utils/utils.py +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/SOURCES.txt +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/dependency_links.txt +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/requires.txt +0 -0
- {digitalhub_runtime_python-0.9.0b1 → digitalhub_runtime_python-0.9.1}/digitalhub_runtime_python.egg-info/top_level.txt +0 -0
- {digitalhub_runtime_python-0.9.0b1 → 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
|
|
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
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: digitalhub-runtime-python
|
|
3
|
-
Version: 0.9.
|
|
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
|
|
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.
|
|
@@ -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
|
|
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 =
|
|
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
|
|
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
|
|
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", "main.py")
|
|
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 /
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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(
|
|
170
|
-
_, handler_name = parse_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 =
|
|
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]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: digitalhub-runtime-python
|
|
3
|
-
Version: 0.9.
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|