zrb 0.1.0a0__py3-none-any.whl → 0.2.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.
- zrb/__main__.py +5 -1
- zrb/action/runner.py +15 -8
- zrb/builtin/helper/reccuring_action.py +27 -2
- zrb/builtin/say.py +2 -2
- zrb/builtin/schedule.py +4 -3
- zrb/builtin/watch_changes.py +13 -2
- zrb/config/config.py +1 -0
- zrb/helper/cli.py +26 -11
- zrb/helper/default_env.py +23 -13
- zrb/helper/file/copy_tree.py +4 -1
- zrb/helper/file/match.py +20 -0
- zrb/helper/loader/load_module.py +13 -5
- zrb/task/any_task.py +114 -2
- zrb/task/base_task/base_task.py +39 -3
- zrb/task/base_task/component/base_task_model.py +28 -5
- zrb/task/base_task/component/common_task_model.py +30 -15
- zrb/task/base_task/component/renderer.py +6 -0
- zrb/task/cmd_task.py +17 -24
- zrb/task/docker_compose_task.py +0 -1
- zrb/task/path_checker.py +25 -4
- zrb/task/path_watcher.py +48 -7
- zrb/task/recurring_task.py +68 -14
- zrb/task/task.py +1 -1
- zrb/task/time_watcher.py +7 -0
- zrb/task_group/group.py +2 -2
- {zrb-0.1.0a0.dist-info → zrb-0.2.0.dist-info}/METADATA +25 -5
- {zrb-0.1.0a0.dist-info → zrb-0.2.0.dist-info}/RECORD +30 -29
- {zrb-0.1.0a0.dist-info → zrb-0.2.0.dist-info}/LICENSE +0 -0
- {zrb-0.1.0a0.dist-info → zrb-0.2.0.dist-info}/WHEEL +0 -0
- {zrb-0.1.0a0.dist-info → zrb-0.2.0.dist-info}/entry_points.txt +0 -0
zrb/task/recurring_task.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
from zrb.helper.typing import (
|
2
|
-
Any, Callable, Iterable, Mapping, Optional, Union
|
2
|
+
Any, Callable, Iterable, List, Mapping, Optional, Union
|
3
3
|
)
|
4
4
|
from zrb.helper.typecheck import typechecked
|
5
5
|
from zrb.helper.accessories.name import get_random_name
|
@@ -17,14 +17,40 @@ import asyncio
|
|
17
17
|
import copy
|
18
18
|
|
19
19
|
|
20
|
+
class RunConfig():
|
21
|
+
def __init__(
|
22
|
+
self,
|
23
|
+
fn: Callable[..., Any],
|
24
|
+
args: List[Any],
|
25
|
+
kwargs: Mapping[Any, Any],
|
26
|
+
execution_id: str
|
27
|
+
):
|
28
|
+
self.fn = fn
|
29
|
+
self.args = args
|
30
|
+
self.kwargs = kwargs
|
31
|
+
self.execution_id = execution_id
|
32
|
+
|
33
|
+
async def run(self):
|
34
|
+
return await self.fn(*self.args, **self.kwargs)
|
35
|
+
|
36
|
+
|
20
37
|
@typechecked
|
21
38
|
class RecurringTask(BaseTask):
|
39
|
+
'''
|
40
|
+
A class representing a recurring task that is triggered based on
|
41
|
+
specified conditions.
|
42
|
+
|
43
|
+
Examples:
|
44
|
+
|
45
|
+
>>> from zrb import RecurringTask
|
46
|
+
'''
|
22
47
|
|
23
48
|
def __init__(
|
24
49
|
self,
|
25
50
|
name: str,
|
26
51
|
task: AnyTask,
|
27
52
|
triggers: Iterable[AnyTask] = [],
|
53
|
+
single_execution: bool = False,
|
28
54
|
group: Optional[Group] = None,
|
29
55
|
inputs: Iterable[AnyInput] = [],
|
30
56
|
envs: Iterable[Env] = [],
|
@@ -47,9 +73,10 @@ class RecurringTask(BaseTask):
|
|
47
73
|
should_execute: Union[bool, str, Callable[..., bool]] = True,
|
48
74
|
return_upstream_result: bool = False
|
49
75
|
):
|
50
|
-
|
51
|
-
|
52
|
-
|
76
|
+
self._task: AnyTask = task.copy()
|
77
|
+
inputs = list(inputs) + self._task._get_combined_inputs()
|
78
|
+
envs = list(envs) + self._task._get_envs()
|
79
|
+
env_files = list(env_files) + self._task._get_env_files()
|
53
80
|
BaseTask.__init__(
|
54
81
|
self,
|
55
82
|
name=name,
|
@@ -75,8 +102,11 @@ class RecurringTask(BaseTask):
|
|
75
102
|
should_execute=should_execute,
|
76
103
|
return_upstream_result=return_upstream_result,
|
77
104
|
)
|
78
|
-
self.
|
79
|
-
|
105
|
+
self._triggers: List[AnyTask] = [
|
106
|
+
trigger.copy() for trigger in triggers
|
107
|
+
]
|
108
|
+
self._run_configs: List[RunConfig] = []
|
109
|
+
self._single_execution = single_execution
|
80
110
|
|
81
111
|
async def _set_keyval(self, kwargs: Mapping[str, Any], env_prefix: str):
|
82
112
|
await super()._set_keyval(kwargs=kwargs, env_prefix=env_prefix)
|
@@ -94,6 +124,12 @@ class RecurringTask(BaseTask):
|
|
94
124
|
await asyncio.gather(*trigger_coroutines)
|
95
125
|
|
96
126
|
async def run(self, *args: Any, **kwargs: Any):
|
127
|
+
await asyncio.gather(
|
128
|
+
asyncio.create_task(self.__check_trigger(*args, **kwargs)),
|
129
|
+
asyncio.create_task(self.__run_from_queue())
|
130
|
+
)
|
131
|
+
|
132
|
+
async def __check_trigger(self, *args: Any, **kwargs: Any):
|
97
133
|
task_kwargs = {
|
98
134
|
key: kwargs[key]
|
99
135
|
for key in kwargs if key not in ['_task']
|
@@ -135,13 +171,31 @@ class RecurringTask(BaseTask):
|
|
135
171
|
fn = task_copy.to_function(
|
136
172
|
is_async=True, raise_error=False, show_done_info=False
|
137
173
|
)
|
138
|
-
self.print_out_dark('
|
139
|
-
|
140
|
-
|
174
|
+
self.print_out_dark(f'Add execution to the queue: {execution_id}')
|
175
|
+
self._run_configs.append(
|
176
|
+
RunConfig(
|
177
|
+
fn=fn,
|
178
|
+
args=args,
|
179
|
+
kwargs=task_kwargs,
|
180
|
+
execution_id=execution_id
|
181
|
+
)
|
141
182
|
)
|
142
183
|
|
143
|
-
async def
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
184
|
+
async def __run_from_queue(self):
|
185
|
+
while True:
|
186
|
+
if len(self._run_configs) == 0:
|
187
|
+
await asyncio.sleep(0.1)
|
188
|
+
continue
|
189
|
+
if self._single_execution:
|
190
|
+
# Drain the queue, leave only the latest task
|
191
|
+
while len(self._run_configs) > 1:
|
192
|
+
run_config = self._run_configs.pop(0)
|
193
|
+
self.print_out_dark(f'Skipping {run_config.execution_id}')
|
194
|
+
self.clear_xcom(execution_id=run_config.execution_id)
|
195
|
+
# Run task
|
196
|
+
run_config = self._run_configs.pop(0)
|
197
|
+
self.print_out_dark(f'Executing {run_config.execution_id}')
|
198
|
+
self.print_out_dark(f'{len(self._run_configs)} tasks left')
|
199
|
+
await run_config.run()
|
200
|
+
self.clear_xcom(execution_id=run_config.execution_id)
|
201
|
+
self._play_bell()
|
zrb/task/task.py
CHANGED
zrb/task/time_watcher.py
CHANGED
@@ -20,6 +20,12 @@ TTimeWatcher = TypeVar('TTimeWatcher', bound='TimeWatcher')
|
|
20
20
|
|
21
21
|
@typechecked
|
22
22
|
class TimeWatcher(Checker):
|
23
|
+
'''
|
24
|
+
TimeWatcher will wait for any changes specified on path.
|
25
|
+
|
26
|
+
Once the changes detected, TimeWatcher will be completed
|
27
|
+
and <task-name>.scheduled-time xcom will be set.
|
28
|
+
'''
|
23
29
|
|
24
30
|
def __init__(
|
25
31
|
self,
|
@@ -92,6 +98,7 @@ class TimeWatcher(Checker):
|
|
92
98
|
self._rendered_schedule, slightly_before_check_time
|
93
99
|
)
|
94
100
|
self._scheduled_time = cron.get_next(datetime.datetime)
|
101
|
+
self.set_task_xcom(key='scheduled-time', value=self._scheduled_time)
|
95
102
|
return await super().run(*args, **kwargs)
|
96
103
|
|
97
104
|
async def inspect(self, *args: Any, **kwargs: Any) -> bool:
|
zrb/task_group/group.py
CHANGED
@@ -19,7 +19,7 @@ class Group():
|
|
19
19
|
|
20
20
|
Attributes:
|
21
21
|
name (str): The name of the group.
|
22
|
-
description (
|
22
|
+
description (str): The description of the group.
|
23
23
|
parent (Optional[TGroup]): The parent group of the current group, if any.
|
24
24
|
|
25
25
|
Examples:
|
@@ -31,7 +31,7 @@ class Group():
|
|
31
31
|
def __init__(
|
32
32
|
self,
|
33
33
|
name: str,
|
34
|
-
description:
|
34
|
+
description: str = '',
|
35
35
|
parent: Optional[TGroup] = None
|
36
36
|
):
|
37
37
|
self.__name = name
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.2.0
|
4
4
|
Summary: A Framework to Enhance Your Workflow
|
5
5
|
Author-email: Go Frendi Gunawan <gofrendiasgard@gmail.com>
|
6
6
|
Requires-Python: >=3.10.0
|
@@ -21,13 +21,13 @@ Requires-Dist: setuptools ~= 68.0.0
|
|
21
21
|
Requires-Dist: autopep8 ~= 2.0.2
|
22
22
|
Requires-Dist: croniter ~= 2.0.1
|
23
23
|
Requires-Dist: flake8 ~= 6.0.0 ; extra == "dev"
|
24
|
-
Requires-Dist: pytest ~= 7.4.0 ; extra == "
|
25
|
-
Requires-Dist: pytest-cov ~= 4.1.0 ; extra == "
|
26
|
-
Requires-Dist: pytest-asyncio ~= 0.21.0 ; extra == "
|
24
|
+
Requires-Dist: pytest ~= 7.4.0 ; extra == "dev"
|
25
|
+
Requires-Dist: pytest-cov ~= 4.1.0 ; extra == "dev"
|
26
|
+
Requires-Dist: pytest-asyncio ~= 0.21.0 ; extra == "dev"
|
27
|
+
Requires-Dist: flameprof ~= 0.4 ; extra == "dev"
|
27
28
|
Project-URL: Bug Tracker, https://github.com/state-alchemists/zrb/issues
|
28
29
|
Project-URL: Homepage, https://github.com/state-alchemists/zrb
|
29
30
|
Provides-Extra: dev
|
30
|
-
Provides-Extra: test
|
31
31
|
|
32
32
|

|
33
33
|
|
@@ -312,3 +312,23 @@ Help Red Skull to click the donation button:
|
|
312
312
|
|
313
313
|

|
314
314
|
|
315
|
+
# 🙇 Credits
|
316
|
+
|
317
|
+
We are thankful for the following libraries and services. They accelerate Zrb development processes and make things more fun.
|
318
|
+
|
319
|
+
- Libraries
|
320
|
+
- [Beartype](https://pypi.org/project/beartype/): Catch invalid typing earlier during runtime.
|
321
|
+
- [Click](https://pypi.org/project/click/): Creating a beautiful CLI interface.
|
322
|
+
- [Termcolor](https://pypi.org/project/termcolor/): Make the terminal interface more colorful.
|
323
|
+
- [Jinja](https://pypi.org/project/Jinja2): A robust templating engine.
|
324
|
+
- [Ruamel.yaml](https://pypi.org/project/ruamel.yaml/): Parse YAML effortlessly.
|
325
|
+
- [Jsons](https://pypi.org.project/jsons/): Parse JSON. This package should be part of the standard library.
|
326
|
+
- [Libcst](https://pypi.org/project/libcst/): Turn Python code into a Concrete Syntax Tree.
|
327
|
+
- [Croniter](https://pypi.org/project/croniter/): Parse cron pattern.
|
328
|
+
- [Flit](https://pypi.org/project/flit), [Twine](https://pypi.org/project/twine/), and many more. See the complete list of Zrb's requirements.txt
|
329
|
+
- Services
|
330
|
+
- [asciiflow.com](https://asciiflow.com/): Creates beautiful ASCII-based diagrams.
|
331
|
+
- [emojipedia.org](https://emojipedia.org/): Find emoji.
|
332
|
+
- [emoji.aranja.com](https://emoji.aranja.com/): Turns emoji into images
|
333
|
+
- [favicon.io](https://favicon.io/): Turns pictures and texts (including emoji) into favicon.
|
334
|
+
|
@@ -1,9 +1,9 @@
|
|
1
1
|
zrb/__init__.py,sha256=73fLhbsBdrnNbRydUyb0TApXSkLukA1jOVh68CSya-k,2368
|
2
|
-
zrb/__main__.py,sha256=
|
2
|
+
zrb/__main__.py,sha256=ZX0juuqCUqnwMvA9HPma-OY4EQm2s0Nge2jsMr9nn6Q,412
|
3
3
|
zrb/advertisement.py,sha256=e-1tFPlmEuz8IqaIJ_9-2p9x5cuGsxssJGu5F0wHthI,505
|
4
4
|
zrb/runner.py,sha256=MPCNPMCyiYNZeubSxd1eM2Zr6PCIKF-9pkG385AXElw,118
|
5
5
|
zrb/action/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
-
zrb/action/runner.py,sha256=
|
6
|
+
zrb/action/runner.py,sha256=zf9CalYLwnP6eQbVKw-FdXnt0DOc-iAMyPQzPuj0Hn4,5242
|
7
7
|
zrb/builtin/__init__.py,sha256=NwkM8HYaWHxr8sGE18gNF2qgf00FlhP2TWq1r1uDQAY,727
|
8
8
|
zrb/builtin/base64.py,sha256=p0RlP-hklAkosYkLUk3WdHP_jQTZ3wpIMwbFM0h-XTY,1351
|
9
9
|
zrb/builtin/env.py,sha256=hEjQios0i-3DantczxQnZnolzwZAGIQOE0Ygka330EU,1146
|
@@ -14,12 +14,12 @@ zrb/builtin/group.py,sha256=ncUsZcGRUF9QKNMt-_1zDNDi4Z2KA5jpjwEuYIzhKmo,1077
|
|
14
14
|
zrb/builtin/md5.py,sha256=IWN0uroXRiuyF0wD05BzGqAkMA3p6q9EbtWmJOPdOc0,1376
|
15
15
|
zrb/builtin/process.py,sha256=h7uMfEIqbOaNe8aTINZYYbHWw7mmUF8DkeiylPeWzSE,1281
|
16
16
|
zrb/builtin/project.py,sha256=XWz32OYBRox18fMe8xPrblPULytKDAd6O2E6aWw8PPI,1207
|
17
|
-
zrb/builtin/say.py,sha256=
|
18
|
-
zrb/builtin/schedule.py,sha256=
|
17
|
+
zrb/builtin/say.py,sha256=oERvEKfejj0l3RphpXf0g5dosoE-gTzdY6zTJpx-TXo,3973
|
18
|
+
zrb/builtin/schedule.py,sha256=nanYxeuCptzSyE1EdzH24XRqqQXh7KrS-1LhZ73ciCk,1023
|
19
19
|
zrb/builtin/ubuntu.py,sha256=f1s2H8xK3xrb3X99RER9BvB8Wwx5wGxoxEJRhnumMm8,3042
|
20
20
|
zrb/builtin/update.py,sha256=JyLL_4AB__9viYKg5IP-s5kezLh37gyDqD0Fe42zIM8,396
|
21
21
|
zrb/builtin/version.py,sha256=i7NsuSl_MtyufEKrR42p0qHGVMpsPqkxZsewEHnM-QQ,492
|
22
|
-
zrb/builtin/watch_changes.py,sha256=
|
22
|
+
zrb/builtin/watch_changes.py,sha256=6jvA3iQ8zcGx65tT_Unz8jShokqNcxEBVDJ_MkYbcGs,1187
|
23
23
|
zrb/builtin/devtool/__init__.py,sha256=fVBAYBSJgPoy_r_CGaY__1pQDca7ucrHxxfVUVHlU2o,568
|
24
24
|
zrb/builtin/devtool/devtool_install.py,sha256=s8igNnyb2VQqaXCbzzIck1YjxsA0mIAjrc7elqjNWKA,13275
|
25
25
|
zrb/builtin/devtool/aws/install.sh,sha256=C7jJP4LaB5lBehyNEUFaBtk1MmTvv6jdaP_lnXq0kao,1638
|
@@ -1095,14 +1095,14 @@ zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/main
|
|
1095
1095
|
zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/requirements.txt,sha256=HX56Al9bOoM8Mq1Yc44UE2cfT3XrTZGmHI6T3q7xn50,15
|
1096
1096
|
zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/template.env,sha256=vtoZ0LV8OKAU1EUWBiB8PIKbf1FaNfm-49j7aXvKsgs,87
|
1097
1097
|
zrb/builtin/helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1098
|
-
zrb/builtin/helper/reccuring_action.py,sha256=
|
1098
|
+
zrb/builtin/helper/reccuring_action.py,sha256=m_xv1kHZtLBOBnkQQ8QpxykfNOZuO3OdI_M3zA8EVx4,1954
|
1099
1099
|
zrb/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1100
|
-
zrb/config/config.py,sha256=
|
1100
|
+
zrb/config/config.py,sha256=hsq9MH4jMkH4Nk76dTg8eWzYpXpUXgwQ-_d8QE7djp8,1169
|
1101
1101
|
zrb/helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1102
1102
|
zrb/helper/advertisement.py,sha256=0qtrFD_8YSjRZpefStyM9XSnfguaEs717W7Z-9fPu1Y,818
|
1103
1103
|
zrb/helper/callable.py,sha256=A_Pa6HP9dA8X7SvPTl4SW6w_hWhtjs0psVccsR0u6Ms,237
|
1104
|
-
zrb/helper/cli.py,sha256=
|
1105
|
-
zrb/helper/default_env.py,sha256=
|
1104
|
+
zrb/helper/cli.py,sha256=Vn7YwZ5GvfXqgft0tA4tuENYcF6Ls2SgiKwmX0vwxWQ,2916
|
1105
|
+
zrb/helper/default_env.py,sha256=JV3dxbLXyrpYMesQ0JUN2Bs6XuZwAJopfd7EUHoJ6pk,2380
|
1106
1106
|
zrb/helper/docstring.py,sha256=m9EPbJ8H8DhTS3ZCr471vX_UYl1tS8ENJpc_WYgmWmI,4851
|
1107
1107
|
zrb/helper/log.py,sha256=NX07xXkQ1TwS1m8qoXbGvlh79peu8ayMLw_1s9s6R24,516
|
1108
1108
|
zrb/helper/python_task.py,sha256=-5yPiqclwEMNiNxta7r-_TUm9iWms4KCzAmlavkzelU,259
|
@@ -1130,12 +1130,13 @@ zrb/helper/docker_compose/file.py,sha256=aBtQMV57TWtMO9AwsZ2OyBn16MhElZaDlq54zBq
|
|
1130
1130
|
zrb/helper/env_map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1131
1131
|
zrb/helper/env_map/fetch.py,sha256=la0lgi6TOYBIEAuWRHTibfYgEm5Lj1bZ4Wznx3NGmX4,2209
|
1132
1132
|
zrb/helper/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1133
|
-
zrb/helper/file/copy_tree.py,sha256=
|
1133
|
+
zrb/helper/file/copy_tree.py,sha256=pA-Arizo-D39y5vncoViwQyCwqqc_uuVbCIrB-9PoSA,1914
|
1134
|
+
zrb/helper/file/match.py,sha256=kqbPiPtCMwHEUURdPwSP_bbzWZyNgsLJgTp8b7O6wi8,571
|
1134
1135
|
zrb/helper/file/text.py,sha256=_S1uYToMw3lcI95-op_kM_SWNJUyvYNc32XHIcokDWU,807
|
1135
1136
|
zrb/helper/git/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1136
1137
|
zrb/helper/git/detect_changes.py,sha256=6WSYd-yFbUYxHbNNkrFXx2GbG-Fuygd6dArpEyfo2aE,1151
|
1137
1138
|
zrb/helper/loader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1138
|
-
zrb/helper/loader/load_module.py,sha256=
|
1139
|
+
zrb/helper/loader/load_module.py,sha256=tTANOa0a6kt-G4Ls75vp-C1alo90NSSMlKSMHeyRNHY,1096
|
1139
1140
|
zrb/helper/map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1140
1141
|
zrb/helper/map/conversion.py,sha256=029zwx2TS4ZpzDNs0JDXY0MvJ71TRow5IgEg7BtACN0,451
|
1141
1142
|
zrb/helper/string/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1152,39 +1153,39 @@ zrb/shell-scripts/notify.ps1,sha256=6_xPoIwuxARpYljcjVV-iRJS3gJqGfx-B6kj719cJ9o,
|
|
1152
1153
|
zrb/shell-scripts/rsync-util.sh,sha256=QzdhSBvUNMxB4U2B4m0Dxg9czGckRjB7Vk4A1ObG0-k,353
|
1153
1154
|
zrb/shell-scripts/ssh-util.sh,sha256=9lXDzw6oO8HuA4vdbfps_uQMMwKyNYX9fZkZgpK52g8,401
|
1154
1155
|
zrb/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1155
|
-
zrb/task/any_task.py,sha256=
|
1156
|
+
zrb/task/any_task.py,sha256=kyqUtkVzcpxZW7WaxBB-FEw8epVTOftDj9pUoYlcfpg,36485
|
1156
1157
|
zrb/task/any_task_event_handler.py,sha256=vpO9t0fck8-oFu1KYptfcg2hXKRsk6V5je4Dg-Bl21o,359
|
1157
1158
|
zrb/task/base_remote_cmd_task.py,sha256=I2rKry7hEqNihQE7bqbLsmOGOyiItlkLDSD2CqXFGUA,8940
|
1158
1159
|
zrb/task/checker.py,sha256=UJMxrHOolynt1ySCkwGffssBId_TKRmjZ4mqH-eI3WQ,3092
|
1159
|
-
zrb/task/cmd_task.py,sha256=
|
1160
|
+
zrb/task/cmd_task.py,sha256=5tDjBh3TuP_QuaFJZcACeCh1nCV2PtJk10_-NNEERAk,13794
|
1160
1161
|
zrb/task/decorator.py,sha256=JLdAFe-mnIJFHpjeSXlC2tuhUCjGdTEonEjx1UwnXMA,2870
|
1161
|
-
zrb/task/docker_compose_task.py,sha256=
|
1162
|
+
zrb/task/docker_compose_task.py,sha256=Y1O8wW_C9Hsqz3MMMXoDTbA60w676GNubiA02nrXjOk,13168
|
1162
1163
|
zrb/task/flow_task.py,sha256=nma2OhLs5nD2tR-ggK65giKdEjZUySHeoE7y3umfH9U,3860
|
1163
1164
|
zrb/task/http_checker.py,sha256=XTTV3wiavDaHqHr1-r8gK2JTSMqOgae_6uIoAEOAD4o,5162
|
1164
1165
|
zrb/task/notifier.py,sha256=vjT47ct-DOCWABUefUFRMjjuDWLbDX_lzD4zTgdIzEI,5253
|
1165
1166
|
zrb/task/parallel.py,sha256=OnCdh4aQwL-N2ICNf3gshhqx5-Hq_QPZD3ycMHqrFRg,1042
|
1166
|
-
zrb/task/path_checker.py,sha256=
|
1167
|
-
zrb/task/path_watcher.py,sha256=
|
1167
|
+
zrb/task/path_checker.py,sha256=Be8fI1v1IKBF2uvoBZPAjwNrIHX129ryiabbVhnSHSI,4098
|
1168
|
+
zrb/task/path_watcher.py,sha256=j9NTYqBLkspx9K1lQ2Qw1KZV5VJfJOHqqUMcea96GmQ,6192
|
1168
1169
|
zrb/task/port_checker.py,sha256=EgLpb7VE4ntS9VL71KrIhFHW4UgwsFq2z4Z9CbwtSac,4029
|
1169
|
-
zrb/task/recurring_task.py,sha256=
|
1170
|
+
zrb/task/recurring_task.py,sha256=D6yMQlnchZo5F0LjhNRATUXkrfd6wdBEt6YYDcwBSRY,7261
|
1170
1171
|
zrb/task/remote_cmd_task.py,sha256=D3Uciarw164umukvTeDHSBRInaYJuOMyAPo4pFsK9Oc,3694
|
1171
1172
|
zrb/task/resource_maker.py,sha256=aJnt0jnuctt2_otlSWcboG_2oLAMYYvNNk4QW0iP0AQ,6438
|
1172
1173
|
zrb/task/rsync_task.py,sha256=29mNHBPDKnAHCgpSrHSKojdMf3c-xw66bSqEI-UVwho,3886
|
1173
|
-
zrb/task/task.py,sha256=
|
1174
|
-
zrb/task/time_watcher.py,sha256=
|
1174
|
+
zrb/task/task.py,sha256=mSnJ7wdySiuRGfc3oB3JiOuJvcuiroIYDgDIGnqbF5M,181
|
1175
|
+
zrb/task/time_watcher.py,sha256=WiSJaJBx1ATofTcMxoo4w4ugAOVjMU-WnMgIAmA57uw,3916
|
1175
1176
|
zrb/task/base_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1176
|
-
zrb/task/base_task/base_task.py,sha256=
|
1177
|
+
zrb/task/base_task/base_task.py,sha256=Pm5lzKaSvHx9NTJdWCNpCRQBIs53PpGnCKwIoYp5SZM,17665
|
1177
1178
|
zrb/task/base_task/component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1178
|
-
zrb/task/base_task/component/base_task_model.py,sha256=
|
1179
|
-
zrb/task/base_task/component/common_task_model.py,sha256=
|
1179
|
+
zrb/task/base_task/component/base_task_model.py,sha256=bPZaMEFt2G4GEXshnTELMK_xg3BIGlH73VqbZZ3rtEA,10298
|
1180
|
+
zrb/task/base_task/component/common_task_model.py,sha256=zQwiJAbCWlD7XSmtJ8frx1H_CpgoJ8-7_LoYplI_U-k,11187
|
1180
1181
|
zrb/task/base_task/component/pid_model.py,sha256=pWCjgD3J2Jimjq1Y9pkVczZMeFEIcy7Hm9eFGrHGUZE,296
|
1181
|
-
zrb/task/base_task/component/renderer.py,sha256=
|
1182
|
+
zrb/task/base_task/component/renderer.py,sha256=LpQPNbkp1NvWgSQpzK11G1Ancbd_jKTgItCyIgAbCW4,4515
|
1182
1183
|
zrb/task/base_task/component/trackers.py,sha256=3sPccnP7capEHdQ-ceRig04ee28kvo2an9I7x-Z5ZU8,1959
|
1183
1184
|
zrb/task_env/constant.py,sha256=JdPhtZCTZlbW-jzG5vyFtpEXgTJ-Yx863LcrX_LiURY,44
|
1184
1185
|
zrb/task_env/env.py,sha256=2lwSExUmV9KRMfsvru_QOnJTzL7VByFgNF-Ikt_u1uY,4772
|
1185
1186
|
zrb/task_env/env_file.py,sha256=vpw780OmTRuDcrvmzCFwquJB1nldmZpQiQl1TA6B-k8,2907
|
1186
1187
|
zrb/task_group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1187
|
-
zrb/task_group/group.py,sha256=
|
1188
|
+
zrb/task_group/group.py,sha256=mD-DvKLCcKtX1HA8e7-QxYFWvTvJMkMXSMQfQPp_Jxs,5982
|
1188
1189
|
zrb/task_input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1189
1190
|
zrb/task_input/any_input.py,sha256=96RjYdtKabdzqEz-_C9P4EjS2C2d2kRTZSgqYkgJrF0,1908
|
1190
1191
|
zrb/task_input/base_input.py,sha256=9paiJPu_Q7ejkHlloWoZ8g0dZKeVUY_TD3EQ16wgEi4,5483
|
@@ -1196,8 +1197,8 @@ zrb/task_input/int_input.py,sha256=h4fRLyBaX6_fK9jdXoQKmwKZknUqtl-XMG3SRMa2f08,4
|
|
1196
1197
|
zrb/task_input/password_input.py,sha256=L8oXrImqDd8fl2pc5epvYSsCcTbDgAXy8awYsUYUBnE,4030
|
1197
1198
|
zrb/task_input/str_input.py,sha256=mtQEwrFmncXrxxJ1bmX7URM1A2pPGlQttQGNMQHhfmc,4042
|
1198
1199
|
zrb/task_input/task_input.py,sha256=fa6yneGp3Kp8DMf30zmTP797r5xfAzSBopXQmtx2Wxc,2020
|
1199
|
-
zrb-0.
|
1200
|
-
zrb-0.
|
1201
|
-
zrb-0.
|
1202
|
-
zrb-0.
|
1203
|
-
zrb-0.
|
1200
|
+
zrb-0.2.0.dist-info/entry_points.txt,sha256=xTgXc1kBKYhJHEujdaSPHUcJT3-hbyP1mLgwkv-5sSk,40
|
1201
|
+
zrb-0.2.0.dist-info/LICENSE,sha256=WfnGCl8G60EYOPAEkuc8C9m9pdXWDe08NsKj3TBbxsM,728
|
1202
|
+
zrb-0.2.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
1203
|
+
zrb-0.2.0.dist-info/METADATA,sha256=p_dLGn_H7Epr1S-kh_f4yo6D62OvqZpyhm6Tb7IToJQ,16407
|
1204
|
+
zrb-0.2.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|