zrb 0.11.3__py3-none-any.whl → 0.14.0__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 (24) hide show
  1. zrb/__init__.py +9 -1
  2. zrb/builtin/docker/prune.py +0 -4
  3. zrb/builtin/env/get.py +0 -4
  4. zrb/builtin/eval.py +0 -4
  5. zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/stop.py +0 -4
  6. zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/stop.py +0 -4
  7. zrb/builtin/project/add/fastapp/app/app.py +7 -12
  8. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/stop.py +0 -4
  9. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/load_test.py +1 -0
  10. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/test.py +1 -0
  11. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/_common.py +9 -9
  12. zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/build/build.py +1 -0
  13. zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/prepare_venv/prepare_venv.py +1 -0
  14. zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/publish/publish.py +1 -0
  15. zrb/builtin/version.py +3 -4
  16. zrb/task/base_remote_cmd_task.py +12 -0
  17. zrb/task/cmd_task.py +11 -3
  18. zrb/task/docker_compose_task.py +8 -0
  19. zrb/task/resource_maker.py +47 -21
  20. {zrb-0.11.3.dist-info → zrb-0.14.0.dist-info}/METADATA +1 -1
  21. {zrb-0.11.3.dist-info → zrb-0.14.0.dist-info}/RECORD +24 -24
  22. {zrb-0.11.3.dist-info → zrb-0.14.0.dist-info}/LICENSE +0 -0
  23. {zrb-0.11.3.dist-info → zrb-0.14.0.dist-info}/WHEEL +0 -0
  24. {zrb-0.11.3.dist-info → zrb-0.14.0.dist-info}/entry_points.txt +0 -0
zrb/__init__.py CHANGED
@@ -24,7 +24,13 @@ from zrb.task.path_watcher import PathWatcher
24
24
  from zrb.task.port_checker import PortChecker
25
25
  from zrb.task.recurring_task import RecurringTask
26
26
  from zrb.task.remote_cmd_task import RemoteCmdTask
27
- from zrb.task.resource_maker import Replacement, ReplacementMutator, ResourceMaker
27
+ from zrb.task.resource_maker import (
28
+ Replacement,
29
+ ReplacementMutator,
30
+ ResourceMaker,
31
+ get_default_resource_excludes,
32
+ get_default_resource_skip_parsing,
33
+ )
28
34
  from zrb.task.rsync_task import RsyncTask
29
35
  from zrb.task.task import Task
30
36
  from zrb.task.time_watcher import TimeWatcher
@@ -72,6 +78,8 @@ assert TimeWatcher
72
78
  assert ResourceMaker
73
79
  assert FlowTask
74
80
  assert RecurringTask
81
+ assert get_default_resource_excludes
82
+ assert get_default_resource_skip_parsing
75
83
  assert Replacement
76
84
  assert ReplacementMutator
77
85
  assert AnyInput
@@ -2,10 +2,6 @@ from zrb.builtin.docker._group import docker_group
2
2
  from zrb.runner import runner
3
3
  from zrb.task.cmd_task import CmdTask
4
4
 
5
- ###############################################################################
6
- # Task Definitions
7
- ###############################################################################
8
-
9
5
  prune_docker = CmdTask(
10
6
  name="prune",
11
7
  group=docker_group,
zrb/builtin/env/get.py CHANGED
@@ -5,10 +5,6 @@ from zrb.runner import runner
5
5
  from zrb.task.decorator import python_task
6
6
  from zrb.task.task import Task
7
7
 
8
- ###############################################################################
9
- # Task Definitions
10
- ###############################################################################
11
-
12
8
 
13
9
  @python_task(
14
10
  name="get", group=env_group, description="Get environment values", runner=runner
zrb/builtin/eval.py CHANGED
@@ -3,10 +3,6 @@ from zrb.runner import runner
3
3
  from zrb.task.decorator import python_task
4
4
  from zrb.task_input.str_input import StrInput
5
5
 
6
- ###############################################################################
7
- # Task Definitions
8
- ###############################################################################
9
-
10
6
 
11
7
  @python_task(
12
8
  name="eval",
@@ -7,10 +7,6 @@ from ._env import compose_env_file, host_port_env
7
7
  from ._group import snake_zrb_app_name_container_group
8
8
  from ._service_config import snake_zrb_app_name_service_config
9
9
 
10
- ###############################################################################
11
- # ⚙️ kebab-zrb-task-name
12
- ###############################################################################
13
-
14
10
  stop_snake_zrb_app_name_container = DockerComposeTask(
15
11
  icon="⛔",
16
12
  name="stop",
@@ -7,10 +7,6 @@ from ._env import compose_env_file, host_port_env
7
7
  from ._group import snake_zrb_app_name_container_group
8
8
  from ._service_config import snake_zrb_app_name_service_config
9
9
 
10
- ###############################################################################
11
- # ⚙️ kebab-zrb-task-name
12
- ###############################################################################
13
-
14
10
  stop_snake_zrb_app_name_container = DockerComposeTask(
15
11
  icon="⛔",
16
12
  name="stop",
@@ -21,7 +21,11 @@ from zrb.helper.typing import Any
21
21
  from zrb.helper.util import to_kebab_case
22
22
  from zrb.runner import runner
23
23
  from zrb.task.decorator import python_task
24
- from zrb.task.resource_maker import ResourceMaker
24
+ from zrb.task.resource_maker import (
25
+ ResourceMaker,
26
+ get_default_resource_excludes,
27
+ get_default_resource_skip_parsing,
28
+ )
25
29
  from zrb.task.task import Task
26
30
 
27
31
  _CURRENT_DIR = os.path.dirname(__file__)
@@ -70,24 +74,15 @@ copy_resource = ResourceMaker(
70
74
  destination_path="{{ input.project_dir }}",
71
75
  excludes=[
72
76
  "*/deployment/venv",
73
- "*/__pycache__",
74
77
  "*/src/kebab-zrb-app-name/.venv",
75
78
  "*/src/kebab-zrb-app-name/src/frontend/node_modules",
76
79
  "*/src/kebab-zrb-app-name/src/frontend/build",
77
80
  "*/src/kebab-zrb-app-name/src/frontend/.svelte-kit",
81
+ *get_default_resource_excludes(),
78
82
  ],
79
83
  skip_parsing=[
80
- "*.mp3",
81
- "*.pdf",
82
- "*.exe",
83
- "*.dll",
84
- "*.bin",
85
- "*.iso",
86
- "*.png",
87
- "*.jpg",
88
- "*.gif",
89
- "*.ico",
90
84
  "*/monitoring/clickhouse/user_scripts/histogramQuantile",
85
+ *get_default_resource_skip_parsing(),
91
86
  ],
92
87
  )
93
88
 
@@ -7,10 +7,6 @@ from ._env import compose_env_file, host_port_env
7
7
  from ._group import snake_zrb_app_name_container_group
8
8
  from ._service_config import snake_zrb_app_name_service_configs
9
9
 
10
- ###############################################################################
11
- # ⚙️ kebab-zrb-task-name
12
- ###############################################################################
13
-
14
10
  stop_snake_zrb_app_name_container = DockerComposeTask(
15
11
  icon="⛔",
16
12
  name="stop",
@@ -69,5 +69,6 @@ load_test_snake_zrb_app_name = CmdTask(
69
69
  os.path.join(_CURRENT_DIR, "activate-venv.sh"),
70
70
  os.path.join(_CURRENT_DIR, "app-load-test.sh"),
71
71
  ],
72
+ should_print_cmd_result=False,
72
73
  )
73
74
  runner.register(load_test_snake_zrb_app_name)
@@ -52,6 +52,7 @@ test_snake_zrb_app_name = CmdTask(
52
52
  Env(name="APP", os_name="APP_ENABLE_OTEL", default="false"),
53
53
  ],
54
54
  cmd_path=os.path.join(_CURRENT_DIR, "test.sh"),
55
+ should_print_cmd_result=False,
55
56
  retry=0,
56
57
  )
57
58
  runner.register(test_snake_zrb_app_name)
@@ -59,16 +59,16 @@ def get_app_monolith_env_map(
59
59
  template_env_map: Mapping[str, str], modules: List[str]
60
60
  ) -> Mapping[str, str]:
61
61
  env_map = copy.deepcopy(template_env_map)
62
- env_map[
63
- "APP_RMQ_CONNECTION"
64
- ] = f"amqp://{RABBITMQ_AUTH_USERNAME}:{RABBITMQ_AUTH_PASSWORD}@rabbitmq" # noqa
62
+ env_map["APP_RMQ_CONNECTION"] = (
63
+ f"amqp://{RABBITMQ_AUTH_USERNAME}:{RABBITMQ_AUTH_PASSWORD}@rabbitmq" # noqa
64
+ )
65
65
  env_map["APP_KAFKA_BOOTSTRAP_SERVERS"] = "redpanda:9092"
66
66
  env_map["APP_KAFKA_SASL_MECHANISM"] = REDPANDA_AUTH_MECHANISM
67
67
  env_map["APP_KAFKA_SASL_USER"] = REDPANDA_AUTH_USER_NAME
68
68
  env_map["APP_KAFKA_SASL_PASSWORD"] = REDPANDA_AUTH_USER_PASSWORD
69
- env_map[
70
- "APP_DB_CONNECTION"
71
- ] = f"postgresql+psycopg2://{POSTGRESQL_AUTH_USERNAME}:{POSTGRESQL_AUTH_PASSWORD}@postgresql:5432/{POSTGRESQL_DB}" # noqa
69
+ env_map["APP_DB_CONNECTION"] = (
70
+ f"postgresql+psycopg2://{POSTGRESQL_AUTH_USERNAME}:{POSTGRESQL_AUTH_PASSWORD}@postgresql:5432/{POSTGRESQL_DB}" # noqa
71
+ )
72
72
  for module_name in modules:
73
73
  env_name = get_module_flag_env_name(module_name)
74
74
  env_map[env_name] = "true"
@@ -77,9 +77,9 @@ def get_app_monolith_env_map(
77
77
  env_map["APP_ENABLE_FRONTEND"] = "true"
78
78
  env_map["APP_ENABLE_API"] = "true"
79
79
  env_map["APP_ENABLE_OTEL"] = "true" if ENABLE_MONITORING else "false"
80
- env_map[
81
- "APP_OTEL_EXPORTER_OTLP_ENDPOINT"
82
- ] = "http://signoz-otel-collector:4317" # noqa
80
+ env_map["APP_OTEL_EXPORTER_OTLP_ENDPOINT"] = (
81
+ "http://signoz-otel-collector:4317" # noqa
82
+ )
83
83
  return env_map
84
84
 
85
85
 
@@ -20,6 +20,7 @@ build_snake_zrb_package_name = CmdTask(
20
20
  os.path.join(_PKG_AUTOMATE_DIR, "activate-venv.sh"),
21
21
  os.path.join(_CURRENT_DIR, "build.sh"),
22
22
  ],
23
+ should_print_cmd_result=False,
23
24
  )
24
25
 
25
26
  build_snake_zrb_package_name >> build_project
@@ -18,5 +18,6 @@ prepare_snake_zrb_package_name_venv = CmdTask(
18
18
  os.path.join(_PKG_AUTOMATE_DIR, "activate-venv.sh"),
19
19
  os.path.join(_CURRENT_DIR, "prepare-venv.sh"),
20
20
  ],
21
+ should_print_cmd_result=False,
21
22
  )
22
23
  runner.register(prepare_snake_zrb_package_name_venv)
@@ -21,6 +21,7 @@ publish_snake_zrb_package_name = CmdTask(
21
21
  os.path.join(_PKG_AUTOMATE_DIR, "activate-venv.sh"),
22
22
  os.path.join(_CURRENT_DIR, "publish.sh"),
23
23
  ],
24
+ should_print_cmd_result=False,
24
25
  )
25
26
 
26
27
  publish_snake_zrb_package_name >> publish_project
zrb/builtin/version.py CHANGED
@@ -2,12 +2,11 @@ from zrb.config.config import version
2
2
  from zrb.helper.typing import Any
3
3
  from zrb.runner import runner
4
4
  from zrb.task.decorator import python_task
5
-
6
- ###############################################################################
7
- # Task Definitions
8
- ###############################################################################
5
+ from zrb.task.task import Task
9
6
 
10
7
 
11
8
  @python_task(name="version", description="Get Zrb version", runner=runner)
12
9
  async def get_version(*args: Any, **kwargs: Any) -> str:
10
+ task: Task = kwargs.get("_task")
11
+ task.print_out(version)
13
12
  return version
@@ -95,6 +95,9 @@ class SingleBaseRemoteCmdTask(CmdTask):
95
95
  preexec_fn: Optional[Callable[[], Any]] = os.setsid,
96
96
  should_execute: Union[bool, str, Callable[..., bool]] = True,
97
97
  return_upstream_result: bool = False,
98
+ should_print_cmd_result: bool = True,
99
+ should_show_cmd: bool = True,
100
+ should_show_working_directory: bool = True,
98
101
  ):
99
102
  CmdTask.__init__(
100
103
  self,
@@ -128,6 +131,9 @@ class SingleBaseRemoteCmdTask(CmdTask):
128
131
  preexec_fn=preexec_fn,
129
132
  should_execute=should_execute,
130
133
  return_upstream_result=return_upstream_result,
134
+ should_print_cmd_result=should_print_cmd_result,
135
+ should_show_cmd=should_show_cmd,
136
+ should_show_working_directory=should_show_working_directory,
131
137
  )
132
138
  self._pre_cmd = pre_cmd
133
139
  self._pre_cmd_path = pre_cmd_path
@@ -233,6 +239,9 @@ class BaseRemoteCmdTask(BaseTask):
233
239
  preexec_fn: Optional[Callable[[], Any]] = os.setsid,
234
240
  should_execute: Union[bool, str, Callable[..., bool]] = True,
235
241
  return_upstream_result: bool = False,
242
+ should_print_cmd_result: bool = True,
243
+ should_show_cmd: bool = True,
244
+ should_show_working_directory: bool = True,
236
245
  ):
237
246
  sub_tasks = [
238
247
  SingleBaseRemoteCmdTask(
@@ -267,6 +276,9 @@ class BaseRemoteCmdTask(BaseTask):
267
276
  preexec_fn=preexec_fn,
268
277
  should_execute=should_execute,
269
278
  return_upstream_result=return_upstream_result,
279
+ should_print_cmd_result=should_print_cmd_result,
280
+ should_show_cmd=should_show_cmd,
281
+ should_show_working_directory=should_show_working_directory,
270
282
  )
271
283
  for remote_config in list(remote_configs)
272
284
  ]
zrb/task/cmd_task.py CHANGED
@@ -130,6 +130,9 @@ class CmdTask(BaseTask):
130
130
  preexec_fn: Optional[Callable[[], Any]] = os.setsid,
131
131
  should_execute: Union[bool, str, Callable[..., bool]] = True,
132
132
  return_upstream_result: bool = False,
133
+ should_print_cmd_result: bool = True,
134
+ should_show_cmd: bool = True,
135
+ should_show_working_directory: bool = True,
133
136
  ):
134
137
  BaseTask.__init__(
135
138
  self,
@@ -171,6 +174,9 @@ class CmdTask(BaseTask):
171
174
  self._executable = executable
172
175
  self._process: Optional[asyncio.subprocess.Process]
173
176
  self._preexec_fn = preexec_fn
177
+ self._should_print_cmd_result = should_print_cmd_result
178
+ self._should_show_working_directory = should_show_working_directory
179
+ self._should_show_cmd = should_show_cmd
174
180
 
175
181
  def copy(self) -> TCmdTask:
176
182
  return super().copy()
@@ -194,7 +200,7 @@ class CmdTask(BaseTask):
194
200
  return super().to_function(env_prefix, raise_error, is_async, show_done_info)
195
201
 
196
202
  def print_result(self, result: CmdResult):
197
- if result.output == "":
203
+ if not self._should_print_cmd_result or result.output == "":
198
204
  return
199
205
  print(result.output)
200
206
 
@@ -217,8 +223,10 @@ class CmdTask(BaseTask):
217
223
 
218
224
  async def run(self, *args: Any, **kwargs: Any) -> CmdResult:
219
225
  cmd = self.get_cmd_script(*args, **kwargs)
220
- self.print_out_dark("Run script: " + self.__get_multiline_repr(cmd))
221
- self.print_out_dark("Working directory: " + self._cwd)
226
+ if self._should_show_cmd:
227
+ self.print_out_dark("Run script: " + self.__get_multiline_repr(cmd))
228
+ if self._should_show_working_directory:
229
+ self.print_out_dark("Working directory: " + self._cwd)
222
230
  self._output_buffer = []
223
231
  self._error_buffer = []
224
232
  process = await asyncio.create_subprocess_shell(
@@ -48,6 +48,7 @@ def _get_ensure_zrb_network_task(backend: str):
48
48
  os.path.join(SHELL_SCRIPT_DIR, f"ensure-{backend}-is-installed.sh"),
49
49
  ],
50
50
  preexec_fn=None,
51
+ should_print_cmd_result=False,
51
52
  )
52
53
  return CmdTask(
53
54
  name="ensure-zrb-network",
@@ -56,6 +57,7 @@ def _get_ensure_zrb_network_task(backend: str):
56
57
  f"{backend} network create -d bridge zrb",
57
58
  ],
58
59
  upstreams=[ensure_container_backend],
60
+ should_print_cmd_result=False,
59
61
  )
60
62
 
61
63
 
@@ -117,6 +119,9 @@ class DockerComposeTask(CmdTask):
117
119
  preexec_fn: Optional[Callable[[], Any]] = os.setsid,
118
120
  should_execute: Union[bool, str, Callable[..., bool]] = True,
119
121
  return_upstream_result: bool = False,
122
+ should_print_cmd_result: bool = True,
123
+ should_show_cmd: bool = True,
124
+ should_show_working_directory: bool = True,
120
125
  ):
121
126
  combined_env_files = list(env_files)
122
127
  CmdTask.__init__(
@@ -149,6 +154,9 @@ class DockerComposeTask(CmdTask):
149
154
  preexec_fn=preexec_fn,
150
155
  should_execute=should_execute,
151
156
  return_upstream_result=return_upstream_result,
157
+ should_print_cmd_result=should_print_cmd_result,
158
+ should_show_cmd=should_show_cmd,
159
+ should_show_working_directory=should_show_working_directory,
152
160
  )
153
161
  self._setup_cmd = setup_cmd
154
162
  self._setup_cmd_path = setup_cmd_path
@@ -5,6 +5,7 @@ from zrb.helper.typing import (
5
5
  Callable,
6
6
  Iterable,
7
7
  JinjaTemplate,
8
+ List,
8
9
  Mapping,
9
10
  Optional,
10
11
  TypeVar,
@@ -39,6 +40,36 @@ ReplacementMutator = Callable[[AnyTask, Replacement], Replacement]
39
40
  TResourceMaker = TypeVar("TResourceMaker", bound="ResourceMaker")
40
41
 
41
42
 
43
+ def get_default_resource_skip_parsing() -> List[str]:
44
+ return [
45
+ "*.mp3",
46
+ "*.pdf",
47
+ "*.exe",
48
+ "*.dll",
49
+ "*.bin",
50
+ "*.iso",
51
+ "*.png",
52
+ "*.jpg",
53
+ "*.gif",
54
+ "*.ico",
55
+ "*.pyc",
56
+ "*.gz",
57
+ "*.whl",
58
+ "*.db",
59
+ ]
60
+
61
+
62
+ def get_default_resource_excludes() -> List[str]:
63
+ return [
64
+ "*/.git",
65
+ "*/__pycache__",
66
+ "*/node_modules",
67
+ "*/.venv",
68
+ "*/poetry.lock",
69
+ "*/.env",
70
+ ]
71
+
72
+
42
73
  @typechecked
43
74
  class ResourceMaker(BaseTask):
44
75
  def __init__(
@@ -48,7 +79,7 @@ class ResourceMaker(BaseTask):
48
79
  destination_path: JinjaTemplate,
49
80
  replacements: Replacement = {},
50
81
  replacement_mutator: Optional[ReplacementMutator] = None,
51
- excludes: Iterable[str] = [],
82
+ excludes: Iterable[str] = get_default_resource_excludes(),
52
83
  group: Optional[Group] = None,
53
84
  inputs: Iterable[AnyInput] = [],
54
85
  envs: Iterable[Env] = [],
@@ -66,7 +97,7 @@ class ResourceMaker(BaseTask):
66
97
  on_retry: Optional[OnRetry] = None,
67
98
  on_failed: Optional[OnFailed] = None,
68
99
  should_execute: Union[bool, JinjaTemplate, Callable[..., bool]] = True,
69
- skip_parsing: Optional[Iterable[str]] = None,
100
+ skip_parsing: Iterable[str] = get_default_resource_skip_parsing(),
70
101
  ):
71
102
  BaseTask.__init__(
72
103
  self,
@@ -98,28 +129,11 @@ class ResourceMaker(BaseTask):
98
129
  self._excludes = excludes
99
130
  self._replacements = replacements
100
131
  self._replacement_mutator = replacement_mutator
101
- self._set_skip_parsing(skip_parsing)
132
+ self._skip_parsing = skip_parsing
102
133
 
103
134
  def copy(self) -> TResourceMaker:
104
135
  return super().copy()
105
136
 
106
- def _set_skip_parsing(self, skip_parsing: Optional[Iterable[str]]):
107
- if skip_parsing is not None:
108
- self._skip_parsing: Iterable[str] = skip_parsing
109
- return
110
- self._skip_parsing: Iterable[str] = [
111
- "*.mp3",
112
- "*.pdf",
113
- "*.exe",
114
- "*.dll",
115
- "*.bin",
116
- "*.iso",
117
- "*.png",
118
- "*.jpg",
119
- "*.gif",
120
- "*.ico",
121
- ]
122
-
123
137
  def to_function(
124
138
  self,
125
139
  env_prefix: str = "",
@@ -170,11 +184,14 @@ class ResourceMaker(BaseTask):
170
184
  ) -> Mapping[str, str]:
171
185
  transformations: Mapping[str, Callable[[str], str]] = {
172
186
  "Pascal": to_pascal_case,
173
- "kebab": to_kebab_case,
174
187
  "camel": to_camel_case,
188
+ "kebab": to_kebab_case,
189
+ "KEBAB": _to_upper(to_kebab_case),
175
190
  "snake": to_snake_case,
191
+ "SNAKE": _to_upper(to_snake_case),
176
192
  "human readable": to_human_readable,
177
193
  "Human readable": to_capitalized_human_readable,
194
+ "HUMAN READABLE": _to_upper(to_capitalized_human_readable),
178
195
  }
179
196
  keys = list(rendered_replacements.keys())
180
197
  for key in keys:
@@ -185,4 +202,13 @@ class ResourceMaker(BaseTask):
185
202
  continue
186
203
  transformed_value = transform(value)
187
204
  rendered_replacements[prefixed_key] = transformed_value
205
+ if key != key.upper():
206
+ rendered_replacements[key.upper()] = value.upper()
188
207
  return rendered_replacements
208
+
209
+
210
+ def _to_upper(fn: Callable[[str], str]) -> Callable[[str], str]:
211
+ def upperized_fn(text: str) -> str:
212
+ return fn(text).upper()
213
+
214
+ return upperized_fn
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zrb
3
- Version: 0.11.3
3
+ Version: 0.14.0
4
4
  Summary: A Framework to Enhance Your Workflow
5
5
  Home-page: https://github.com/state-alchemists/zrb
6
6
  License: AGPL-3.0-or-later
@@ -1,4 +1,4 @@
1
- zrb/__init__.py,sha256=a6q4Q6WsU-IEACDBmoE3mYhtTXPKr8dj3QqOMTLLsfI,2514
1
+ zrb/__init__.py,sha256=QNtBHrQnz4dEnnFtgrUBUUl9Ph7cUVFt6zJe3PpN0d0,2683
2
2
  zrb/__main__.py,sha256=cNxFamU9qYt50y33wh1ekEMpRJ8_A3pPXW4wLywQaqY,314
3
3
  zrb/action/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  zrb/action/runner.py,sha256=Tphwb60lKTnW3UCSo8urn23W4qzJ4TlkY9Xwy4Sl2a8,4839
@@ -64,11 +64,11 @@ zrb/builtin/devtool/install/zsh/resource/config.sh,sha256=2ZEmmiu5KS-FSMlj48IDPh
64
64
  zrb/builtin/devtool/install/zsh/zsh.py,sha256=JJMyNSDt0uMTJppYRT2bWy446D8ArQ8ZRPZLV117s7g,1325
65
65
  zrb/builtin/docker/__init__.py,sha256=H6mkl7hojJYiHArn2Q1ppw9yZC8TxTRnrYajRJcR77Y,142
66
66
  zrb/builtin/docker/_group.py,sha256=QA1NnXYSTV9ScUcMzSUlgCLrwlVP2CSqT48RiWfKTtg,115
67
- zrb/builtin/docker/prune.py,sha256=G5IK-1PD9P78V8CMD_g4hFCWowql2_jHRLgHb5ofpn8,608
67
+ zrb/builtin/docker/prune.py,sha256=DYT8ZSs37dr6SLOe7Z7B3YJAgS6xj5PXM9kXX8VmsO0,428
68
68
  zrb/builtin/env/__init__.py,sha256=Ghd4vjHjbu1diFTNXexTQCdXS-aCPtoFM_666DNpo74,118
69
69
  zrb/builtin/env/_group.py,sha256=RYFBFECJei32GXPVvoeeEkf2-bNqAuVxmIW3sH51e5c,117
70
- zrb/builtin/env/get.py,sha256=wt0Dt23zuCjz39YXk3EWKt7UqeE9OYqGCbBJqamdpn8,1143
71
- zrb/builtin/eval.py,sha256=_y18fe28INT9ZA5OWHxAu8Jw3E0nm5fCv51UVFfkb9w,746
70
+ zrb/builtin/env/get.py,sha256=hG_QXU-zcv-aZN23YOTH2W7nV2qiDoQVr3oPdKfhX4U,963
71
+ zrb/builtin/eval.py,sha256=Astp1a9Z3X0K9F21_OGZQLij1c2OuEFp3DUrjIKjNIk,566
72
72
  zrb/builtin/explain/__init__.py,sha256=OFN_zpo3uZuEfyVLd8CtgZG1oFF0n1PiYdmzv1dus68,147
73
73
  zrb/builtin/explain/_group.py,sha256=tHVqzKqkViiG4O-xTpdgzYhUyp2vrdvwGLjkeJ-4hEI,108
74
74
  zrb/builtin/explain/explanation/dry.md,sha256=3p4QJph0p2ggW3uXZehs5jR3U2e3oHeKK4Az70N9xz8,520
@@ -120,7 +120,7 @@ zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/sn
120
120
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/init.py,sha256=6O8hCCP7G_Y4M_7ZA7Oi5sYtD1gT1E-X0yjlsvfgft8,1131
121
121
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/remove.py,sha256=D6ZiqG9F_-OlTcWDbQcacd1UGxta6dnCDrsvHPCcDpQ,937
122
122
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/start.py,sha256=LvAkJSXAKYsIgI-Ykx13qO9XNSPZ7Qa6WZWe19ZSSK8,1579
123
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/stop.py,sha256=-EiMyAgZpYSrVyJqZLd2Q6UnWmj7DKykEOkmnB_kbXU,1112
123
+ zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/container/stop.py,sha256=3aKKnhLu5APAU-kanDVU8leL8qPXv14upbmewyIVtZE,922
124
124
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/deploy.py,sha256=3BxTQQiGBnJYOYQDZ-vuw9Vjeq90N8VQ6GZriYjX5uw,1335
125
125
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/deploy.sh,sha256=9nKPOYa-V8UOQeIeZsd3U9Tps-ELT4jDI71p9xCDPyk,24
126
126
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/_automate/snake_zrb_app_name/destroy.py,sha256=wUU03vf4zu11n5JcehA2qpHe7Ohe5zROj1ckS1F1v58,1161
@@ -165,7 +165,7 @@ zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/contain
165
165
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/init.py,sha256=6O8hCCP7G_Y4M_7ZA7Oi5sYtD1gT1E-X0yjlsvfgft8,1131
166
166
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/remove.py,sha256=D6ZiqG9F_-OlTcWDbQcacd1UGxta6dnCDrsvHPCcDpQ,937
167
167
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/start.py,sha256=LvAkJSXAKYsIgI-Ykx13qO9XNSPZ7Qa6WZWe19ZSSK8,1579
168
- zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/stop.py,sha256=-EiMyAgZpYSrVyJqZLd2Q6UnWmj7DKykEOkmnB_kbXU,1112
168
+ zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/stop.py,sha256=3aKKnhLu5APAU-kanDVU8leL8qPXv14upbmewyIVtZE,922
169
169
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/deploy.py,sha256=3BxTQQiGBnJYOYQDZ-vuw9Vjeq90N8VQ6GZriYjX5uw,1335
170
170
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/deploy.sh,sha256=9nKPOYa-V8UOQeIeZsd3U9Tps-ELT4jDI71p9xCDPyk,24
171
171
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/destroy.py,sha256=wUU03vf4zu11n5JcehA2qpHe7Ohe5zROj1ckS1F1v58,1161
@@ -198,7 +198,7 @@ zrb/builtin/project/add/fastapp/__init__.py,sha256=NynNDb_8LTEh5oP-NIu5DqZ0wb2t6
198
198
  zrb/builtin/project/add/fastapp/_group.py,sha256=3qzRS2H89PKv5TONiIbxjkbkB6nMqKf243CQd-89dos,220
199
199
  zrb/builtin/project/add/fastapp/app/__init__.py,sha256=j_xb5_uWHzmaY7io_LX1tmRPWacpPtg0-jhuxtDtFiY,108
200
200
  zrb/builtin/project/add/fastapp/app/_input.py,sha256=drsQ1B83oF2IEmhB2rnO02KLrlR4wugPMHpP01cW2pM,1502
201
- zrb/builtin/project/add/fastapp/app/app.py,sha256=nxv56MYloaFnBPIbzELi8FKh6S2VJRPCLn0K-wQiex4,3813
201
+ zrb/builtin/project/add/fastapp/app/app.py,sha256=NWLag2YQTyV0PCLh2Q2DSEiKp_U2GCbRR_UQozYVabI,3789
202
202
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/__init__.py,sha256=QRe37qDhoG9f6BmXs0ZOO_14sw3PzuToar7PINqJ-1M,2485
203
203
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/_checker.py,sha256=NXBWH5ZnwY7XiessNf74MoUer5c4mTC1zzfS3QSt7QQ,2296
204
204
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/_constant.py,sha256=fnbDK9FAG8nRf3SNVkQRn98SgNSHQaDnEwkgQFrcXRA,1022
@@ -228,7 +228,7 @@ zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/contai
228
228
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/monolith/init.py,sha256=F0FWv-RbhtqbU8lcWLJNzF8ooDlD_aBpjEzfs3cbRLQ,1245
229
229
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/monolith/start.py,sha256=sxZsUrDaGy_WsCm-fYOSvnCXWCDqpTzVD591v5YYmAs,2152
230
230
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/remove.py,sha256=sZaecjWGYqv834hh_MyDr5yKOFj8HkdraMREmR5AJI8,956
231
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/stop.py,sha256=zvJI6porfZshCq_JO5jXztNYSthJuRyGX5DioA9bVcU,1090
231
+ zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/stop.py,sha256=Usncl3HGi-OqpVCgtC6xDCOVjys5B6ZfqzaqjeTmPz4,900
232
232
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/__init__.py,sha256=TKNXysArhYcwaeLWCTrim3U599JXs_IkgKF0y7urYVI,226
233
233
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/_group.py,sha256=NbgCdPT5lGEd9ce4bid_HuFVp9loDKDA7qA7KfPsowA,274
234
234
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/_helper.py,sha256=ZqokGjXGqyPTBcCUHzKzSThgksNKK3m-wSbH6XleixM,1068
@@ -251,7 +251,7 @@ zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/image/
251
251
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/image/push.py,sha256=mZQw616mLU4EqA5L-SBF28YgMlfqxL3huekssoMQfJE,944
252
252
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/init-pulumi-stack.sh,sha256=sXITZkR26khcNAu3LnPnWlZFnA9sHx5CTwTy9lWkAS8,126
253
253
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/load-test.sh,sha256=D2CCKCLMBq1weTqi6qQED8NX0H24mE5si88SzbZ6WrM,377
254
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/load_test.py,sha256=5GhNf77OuqygIxzXnUQIL8U-mUH-R9LKOPEDv_dxf8Q,2348
254
+ zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/load_test.py,sha256=Jk66Z-HWbIcoy866QNrKv-ALXosto71ujIP5RHW8wNU,2383
255
255
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/microservices/__init__.py,sha256=4fER3ww85JfqDtEzK7DxdhibYgm-2_2SEPT-nVnLLPE,317
256
256
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/microservices/_group.py,sha256=Wy6HHAqnTCnR-4uVRhd5Hsub7ZDu0bLh0cgjNBMXyq8,254
257
257
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/microservices/_helper.py,sha256=oRzaBukmSWtFg5TH9NBiuRb2zcP78KVTi2Z9h5zSEC4,2073
@@ -267,7 +267,7 @@ zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/monoli
267
267
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/monolith/deploy.sh,sha256=9nKPOYa-V8UOQeIeZsd3U9Tps-ELT4jDI71p9xCDPyk,24
268
268
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/monolith/start.py,sha256=XHosV2i6NuJCA481zI71EEDTLdXqRiHf_fMF81VBTBU,1563
269
269
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/monolith/start.sh,sha256=KI-PqiOes-xWA2thSW2icD3VEgxRJUxjRmc_3y9mS14,57
270
- zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/test.py,sha256=N8meoJiYZGX5YdYT06gaMC7AlOhld_bmmyI58Ul3Y6k,1791
270
+ zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/test.py,sha256=RuZGmP2OTPZcDOuBX5p-j5TizakkDxEClWhB2Fg64M4,1826
271
271
  zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/test.sh,sha256=ibnoS4kV1p-3JREJKlX2UsziP009zHzP9miPxID1tpk,308
272
272
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/.gitignore,sha256=YFrq8n_0yn9FT0XqcPVftHmKj31DSh4ftIY8EvQm0ik,53
273
273
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/README.md,sha256=aFW2zzZMt7wnpBT_vD0cAkPODH2PU7GM4bq8Y38hFQw,10024
@@ -277,7 +277,7 @@ zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/.
277
277
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/Pulumi.yaml,sha256=OpqAWQyuaMkG_wjk4ccynSShAHeR5D5Bkm0C7lQ3rxc,137
278
278
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/README.md,sha256=M_QMch-NGGA02Yiq3YG4pe22wIm8aKcL4CU8iekeqmQ,1139
279
279
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/__main__.py,sha256=SMjuTEdgm3gt9-RICbxfR3uk3VkPjTCblSTZKB5kMiA,1519
280
- zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/_common.py,sha256=quWZRYtJCBJSZlf0P4K80RJGXkmgs-nQ8F80KW9Y7DQ,4943
280
+ zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/_common.py,sha256=erhThPwhlO__4hLvzdlHFXoCVRiFmQaZVPs3GXeKT3I,4949
281
281
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/app_helper.py,sha256=qrlUIcDYk_vVlP-VFY5qe0MHIDTJzepfy6Dy_qRjpb0,6043
282
282
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/helm-charts/postgresql/.helmignore,sha256=kOvs30nBuFH2VWxM4r3302DAc0sv0upb1unt5YNKrow,351
283
283
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/deployment/helm-charts/postgresql/Chart.lock,sha256=9znie2HO_DnJE3F5Fxf_GLSIVZHGxCRUpjSPuN57LBs,231
@@ -1209,13 +1209,13 @@ zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/__init_
1209
1209
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/_group.py,sha256=hqZ818Z3wRGBNqfW9Fu9IKej11aE3kK-XyA8YWeA2Sc,220
1210
1210
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/activate-venv.sh,sha256=DWgQyDPqIhvTKIwQKRr1OxqzUmuOP5m1IkNbM3eKhSQ,334
1211
1211
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/build/__init__.py,sha256=qS2QsKz9voVh7M_WXTA42-2INJ4hVGbLQ2q1hTQPEfo,85
1212
- zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/build/build.py,sha256=GvrAktY_1XQ_6OVXFUGe_ICLIUe1XuLgNYyRqsjVbaw,896
1212
+ zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/build/build.py,sha256=hurNDM04YghO_VtROjNkVMP5avcRuDb4vnXRYI8az_E,931
1213
1213
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/build/build.sh,sha256=BdrlubJq1b9kjtB06IIBxy615NUCh98x-eD3e9JFeAY,86
1214
1214
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/prepare_venv/__init__.py,sha256=v5YoN3LQ-GPTAPSnpwJylp3pW0QyPvDXOUC2BJM-EYA,106
1215
1215
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/prepare_venv/prepare-venv.sh,sha256=rXg-BvwoWK2xgbZvl01xHko6TZkSkb-yc_LiW8iF2n4,38
1216
- zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/prepare_venv/prepare_venv.py,sha256=6c6kr7xyS-Qy08zLoCK6t3p6OsoNuLI2UEPpX5lbxoM,730
1216
+ zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/prepare_venv/prepare_venv.py,sha256=B3IwjS7d1EWw4r6kAFE6yzo9P3Iw61LjIvgFYgp3UtA,765
1217
1217
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/publish/__init__.py,sha256=Y9UWEM1UyCIPErMNedHeh5sam6K57lLrNsl6-EMqLe0,91
1218
- zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/publish/publish.py,sha256=2YljaFKPX9layqVbG2g2fHIGztGFwaln5BYloTr5kPI,892
1218
+ zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/publish/publish.py,sha256=GFCmxz0GFtR-8MTdqGyhOMwclUaG26YiG-ASzxgkBjo,927
1219
1219
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/publish/publish.sh,sha256=eR83QHGe96VQN4ULgFF2HYI1687WXhOmZ53CN7reM9U,29
1220
1220
  zrb/builtin/project/add/plugin/template/src/kebab-zrb-package-name/.gitignore,sha256=0EufjWT4Uway6zeCoEbXUIHxyE0GuJD-l58Bbp8kVyo,6
1221
1221
  zrb/builtin/project/add/plugin/template/src/kebab-zrb-package-name/README.md,sha256=hk0zeAogO6xDhpXOyqNQmWJW70tszYbqupoD94A0bF8,1995
@@ -1291,7 +1291,7 @@ zrb/builtin/ubuntu/install/tex.py,sha256=UUZv5v1N1MCGebgpLgad_rAqSymfChxxMKZ5lgi
1291
1291
  zrb/builtin/ubuntu/install/toys.py,sha256=VlWb8_aHW1kRK6vpjpAveNByc1FlsMPLFXl1X9DHNGU,593
1292
1292
  zrb/builtin/ubuntu/update.py,sha256=m3UREE6DhwlbdkQpuug2sfEM6fBLZn0ZGClt_EOsZ_I,372
1293
1293
  zrb/builtin/update.py,sha256=89i_fPUlL27IXczLI7Lr7k4STMpnxyw2je8daCKUTQo,225
1294
- zrb/builtin/version.py,sha256=3VibJO-_AOC0Kx4thuKT2HKM0Jhe92liFFsOYrjTdeY,478
1294
+ zrb/builtin/version.py,sha256=vjbmSeOSEjT0SgdeQHGslwFCQMukwVZkOOkusZGZNcU,394
1295
1295
  zrb/builtin/watch_changes.py,sha256=5oe1zPRamo5ZsWQKvgVWCXiBv4encS4kN7mubgvacjk,1192
1296
1296
  zrb/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1297
1297
  zrb/config/config.py,sha256=h3Sx75fTi_mRntW1zkuDXSTzTdUd4HJhrQAzoaSgqsU,1266
@@ -1355,7 +1355,7 @@ zrb/shell-scripts/ssh-util.sh,sha256=9lXDzw6oO8HuA4vdbfps_uQMMwKyNYX9fZkZgpK52g8
1355
1355
  zrb/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1356
1356
  zrb/task/any_task.py,sha256=hxL55NcbsXhMy4xa1z7pdhV5qE41QC5s63BrN81s0MQ,39020
1357
1357
  zrb/task/any_task_event_handler.py,sha256=vpO9t0fck8-oFu1KYptfcg2hXKRsk6V5je4Dg-Bl21o,359
1358
- zrb/task/base_remote_cmd_task.py,sha256=nwEuiSF4dh3hKNfBH0ABWotx59wU-on4E6jzW2Wl67U,9296
1358
+ zrb/task/base_remote_cmd_task.py,sha256=dDs9li5EMNLfLclfAacAXumqESA_V-GNqVdwQpbbAAc,9938
1359
1359
  zrb/task/base_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1360
1360
  zrb/task/base_task/base_task.py,sha256=tN1f6ZWPk0YdkmP9PJFRCuwkoY1n1RuftZLXjUzKLtM,19079
1361
1361
  zrb/task/base_task/component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1365,9 +1365,9 @@ zrb/task/base_task/component/pid_model.py,sha256=RjJIqOpavucDssnd3q3gT4q8QnP8I9S
1365
1365
  zrb/task/base_task/component/renderer.py,sha256=9wP2IW811Ta81IoPWmeQ7yVc7eG-uaSnOVbEyeaOIuk,4439
1366
1366
  zrb/task/base_task/component/trackers.py,sha256=gM9eOukMh6kvNJnRsHscQ_JN--Haa2YA4bIufqh8upE,1950
1367
1367
  zrb/task/checker.py,sha256=c_7vNq4Li_OdB9OXE6_VDAFazZwUKC9E7aesuksGH_I,3193
1368
- zrb/task/cmd_task.py,sha256=wrSB-6jhPwd0dHVqGgonQjRu8qfXw7w8WH85p7yOOf4,13966
1368
+ zrb/task/cmd_task.py,sha256=QaVWKbnUGmdWJ97IGdR5i3irvdLxCq6_CWPc8WaMxM0,14417
1369
1369
  zrb/task/decorator.py,sha256=7qEkdPoKzOIYQQnCXnjQMw0okG5rC24m7cmNxCou9r8,2887
1370
- zrb/task/docker_compose_task.py,sha256=o93cxty8DCbcV_vqnIEpvPDvU5Yn9hzQb5frOvzFsug,14331
1370
+ zrb/task/docker_compose_task.py,sha256=4CPfegRbcczP8-6Ugy52V6KO6PZRwL-fJ4l38nTpn_g,14724
1371
1371
  zrb/task/flow_task.py,sha256=uhwwT1Xpwcr4V9LPfJq4kyD3QC-4U9ijTAYLMBV2NIU,4715
1372
1372
  zrb/task/http_checker.py,sha256=QF43EuqY8FhLr7u-zVlITnjKgq6ozTy42f8kiqlBYAY,5248
1373
1373
  zrb/task/notifier.py,sha256=AYZamGg8GDDu-smNOx8s84k6iTgpSspcIzgYthzPolM,6066
@@ -1377,7 +1377,7 @@ zrb/task/path_watcher.py,sha256=BHtKq2lEyl6eOraJz40oSWp8AWPcyisZSaodwdiG3Io,6344
1377
1377
  zrb/task/port_checker.py,sha256=lOt4DG7eVe9cvQ23nLgdPHSYH2hZpw7EuKgNDkvUMFw,4148
1378
1378
  zrb/task/recurring_task.py,sha256=UQ90VMG6oCgKL1akkSmDPHpTj2WQ6yhs-aldoGgTOwU,7209
1379
1379
  zrb/task/remote_cmd_task.py,sha256=ymJo11M_iSAbMgWc01CIFFyxQrk3QS1K2zs9u22ZCBY,3793
1380
- zrb/task/resource_maker.py,sha256=QrzYlhWCAMu2_WmMr4RImbP53ppNHzeob6I5cHxX2xU,6652
1380
+ zrb/task/resource_maker.py,sha256=Q7uVXBzxNSEgCySDSTXFw2EkzUfsM6b_R6kEfXFTlIM,7198
1381
1381
  zrb/task/rsync_task.py,sha256=5X_Il43TTXkqMF-W5olzoGzykIm9zZNkwe7oLLQ4dwY,4034
1382
1382
  zrb/task/task.py,sha256=38w8diC22nU5bzN2X9mfJ8PKxxMl1Q_Lrlu5uIBRuc4,182
1383
1383
  zrb/task/time_watcher.py,sha256=M-GZPZIYmeBiTDeU9mgecpMJ7UMoZ1Zsj9c4OwTVa7o,3984
@@ -1398,8 +1398,8 @@ zrb/task_input/int_input.py,sha256=NVXAToqgdmWVwDqnr3XGuvq_QMNvUiIdD-pW5L4uebk,4
1398
1398
  zrb/task_input/password_input.py,sha256=5sS3XP7WtGow7r7Fid8J9SX0iNCidO6Bg7q40UpZDM0,4029
1399
1399
  zrb/task_input/str_input.py,sha256=D2WBeB-CdmAuOSzT7jTXvie7X3EK_m_Oq8_SVwmNpWA,4042
1400
1400
  zrb/task_input/task_input.py,sha256=L-U5dX-I2U5ci7GU226Q8pXcQe5SpGuOl5viFwlfiM0,2022
1401
- zrb-0.11.3.dist-info/LICENSE,sha256=WfnGCl8G60EYOPAEkuc8C9m9pdXWDe08NsKj3TBbxsM,728
1402
- zrb-0.11.3.dist-info/METADATA,sha256=OXZElhmcZo9lTgFS3aSODy2vJeHDDZZ063r4z8OeKSk,16460
1403
- zrb-0.11.3.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
1404
- zrb-0.11.3.dist-info/entry_points.txt,sha256=xTgXc1kBKYhJHEujdaSPHUcJT3-hbyP1mLgwkv-5sSk,40
1405
- zrb-0.11.3.dist-info/RECORD,,
1401
+ zrb-0.14.0.dist-info/LICENSE,sha256=WfnGCl8G60EYOPAEkuc8C9m9pdXWDe08NsKj3TBbxsM,728
1402
+ zrb-0.14.0.dist-info/METADATA,sha256=P4oQWcQeuQmjY0wh0mKqBP0WhjVja9W-MFgGL2XqQ8Q,16460
1403
+ zrb-0.14.0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
1404
+ zrb-0.14.0.dist-info/entry_points.txt,sha256=xTgXc1kBKYhJHEujdaSPHUcJT3-hbyP1mLgwkv-5sSk,40
1405
+ zrb-0.14.0.dist-info/RECORD,,
File without changes
File without changes