zrb 0.18.0__py3-none-any.whl → 0.22.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 (35) hide show
  1. zrb/__init__.py +2 -0
  2. zrb/builtin/project/add/app/generator/generator.py +1 -0
  3. zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/_input.py +7 -4
  4. zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/snake_zrb_generator_name.py +1 -0
  5. zrb/builtin/project/add/app/python/python.py +1 -0
  6. zrb/builtin/project/add/fastapp/app/_input.py +8 -4
  7. zrb/builtin/project/add/fastapp/app/app.py +1 -0
  8. zrb/builtin/project/add/fastapp/crud/_input.py +2 -1
  9. zrb/builtin/project/add/fastapp/crud/crud.py +1 -0
  10. zrb/builtin/project/add/fastapp/crud/nodejs/codemod/package-lock.json +33 -24
  11. zrb/builtin/project/add/fastapp/field/field.py +1 -0
  12. zrb/builtin/project/add/plugin/plugin.py +5 -1
  13. zrb/builtin/project/add/task/cmd/add.py +1 -0
  14. zrb/builtin/project/add/task/docker_compose/add.py +1 -0
  15. zrb/builtin/project/add/task/python/add.py +1 -0
  16. zrb/config/config.py +1 -0
  17. zrb/helper/multiline.py +13 -0
  18. zrb/task/any_task.py +7 -0
  19. zrb/task/base_task/base_task.py +1 -2
  20. zrb/task/base_task/component/common_task_model.py +34 -3
  21. zrb/task/cmd_task.py +21 -8
  22. zrb/task_input/base_input.py +51 -6
  23. zrb/task_input/bool_input.py +9 -6
  24. zrb/task_input/choice_input.py +8 -5
  25. zrb/task_input/float_input.py +8 -5
  26. zrb/task_input/int_input.py +8 -5
  27. zrb/task_input/multiline_input.py +125 -0
  28. zrb/task_input/password_input.py +9 -6
  29. zrb/task_input/str_input.py +18 -15
  30. zrb/task_input/task_input.py +3 -2
  31. {zrb-0.18.0.dist-info → zrb-0.22.0.dist-info}/METADATA +1 -1
  32. {zrb-0.18.0.dist-info → zrb-0.22.0.dist-info}/RECORD +35 -33
  33. {zrb-0.18.0.dist-info → zrb-0.22.0.dist-info}/LICENSE +0 -0
  34. {zrb-0.18.0.dist-info → zrb-0.22.0.dist-info}/WHEEL +0 -0
  35. {zrb-0.18.0.dist-info → zrb-0.22.0.dist-info}/entry_points.txt +0 -0
@@ -2,7 +2,7 @@ from zrb.helper.accessories.color import colored
2
2
  from zrb.helper.log import logger
3
3
  from zrb.helper.typecheck import typechecked
4
4
  from zrb.helper.typing import Any, Optional, Union
5
- from zrb.task_input.base_input import BaseInput
5
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
6
6
 
7
7
  logger.debug(colored("Loading zrb.task_input.bool_input", attrs=["dark"]))
8
8
 
@@ -20,9 +20,10 @@ class BoolInput(BaseInput):
20
20
  Args:
21
21
  name (str): The name of the input.
22
22
  shortcut (Optional[str]): A shortcut string for the input.
23
- default (Optional[Any]): The default value for the input. Should be a boolean if set.
24
- description (Optional[str]): A brief description of the input.
25
- show_default (Union[bool, str, None]): Option to display the default value. Can be a boolean or string representation.
23
+ default (Optional[Any]): The default value of the input.
24
+ callback (Optional[Any]): The default value of the input.
25
+ description (Optional[str]): A brief description of what the input is for.
26
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
26
27
  prompt (Union[bool, str]): A boolean or string to prompt the user for input. If `True`, uses the default prompt.
27
28
  confirmation_prompt (Union[bool, str]): If set to `True`, the user is asked to confirm the input.
28
29
  prompt_required (bool): If `True`, the prompt for input is mandatory.
@@ -48,9 +49,10 @@ class BoolInput(BaseInput):
48
49
  self,
49
50
  name: str,
50
51
  shortcut: Optional[str] = None,
51
- default: Optional[Any] = None,
52
+ default: Optional[Union[Any, InputDefault]] = None,
53
+ callback: Optional[InputCallback] = None,
52
54
  description: Optional[str] = None,
53
- show_default: Union[bool, str, None] = None,
55
+ show_default: Union[bool, str] = True,
54
56
  prompt: Union[bool, str] = True,
55
57
  confirmation_prompt: Union[bool, str] = False,
56
58
  prompt_required: bool = True,
@@ -71,6 +73,7 @@ class BoolInput(BaseInput):
71
73
  name=name,
72
74
  shortcut=shortcut,
73
75
  default=default,
76
+ callback=callback,
74
77
  description=description,
75
78
  show_default=show_default,
76
79
  prompt=prompt,
@@ -4,7 +4,7 @@ from zrb.helper.accessories.color import colored
4
4
  from zrb.helper.log import logger
5
5
  from zrb.helper.typecheck import typechecked
6
6
  from zrb.helper.typing import Any, Iterable, Optional, Union
7
- from zrb.task_input.base_input import BaseInput
7
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
8
8
 
9
9
  logger.debug(colored("Loading zrb.task_input.choice_input", attrs=["dark"]))
10
10
 
@@ -25,8 +25,9 @@ class ChoiceInput(BaseInput):
25
25
  shortcut (Optional[str]): An optional shortcut string for the input.
26
26
  choices (Iterable[Any]): An iterable of choices from which the user can select.
27
27
  default (Optional[Any]): The default value for the input. Should be one of the choices if set.
28
- description (Optional[str]): A brief description of the input.
29
- show_default (Union[bool, str, None]): Option to display the default value. Can be a boolean or string representation.
28
+ callback (Optional[Any]): The default value of the input.
29
+ description (Optional[str]): A brief description of what the input is for.
30
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
30
31
  prompt (Union[bool, str]): A boolean or string to prompt the user for input. If `True`, uses the default prompt.
31
32
  confirmation_prompt (Union[bool, str]): If set to `True`, the user is asked to confirm the input.
32
33
  prompt_required (bool): If `True`, the prompt for input is mandatory.
@@ -53,9 +54,10 @@ class ChoiceInput(BaseInput):
53
54
  name: str,
54
55
  shortcut: Optional[str] = None,
55
56
  choices: Iterable[Any] = [],
56
- default: Optional[Any] = None,
57
+ default: Optional[Union[Any, InputDefault]] = None,
58
+ callback: Optional[InputCallback] = None,
57
59
  description: Optional[str] = None,
58
- show_default: Union[bool, str, None] = None,
60
+ show_default: Union[bool, str] = True,
59
61
  prompt: Union[bool, str] = True,
60
62
  confirmation_prompt: Union[bool, str] = False,
61
63
  prompt_required: bool = True,
@@ -76,6 +78,7 @@ class ChoiceInput(BaseInput):
76
78
  name=name,
77
79
  shortcut=shortcut,
78
80
  default=default,
81
+ callback=callback,
79
82
  description=description,
80
83
  show_default=show_default,
81
84
  prompt=prompt,
@@ -2,7 +2,7 @@ from zrb.helper.accessories.color import colored
2
2
  from zrb.helper.log import logger
3
3
  from zrb.helper.typecheck import typechecked
4
4
  from zrb.helper.typing import Any, Optional, Union
5
- from zrb.task_input.base_input import BaseInput
5
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
6
6
 
7
7
  logger.debug(colored("Loading zrb.task_input.float_input", attrs=["dark"]))
8
8
 
@@ -21,8 +21,9 @@ class FloatInput(BaseInput):
21
21
  name (str): The name of the input.
22
22
  shortcut (Optional[str]): An optional shortcut string for the input.
23
23
  default (Optional[Any]): The default value for the input, expected to be a float if set.
24
- description (Optional[str]): A brief description of the input's purpose.
25
- show_default (Union[bool, str, None]): Option to display the default value. Can be a boolean or string.
24
+ callback (Optional[Any]): The default value of the input.
25
+ description (Optional[str]): A brief description of what the input is for.
26
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
26
27
  prompt (Union[bool, str]): A boolean or string to prompt the user for input. If `True`, uses the default prompt.
27
28
  confirmation_prompt (Union[bool, str]): If `True`, the user is asked to confirm the input.
28
29
  prompt_required (bool): If `True`, the prompt for input is mandatory.
@@ -48,9 +49,10 @@ class FloatInput(BaseInput):
48
49
  self,
49
50
  name: str,
50
51
  shortcut: Optional[str] = None,
51
- default: Optional[Any] = None,
52
+ default: Optional[Union[Any, InputDefault]] = None,
53
+ callback: Optional[InputCallback] = None,
52
54
  description: Optional[str] = None,
53
- show_default: Union[bool, str, None] = None,
55
+ show_default: Union[bool, str] = True,
54
56
  prompt: Union[bool, str] = True,
55
57
  confirmation_prompt: Union[bool, str] = False,
56
58
  prompt_required: bool = True,
@@ -71,6 +73,7 @@ class FloatInput(BaseInput):
71
73
  name=name,
72
74
  shortcut=shortcut,
73
75
  default=default,
76
+ callback=callback,
74
77
  description=description,
75
78
  show_default=show_default,
76
79
  prompt=prompt,
@@ -2,7 +2,7 @@ from zrb.helper.accessories.color import colored
2
2
  from zrb.helper.log import logger
3
3
  from zrb.helper.typecheck import typechecked
4
4
  from zrb.helper.typing import Any, Optional, Union
5
- from zrb.task_input.base_input import BaseInput
5
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
6
6
 
7
7
  logger.debug(colored("Loading zrb.task_input.int_input", attrs=["dark"]))
8
8
 
@@ -22,8 +22,9 @@ class IntInput(BaseInput):
22
22
  name (str): The name of the input, serving as an identifier.
23
23
  shortcut (Optional[str]): An optional shortcut for easier reference to the input.
24
24
  default (Optional[Any]): The default value for the input, should be an integer if provided.
25
- description (Optional[str]): A brief description of what the input represents or its intended use.
26
- show_default (Union[bool, str, None]): Option to show the default value in prompts or documentation.
25
+ callback (Optional[Any]): The default value of the input.
26
+ description (Optional[str]): A brief description of what the input is for.
27
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
27
28
  prompt (Union[bool, str]): A boolean or string to determine the prompt for user input. If `True`, uses a default prompt.
28
29
  confirmation_prompt (Union[bool, str]): If `True`, the user will be asked to confirm their input.
29
30
  prompt_required (bool): If `True`, makes the input prompt mandatory.
@@ -49,9 +50,10 @@ class IntInput(BaseInput):
49
50
  self,
50
51
  name: str,
51
52
  shortcut: Optional[str] = None,
52
- default: Optional[Any] = None,
53
+ default: Optional[Union[Any, InputDefault]] = None,
54
+ callback: Optional[InputCallback] = None,
53
55
  description: Optional[str] = None,
54
- show_default: Union[bool, str, None] = None,
56
+ show_default: Union[bool, str] = True,
55
57
  prompt: Union[bool, str] = True,
56
58
  confirmation_prompt: Union[bool, str] = False,
57
59
  prompt_required: bool = True,
@@ -72,6 +74,7 @@ class IntInput(BaseInput):
72
74
  name=name,
73
75
  shortcut=shortcut,
74
76
  default=default,
77
+ callback=callback,
75
78
  description=description,
76
79
  show_default=show_default,
77
80
  prompt=prompt,
@@ -0,0 +1,125 @@
1
+ from zrb.config.config import default_editor
2
+ from zrb.helper.accessories.color import colored
3
+ from zrb.helper.log import logger
4
+ from zrb.helper.multiline import edit
5
+ from zrb.helper.typecheck import typechecked
6
+ from zrb.helper.typing import Any, Mapping, Optional, Union
7
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
8
+
9
+ logger.debug(colored("Loading zrb.task_input.multiline_input", attrs=["dark"]))
10
+
11
+ # flake8: noqa E501
12
+
13
+
14
+ @typechecked
15
+ class MultilineInput(BaseInput):
16
+ """
17
+ A specialized input class for handling string-based inputs in various tasks.
18
+
19
+ `MultilineInput` extends `BaseInput` to manage string-type inputs, supporting features like
20
+ default values, prompts, flags, and other customization options. This class is useful
21
+ for tasks requiring textual input, such as names, descriptions, or any other string parameters.
22
+
23
+ Args:
24
+ name (str): The name of the input, used as an identifier.
25
+ shortcut (Optional[str]): An optional shortcut string for the input.
26
+ default (Optional[Any]): The default value for the input, expected to be a string if set.
27
+ callback (Optional[Any]): The default value of the input.
28
+ description (Optional[str]): A brief description of what the input is for.
29
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
30
+ prompt (Union[bool, str]): A boolean or string to prompt the user for input. If `True`, uses the default prompt.
31
+ confirmation_prompt (Union[bool, str]): If `True`, the user is asked to confirm the input.
32
+ prompt_required (bool): If `True`, the prompt for input is mandatory.
33
+ hide_input (bool): If `True`, hides the input value, typically used for sensitive data.
34
+ is_flag (Optional[bool]): Indicates if the input is a flag. If `True`, the input accepts boolean flag values.
35
+ flag_value (Optional[Any]): The value associated with the flag if `is_flag` is `True`.
36
+ multiple (bool): If `True`, allows multiple string values for the input.
37
+ count (bool): If `True`, counts the occurrences of the input.
38
+ allow_from_autoenv (bool): If `True`, enables automatic population of the input from environment variables.
39
+ hidden (bool): If `True`, keeps the input hidden in help messages or documentation.
40
+ show_choices (bool): If `True`, shows any restricted choices for the input value.
41
+ show_envvar (bool): If `True`, displays the associated environment variable, if applicable.
42
+ nargs (int): The number of arguments that the input can accept.
43
+ should_render (bool): If `True`, renders the input in the user interface or command-line interface.
44
+
45
+ Examples:
46
+ >>> multiline_input = MultilineInput(name='sql', default='select * from tbl', extension='sql', description='SQL')
47
+ >>> multiline_input.get_default()
48
+ 'user123'
49
+ """
50
+
51
+ __default_cache: Mapping[str, Any] = {}
52
+
53
+ def __init__(
54
+ self,
55
+ name: str,
56
+ shortcut: Optional[str] = None,
57
+ comment_prefix: str = "//",
58
+ comment_suffix: str = "",
59
+ editor: str = default_editor,
60
+ extension: str = "txt",
61
+ default: Optional[Union[Any, InputDefault]] = None,
62
+ callback: Optional[InputCallback] = None,
63
+ description: Optional[str] = None,
64
+ show_default: Union[bool, str] = True,
65
+ prompt: Union[bool, str] = True,
66
+ confirmation_prompt: Union[bool, str] = False,
67
+ prompt_required: bool = True,
68
+ hide_input: bool = False,
69
+ is_flag: Optional[bool] = None,
70
+ flag_value: Optional[Any] = None,
71
+ multiple: bool = False,
72
+ count: bool = False,
73
+ allow_from_autoenv: bool = True,
74
+ hidden: bool = False,
75
+ show_choices: bool = True,
76
+ show_envvar: bool = False,
77
+ nargs: int = 1,
78
+ should_render: bool = True,
79
+ ):
80
+ BaseInput.__init__(
81
+ self,
82
+ name=name,
83
+ shortcut=shortcut,
84
+ default=default,
85
+ callback=callback,
86
+ description=description,
87
+ show_default=show_default,
88
+ prompt=prompt,
89
+ confirmation_prompt=confirmation_prompt,
90
+ prompt_required=prompt_required,
91
+ hide_input=hide_input,
92
+ is_flag=is_flag,
93
+ flag_value=flag_value,
94
+ multiple=multiple,
95
+ count=count,
96
+ allow_from_autoenv=allow_from_autoenv,
97
+ type=str,
98
+ hidden=hidden,
99
+ show_choices=show_choices,
100
+ show_envvar=show_envvar,
101
+ nargs=nargs,
102
+ should_render=should_render,
103
+ )
104
+ self._comment_prefix = comment_prefix
105
+ self._comment_suffix = comment_suffix
106
+ self._editor = editor
107
+ self._extension = extension
108
+
109
+ def _wrapped_default(self) -> Any:
110
+ if self.get_name() not in self.__default_cache:
111
+ text = super()._wrapped_default()
112
+ mark_comment = self._get_mark_comment()
113
+ self.__default_cache[self.get_name()] = edit(
114
+ editor=self._editor,
115
+ mark_comment=mark_comment,
116
+ text=text,
117
+ extension=self._extension,
118
+ )
119
+ return self.__default_cache[self.get_name()]
120
+
121
+ def _get_mark_comment(self):
122
+ prompt = self._prompt if isinstance(self._prompt, str) else self.get_name()
123
+ if self._comment_suffix.strip() != "":
124
+ return " ".join([self._comment_prefix, prompt])
125
+ return " ".join([self._comment_prefix, prompt, self._comment_suffix])
@@ -2,7 +2,7 @@ from zrb.helper.accessories.color import colored
2
2
  from zrb.helper.log import logger
3
3
  from zrb.helper.typecheck import typechecked
4
4
  from zrb.helper.typing import Any, Optional, Union
5
- from zrb.task_input.base_input import BaseInput
5
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
6
6
 
7
7
  logger.debug(colored("Loading zrb.task_input.password_input", attrs=["dark"]))
8
8
 
@@ -23,8 +23,9 @@ class PasswordInput(BaseInput):
23
23
  name (str): The name of the input, serving as an identifier.
24
24
  shortcut (Optional[str]): An optional shortcut string for the input.
25
25
  default (Optional[Any]): The default value for the input, expected to be a string if set.
26
- description (Optional[str]): A brief description of the input's purpose.
27
- show_default (Union[bool, str, None]): Option to display the default value. Can be a boolean or string.
26
+ callback (Optional[Any]): The default value of the input.
27
+ description (Optional[str]): A brief description of what the input is for.
28
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
28
29
  prompt (Union[bool, str]): A boolean or string to prompt the user for input. If `True`, uses the default prompt.
29
30
  confirmation_prompt (Union[bool, str]): If `True`, the user is asked to confirm the input.
30
31
  prompt_required (bool): If `True`, the prompt for input is mandatory.
@@ -37,7 +38,7 @@ class PasswordInput(BaseInput):
37
38
  show_choices (bool): If `True`, displays the available choices to the user (if applicable).
38
39
  show_envvar (bool): Indicates whether to display the environment variable associated with this input.
39
40
  nargs (int): The number of arguments that the input can accept.
40
- should_render (bool): If `True’, the input is rendered in the UI or command-line interface.
41
+ should_render (bool): If `True`, the input is rendered in the UI or command-line interface.
41
42
 
42
43
  Examples:
43
44
  >>> password_input = PasswordInput(name='password', description='Enter your password')
@@ -49,9 +50,10 @@ class PasswordInput(BaseInput):
49
50
  self,
50
51
  name: str,
51
52
  shortcut: Optional[str] = None,
52
- default: Optional[Any] = None,
53
+ default: Optional[Union[Any, InputDefault]] = None,
54
+ callback: Optional[InputCallback] = None,
53
55
  description: Optional[str] = None,
54
- show_default: Union[bool, str, None] = None,
56
+ show_default: Union[bool, str] = True,
55
57
  prompt: Union[bool, str] = True,
56
58
  confirmation_prompt: Union[bool, str] = False,
57
59
  prompt_required: bool = True,
@@ -71,6 +73,7 @@ class PasswordInput(BaseInput):
71
73
  name=name,
72
74
  shortcut=shortcut,
73
75
  default=default,
76
+ callback=callback,
74
77
  description=description,
75
78
  show_default=show_default,
76
79
  prompt=prompt,
@@ -2,7 +2,7 @@ from zrb.helper.accessories.color import colored
2
2
  from zrb.helper.log import logger
3
3
  from zrb.helper.typecheck import typechecked
4
4
  from zrb.helper.typing import Any, Optional, Union
5
- from zrb.task_input.base_input import BaseInput
5
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
6
6
 
7
7
  logger.debug(colored("Loading zrb.task_input.str_input", attrs=["dark"]))
8
8
 
@@ -22,22 +22,23 @@ class StrInput(BaseInput):
22
22
  name (str): The name of the input, used as an identifier.
23
23
  shortcut (Optional[str]): An optional shortcut string for the input.
24
24
  default (Optional[Any]): The default value for the input, expected to be a string if set.
25
- description (Optional[str]): A brief description of the input's purpose.
26
- show_default (Union[bool, str, None]): Option to display the default value. Can be a boolean or string.
25
+ callback (Optional[Any]): The default value of the input.
26
+ description (Optional[str]): A brief description of what the input is for.
27
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
27
28
  prompt (Union[bool, str]): A boolean or string to prompt the user for input. If `True`, uses the default prompt.
28
29
  confirmation_prompt (Union[bool, str]): If `True`, the user is asked to confirm the input.
29
- prompt_required (bool): If `True’, the prompt for input is mandatory.
30
- hide_input (bool): If `True’, hides the input value, typically used for sensitive data.
31
- is_flag (Optional[bool]): Indicates if the input is a flag. If `True’, the input accepts boolean flag values.
30
+ prompt_required (bool): If `True`, the prompt for input is mandatory.
31
+ hide_input (bool): If `True`, hides the input value, typically used for sensitive data.
32
+ is_flag (Optional[bool]): Indicates if the input is a flag. If `True`, the input accepts boolean flag values.
32
33
  flag_value (Optional[Any]): The value associated with the flag if `is_flag` is `True`.
33
- multiple (bool): If `True’, allows multiple string values for the input.
34
- count (bool): If `True’, counts the occurrences of the input.
35
- allow_from_autoenv (bool): If `True’, enables automatic population of the input from environment variables.
36
- hidden (bool): If `True’, keeps the input hidden in help messages or documentation.
37
- show_choices (bool): If `True’, shows any restricted choices for the input value.
38
- show_envvar (bool): If `True’, displays the associated environment variable, if applicable.
34
+ multiple (bool): If `True`, allows multiple string values for the input.
35
+ count (bool): If `True`, counts the occurrences of the input.
36
+ allow_from_autoenv (bool): If `True`, enables automatic population of the input from environment variables.
37
+ hidden (bool): If `True`, keeps the input hidden in help messages or documentation.
38
+ show_choices (bool): If `True`, shows any restricted choices for the input value.
39
+ show_envvar (bool): If `True`, displays the associated environment variable, if applicable.
39
40
  nargs (int): The number of arguments that the input can accept.
40
- should_render (bool): If `True’, renders the input in the user interface or command-line interface.
41
+ should_render (bool): If `True`, renders the input in the user interface or command-line interface.
41
42
 
42
43
  Examples:
43
44
  >>> str_input = StrInput(name='username', default='user123', description='Enter your username')
@@ -49,9 +50,10 @@ class StrInput(BaseInput):
49
50
  self,
50
51
  name: str,
51
52
  shortcut: Optional[str] = None,
52
- default: Optional[Any] = None,
53
+ default: Optional[Union[Any, InputDefault]] = None,
54
+ callback: Optional[InputCallback] = None,
53
55
  description: Optional[str] = None,
54
- show_default: Union[bool, str, None] = None,
56
+ show_default: Union[bool, str] = True,
55
57
  prompt: Union[bool, str] = True,
56
58
  confirmation_prompt: Union[bool, str] = False,
57
59
  prompt_required: bool = True,
@@ -72,6 +74,7 @@ class StrInput(BaseInput):
72
74
  name=name,
73
75
  shortcut=shortcut,
74
76
  default=default,
77
+ callback=callback,
75
78
  description=description,
76
79
  show_default=show_default,
77
80
  prompt=prompt,
@@ -1,6 +1,6 @@
1
1
  from zrb.helper.accessories.color import colored
2
2
  from zrb.helper.log import logger
3
- from zrb.task_input.base_input import BaseInput
3
+ from zrb.task_input.base_input import BaseInput, InputCallback, InputDefault
4
4
 
5
5
  logger.debug(colored("Loading zrb.task_input.task_input", attrs=["dark"]))
6
6
 
@@ -15,8 +15,9 @@ class Input(BaseInput):
15
15
  name (str): The name of the input, used as a unique identifier.
16
16
  shortcut (Optional[str]): An optional single-character shortcut for the input.
17
17
  default (Optional[Any]): The default value of the input.
18
+ callback (Optional[Any]): The default value of the input.
18
19
  description (Optional[str]): A brief description of what the input is for.
19
- show_default (Union[bool, JinjaTemplate, None]): Determines whether the default value should be displayed.
20
+ show_default (Union[bool, JinjaTemplate, None]): Determines the default value to be shown.
20
21
  prompt (Union[bool, str]): The prompt text to be displayed when asking for the input.
21
22
  confirmation_prompt (Union[bool, str]): A prompt for confirmation if required.
22
23
  prompt_required (bool): Indicates whether a prompt is required.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zrb
3
- Version: 0.18.0
3
+ Version: 0.22.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=KH6bpJxEldzDMn-39IdUxEs9Ir5qUeqW_iC56iQKPMk,2814
1
+ zrb/__init__.py,sha256=JHeTmm8QkMcg1FhI4eEL4jOGqF1sJ774eR-m8_0KtP8,2894
2
2
  zrb/__main__.py,sha256=-_k0XOahDF-06n41Uly-oUMkZ8XDSxO-WUUImWz6GiA,171
3
3
  zrb/action/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  zrb/action/runner.py,sha256=oizUiLa4wa4CjXppbw_YUFlkAUSwapfoQ1YAo9TEY30,5079
@@ -103,10 +103,10 @@ zrb/builtin/project/add/app/_group.py,sha256=PZ6bTuINeTHdMaLKwjSO2eKBIfl5It7xGlo
103
103
  zrb/builtin/project/add/app/generator/__init__.py,sha256=xknJrqir2XpXXnKtNTE1lCXOQKVtOGyF3dnJiU7XGjU,104
104
104
  zrb/builtin/project/add/app/generator/_helper.py,sha256=eX0qrjuReCGZNPMowKd54k8X-PyREgsLU0WZPQ4-yow,549
105
105
  zrb/builtin/project/add/app/generator/_input.py,sha256=Do-bLbYwgGOm6gPvp8FzBgUdteVwssR17_0VK55F14s,774
106
- zrb/builtin/project/add/app/generator/generator.py,sha256=5B877i4q9ns1s28E7Rt9ZkEZ6rUl2W4rB_Z8qw0AFmQ,3470
106
+ zrb/builtin/project/add/app/generator/generator.py,sha256=cYWbHq8BLY3TSdergDMdPfI9pHfn8u1pXp-q5DrIPUk,3483
107
107
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/__init__.py,sha256=1Uq88Nt3aQ95WZaOn5HXcc-AEeqS9uj7N52jByUHHgM,104
108
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/_input.py,sha256=uOmx2uEbPVRyxGwGta0tqciUjGSUb988YxtF70YbD5k,1519
109
- zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/snake_zrb_generator_name.py,sha256=toYaniDV9-eIT0OqyOl1pl-TXEHS6GJh3DAerjf4Vsw,3180
108
+ zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/_input.py,sha256=KDL3HCrecgJ3PeHhhoBP5jSjMzWHw3hH1pz9nSOHe6U,1597
109
+ zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/snake_zrb_generator_name.py,sha256=3qJwdWn29ZaG6egtMygkGK6srrLYRTnUwcqzVPiV5Ds,3193
110
110
  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/__init__.py,sha256=LJJca1_tGcuc65sgtXS_Y2XqU5q3QGClVnoPKcnws_c,913
111
111
  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/_constant.py,sha256=we1m5OznG3Pi806XMBbA0PN2w3xg9CGloZuo5d8CibY,405
112
112
  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/_env.py,sha256=JlXWhwfnyVuwVnp_7HQfR6EZVoKCkY8_QIGucknNUZY,847
@@ -151,7 +151,7 @@ zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/sn
151
151
  zrb/builtin/project/add/app/generator/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/snake_zrb_generator_name/template/src/kebab-zrb-app-name/src/template.env,sha256=vtoZ0LV8OKAU1EUWBiB8PIKbf1FaNfm-49j7aXvKsgs,87
152
152
  zrb/builtin/project/add/app/python/__init__.py,sha256=0hKakEPFI1SqMV3LrL34ACeLSd6Pt72DP2i1H1QRNL0,92
153
153
  zrb/builtin/project/add/app/python/_input.py,sha256=drsQ1B83oF2IEmhB2rnO02KLrlR4wugPMHpP01cW2pM,1502
154
- zrb/builtin/project/add/app/python/python.py,sha256=Z1Tdtzu9Hc5r7iUYy3TdeWLv5lgTes_sBCitkRgGat8,3142
154
+ zrb/builtin/project/add/app/python/python.py,sha256=H_88WbK7JGTQ6el22UpTqi4qnaQJeEvkaVwlkM2ZlA8,3155
155
155
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/__init__.py,sha256=LJJca1_tGcuc65sgtXS_Y2XqU5q3QGClVnoPKcnws_c,913
156
156
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/_constant.py,sha256=we1m5OznG3Pi806XMBbA0PN2w3xg9CGloZuo5d8CibY,405
157
157
  zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/_env.py,sha256=JlXWhwfnyVuwVnp_7HQfR6EZVoKCkY8_QIGucknNUZY,847
@@ -197,8 +197,8 @@ zrb/builtin/project/add/app/python/template/src/kebab-zrb-app-name/src/template.
197
197
  zrb/builtin/project/add/fastapp/__init__.py,sha256=NynNDb_8LTEh5oP-NIu5DqZ0wb2t6JaPcCjW2kaeWhQ,493
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
- zrb/builtin/project/add/fastapp/app/_input.py,sha256=drsQ1B83oF2IEmhB2rnO02KLrlR4wugPMHpP01cW2pM,1502
201
- zrb/builtin/project/add/fastapp/app/app.py,sha256=NWLag2YQTyV0PCLh2Q2DSEiKp_U2GCbRR_UQozYVabI,3789
200
+ zrb/builtin/project/add/fastapp/app/_input.py,sha256=Ly9ljRQTxZC77rZKRsTaCU_1-JYO59mxxF5md0xYRyM,1581
201
+ zrb/builtin/project/add/fastapp/app/app.py,sha256=un3MeXMaRFhZXDcEzvzQPTiUmvhPLhIu74KbwkZfjdM,3802
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
@@ -1153,11 +1153,11 @@ zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/helper.
1153
1153
  zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/test_liveness_and_readiness.py,sha256=BHX1NEZKu8WLmENOGQBPoRnx01eQ64b__PbGaq_qYzQ,1232
1154
1154
  zrb/builtin/project/add/fastapp/crud/__init__.py,sha256=IMTN_eQRAAUW9P_e0RlJFm_-BqxoCys1dpCNFuIW5lI,96
1155
1155
  zrb/builtin/project/add/fastapp/crud/_helper.py,sha256=8awMQTTLB3wziBrddny60ypGPFSIJ1jeIvUFMogfHbQ,4057
1156
- zrb/builtin/project/add/fastapp/crud/_input.py,sha256=LL9qR92qoMS_Tw_rdUTbYmNzHnqlfSNdguZtb_MyKxI,850
1156
+ zrb/builtin/project/add/fastapp/crud/_input.py,sha256=2hdmmwojXl5TKkI5XMKHbHzW3QcYgx33g8hKHRMxHCo,901
1157
1157
  zrb/builtin/project/add/fastapp/crud/_task_factory.py,sha256=xfH5C0KkuhJvilrIzNBJ6LvrcG71lhM3N7ZPm6CW8Js,1481
1158
- zrb/builtin/project/add/fastapp/crud/crud.py,sha256=w1XeYB4RyMeieYVxA8nJ2oWb0nzNOOK6rL8MU-VdVCQ,5184
1158
+ zrb/builtin/project/add/fastapp/crud/crud.py,sha256=22jsigh-fnY7oDO6yd794m-WZuNLRPX6o6i_xovTP6c,5197
1159
1159
  zrb/builtin/project/add/fastapp/crud/nodejs/codemod/.gitignore,sha256=FtMORGIYn7FN1hG9twjFEGMMV2ofNbk4PomkNS2jbJc,13
1160
- zrb/builtin/project/add/fastapp/crud/nodejs/codemod/package-lock.json,sha256=jfKLElnb8UsaadSX8wO03h5-9wQrrO_EeoSoNRoFSbQ,11259
1160
+ zrb/builtin/project/add/fastapp/crud/nodejs/codemod/package-lock.json,sha256=yWd9ww6RHHhAZBi5V01sbSKF6D8owxHoR1ebHGHs-2A,11620
1161
1161
  zrb/builtin/project/add/fastapp/crud/nodejs/codemod/package.json,sha256=uqz8LlyK32NyMkH2rYAgZYi29pymj_zN5j46YiTDJ2w,369
1162
1162
  zrb/builtin/project/add/fastapp/crud/nodejs/codemod/src/addNav.ts,sha256=LeiRM_woR2rA6Se9zuZgBuo0WgtEFyYqHXQRufltEQ4,1460
1163
1163
  zrb/builtin/project/add/fastapp/crud/nodejs/codemod/src/fastapp/src/frontend/src/lib/config/navData.ts,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1183,7 +1183,7 @@ zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/test/snake_
1183
1183
  zrb/builtin/project/add/fastapp/field/__init__.py,sha256=ahiH_AlkbyDj_OsmyU1DMr3FL2XLe2MZRbuawWaIko4,100
1184
1184
  zrb/builtin/project/add/fastapp/field/_helper.py,sha256=7GkYi9Ud8HW3RoVWSMg2Q78kKDMCWrgipBGQ_8xS7dE,11041
1185
1185
  zrb/builtin/project/add/fastapp/field/_input.py,sha256=zx0n229UT_Pk1SQfdK7a3DfA8QXVWBRa3hmEfWOU7VM,350
1186
- zrb/builtin/project/add/fastapp/field/field.py,sha256=MBPqbKFMEC0RsQWsRBTbDn94siKqAmSvPfVk3nBj9zk,6509
1186
+ zrb/builtin/project/add/fastapp/field/field.py,sha256=xN9y4Ovn-kJFzgVUBQfVHVL5lQW49w_yaV2kGMTYKBs,6522
1187
1187
  zrb/builtin/project/add/fastapp/module/__init__.py,sha256=alSeJepmhsb8Op21K_ttP5FIDk84v2KsBpiCKkwVE0A,104
1188
1188
  zrb/builtin/project/add/fastapp/module/_helper.py,sha256=8x9tM_51EzMdle9ri8IaydKXYPLmqZNRNQPRtGXdd4o,10945
1189
1189
  zrb/builtin/project/add/fastapp/module/_input.py,sha256=X13ZS0n4ZgUc3sbJtoEyFWUw8Jpbm2EDKsv0tvE5uZo,201
@@ -1204,7 +1204,7 @@ zrb/builtin/project/add/fastapp/module/template/src/kebab-zrb-app-name/src/modul
1204
1204
  zrb/builtin/project/add/fastapp/module/template/src/kebab-zrb-app-name/test/snake_zrb_module_name/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1205
1205
  zrb/builtin/project/add/plugin/__init__.py,sha256=7KlTMVikpaHb5X35ZmZaipsubCglsD0fSYlg9LcoZfM,80
1206
1206
  zrb/builtin/project/add/plugin/_input.py,sha256=AG8lyq-CCdreoxrGeXyGYyk0iF9G370zAmZn2gAMjZc,1800
1207
- zrb/builtin/project/add/plugin/plugin.py,sha256=-OCnwEQzcI76Nk7MSF_tlL-BeGWraw0oFAK-5SDe_0M,3158
1207
+ zrb/builtin/project/add/plugin/plugin.py,sha256=yxkgp2QPStinDCjIdIYOHmh4AHkp9yid7G8RGkR88As,3182
1208
1208
  zrb/builtin/project/add/plugin/template/_automate/snake_zrb_package_name/__init__.py,sha256=jyOjBLjUIZxYB17P5LXBvrTOZ84raQxO6AOp3QRNQSg,768
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
@@ -1246,11 +1246,11 @@ zrb/builtin/project/add/task/__init__.py,sha256=3kwq5jk5zFFy_K1zoECXxOCSqkqa9hXP
1246
1246
  zrb/builtin/project/add/task/_group.py,sha256=ZtrWSBI2vP4C8O9pOWrYuMWjWUFuHccxhqLD4uH5dUk,212
1247
1247
  zrb/builtin/project/add/task/_input.py,sha256=NPyr1fTIs-EJ9D62eTSVO8yVVEiyckR9SPPA10DBvKI,266
1248
1248
  zrb/builtin/project/add/task/cmd/__init__.py,sha256=rzpuW5oi0i5gt44WJnwBRUNyKxyXViNmac-_5N058yM,83
1249
- zrb/builtin/project/add/task/cmd/add.py,sha256=siNVp3GoWnlP6xxmUGSHd_lHxAfwTsVFaoRR8K6h5RQ,1771
1249
+ zrb/builtin/project/add/task/cmd/add.py,sha256=O5NBBSH2UrcfjAxrUGLYpt7X9S42ay85Kq3ctIMTf2c,1784
1250
1250
  zrb/builtin/project/add/task/cmd/template/_automate/snake_zrb_task_name.py,sha256=mKaNvkIvis-ma-GiKRrkjLur2CdJwUUaxJZRu0OEhrY,293
1251
1251
  zrb/builtin/project/add/task/docker_compose/__init__.py,sha256=s7nh3JYxrrn8Bsre3eaveYrkSBhem5xxGvRaA2KEaug,116
1252
1252
  zrb/builtin/project/add/task/docker_compose/_input.py,sha256=XtdU4FqnvUZbxzziizPT3YSKPeRfezUvHIIFkznWUwI,400
1253
- zrb/builtin/project/add/task/docker_compose/add.py,sha256=xfDe79X4JI0Z-A07QyIFSqZvkQtxdPDj4lyl_AfJWrQ,2209
1253
+ zrb/builtin/project/add/task/docker_compose/add.py,sha256=hz2BBFU8XKfwLirvug301YuEvGRVFe7ASaOsgeiYPLw,2222
1254
1254
  zrb/builtin/project/add/task/docker_compose/template/_automate/snake_zrb_task_name.py,sha256=uAlrjbmj_fcE-6E4L4Qz7EYBjIMTe2YHXee5lxbEH-o,958
1255
1255
  zrb/builtin/project/add/task/docker_compose/template/src/kebab-zrb-task-name/.dockerignore,sha256=LxhNL1suXmDgt_uwGsgUlRmb8ELu2fr8Rx9ryk-0OUY,12
1256
1256
  zrb/builtin/project/add/task/docker_compose/template/src/kebab-zrb-task-name/.gitignore,sha256=ix0-K99TQUKck1g7GDugxn4sh7JtZQjRa0zlmY6rWQY,30
@@ -1260,7 +1260,7 @@ zrb/builtin/project/add/task/docker_compose/template/src/kebab-zrb-task-name/ima
1260
1260
  zrb/builtin/project/add/task/docker_compose/template/src/kebab-zrb-task-name/image/main.py,sha256=9oXlXs0J3d2fhm9flhVGA-H_XxCDsOj_dFRhyhWEjvc,511
1261
1261
  zrb/builtin/project/add/task/docker_compose/template/src/kebab-zrb-task-name/image/pyproject.toml,sha256=lCuHzvgZ541o8vm-9I_hnSIL4YP_LWd4PA9jS6GRB9Y,525
1262
1262
  zrb/builtin/project/add/task/python/__init__.py,sha256=LCBBPaEI8pGvY5UG9jls3VnDD-NoC4v3mIONPJQxI-E,92
1263
- zrb/builtin/project/add/task/python/add.py,sha256=v8zhfLt_7xFpGdi-2q7TPIDS4Yl_7b19XqKtg4sWUcY,1790
1263
+ zrb/builtin/project/add/task/python/add.py,sha256=cvkJgPwHYnfnj1Rf0htUrQt56sixzdVc_Mzx26kXrfg,1803
1264
1264
  zrb/builtin/project/add/task/python/template/_automate/snake_zrb_task_name.py,sha256=yrlLdEAfuhdCyvAXdGB9ecp1LrOATBXk-dFmcYypOQQ,569
1265
1265
  zrb/builtin/project/create/__init__.py,sha256=AIEtCGl3XtqtGAD73-9FOP3ROcazFFY726WLMeZmPz0,84
1266
1266
  zrb/builtin/project/create/_helper.py,sha256=c7jRcpyR9COq3ATA_Q3YurIKGQf5AU9uYawn_5UutDs,491
@@ -1294,7 +1294,7 @@ zrb/builtin/update.py,sha256=89i_fPUlL27IXczLI7Lr7k4STMpnxyw2je8daCKUTQo,225
1294
1294
  zrb/builtin/version.py,sha256=vjbmSeOSEjT0SgdeQHGslwFCQMukwVZkOOkusZGZNcU,394
1295
1295
  zrb/builtin/watch_changes.py,sha256=Vr__e_T31nnbefcPftvyn78dT3-UXqNRpH0KO-COeKQ,1220
1296
1296
  zrb/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1297
- zrb/config/config.py,sha256=6uDxOLmHHstLCosj2miBVxlO9dMTIoXYedqaff8EVBU,1567
1297
+ zrb/config/config.py,sha256=pba-BbPFjfeH-U_cZyi3L8lElf1nyCFTYbKAzFJrWaQ,1616
1298
1298
  zrb/helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1299
1299
  zrb/helper/accessories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1300
1300
  zrb/helper/accessories/color.py,sha256=E5OxlSOaN9skojG4gpD9tlBYyHDFC-YhLi_DoPCBbcg,948
@@ -1332,6 +1332,7 @@ zrb/helper/loader/load_module.py,sha256=qLYFTBKnrxlmgEA_-uepAM16LwpIx3XyfvXSIvJE
1332
1332
  zrb/helper/log.py,sha256=lQBWNWc5UUz4BOzixWOMWjldcCRgycn1Pnn2nTJ7hlg,544
1333
1333
  zrb/helper/map/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1334
1334
  zrb/helper/map/conversion.py,sha256=I4VTrtv5c9OpfQ2lc7icxCgduWB46_qBtOh1RdjaPq0,603
1335
+ zrb/helper/multiline.py,sha256=787DikPf0QMua_Lp2DJh9EJCxxhBh2CBKh3LyDGsjxM,378
1335
1336
  zrb/helper/python_task.py,sha256=8FSMK5wHkNQUILUkDa-wNjfTYfQYFbItdKDPL35gRZ0,625
1336
1337
  zrb/helper/render_data.py,sha256=sWQIQtdP61RDOoSh2_0ZJkKzDRmEsDLN18ADlhNWoAo,835
1337
1338
  zrb/helper/string/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1355,19 +1356,19 @@ zrb/shell-scripts/notify.ps1,sha256=6_xPoIwuxARpYljcjVV-iRJS3gJqGfx-B6kj719cJ9o,
1355
1356
  zrb/shell-scripts/rsync-util.sh,sha256=QzdhSBvUNMxB4U2B4m0Dxg9czGckRjB7Vk4A1ObG0-k,353
1356
1357
  zrb/shell-scripts/ssh-util.sh,sha256=9lXDzw6oO8HuA4vdbfps_uQMMwKyNYX9fZkZgpK52g8,401
1357
1358
  zrb/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1358
- zrb/task/any_task.py,sha256=hrgsYikSe_C6JDSWeHNGCCvefNrkVioJWUunrqSFGLE,39199
1359
+ zrb/task/any_task.py,sha256=nKcCj_RbSC-MUSi4rxcIAC2eEFo7uKwODkgglxp3mj8,39346
1359
1360
  zrb/task/any_task_event_handler.py,sha256=AjTC6lIcprutRusNBGl83EifQe4TbZzxdlVIR4ndWN4,524
1360
1361
  zrb/task/base_remote_cmd_task.py,sha256=q2Kwo5OMahL5gPSxwp_9zZLYouFfFc6Ru_p6ApOI-pk,12124
1361
1362
  zrb/task/base_task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1362
- zrb/task/base_task/base_task.py,sha256=IvOBbuzIHLWP3RrlkK0NZXa1L7XlO1m0uLEYIxJt8sU,20388
1363
+ zrb/task/base_task/base_task.py,sha256=rPWMIBNnNtwn0q3VEUDw3HfbSPWtww_lyOA3rUh5aq0,20310
1363
1364
  zrb/task/base_task/component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1364
1365
  zrb/task/base_task/component/base_task_model.py,sha256=i6TrtTusZ71ZnOnx8yM0aJl8uF6R1hKdAf62bEdpdCs,10379
1365
- zrb/task/base_task/component/common_task_model.py,sha256=h81BGqplsaWJCQl0Zigl24LLkCUKPEfJikSbITREQnM,12288
1366
+ zrb/task/base_task/component/common_task_model.py,sha256=OaliFPkL9HQPuoMBsmmVkJ6xxyQd3GoTJS0u5LaVeNk,13538
1366
1367
  zrb/task/base_task/component/pid_model.py,sha256=RjJIqOpavucDssnd3q3gT4q8QnP8I9SUdlv1b9pR7kU,292
1367
1368
  zrb/task/base_task/component/renderer.py,sha256=9wP2IW811Ta81IoPWmeQ7yVc7eG-uaSnOVbEyeaOIuk,4439
1368
1369
  zrb/task/base_task/component/trackers.py,sha256=c5xhZ6agICxKPI5Va1sn66_9OqC92ebF5CNhcwVUNUE,2074
1369
1370
  zrb/task/checker.py,sha256=raYNBHgeyEqkyfBRsPPgSV7ukEfMlJOCUn97WQNl6mU,3384
1370
- zrb/task/cmd_task.py,sha256=Bfu29x5Cy10gCazIItCEOzrafU7r7z5WlWS4_wD7Znk,14184
1371
+ zrb/task/cmd_task.py,sha256=z20xSsFTjnMToTgORzToKRn8_AwubLC0Sm6b-3z58_c,14526
1371
1372
  zrb/task/decorator.py,sha256=stxrl6aXbuUDK83lVf8m8uni3Ii6egLl0TCR0vxslUQ,3064
1372
1373
  zrb/task/docker_compose_task.py,sha256=hUKF7W3GwxFuEWmlPPFxa7h8npEnig2sm7KjlidHFBI,14911
1373
1374
  zrb/task/flow_task.py,sha256=QBOoyIrqc6ToSf3RF8xu8h4yxCWCerUAu2Ba0GxAqgg,5147
@@ -1394,17 +1395,18 @@ zrb/task_group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1394
1395
  zrb/task_group/group.py,sha256=uF3tyLABTyyBNyE9FUCfJeYSDnaLFQCis3tuEn5FYho,6109
1395
1396
  zrb/task_input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1396
1397
  zrb/task_input/any_input.py,sha256=-uOq1ONXdhW20FRkC3pzqX081tbfmWjvCc_-d-gCNGY,2087
1397
- zrb/task_input/base_input.py,sha256=kxt2184s8ppC2dsa69J2uLUOUqsdCmXEJiNUIJxKcuQ,5495
1398
- zrb/task_input/bool_input.py,sha256=xlWjqPvHi52TLiFP13wB1SayJlbzmxv31AS-sZJ0jw4,4040
1399
- zrb/task_input/choice_input.py,sha256=GU28ATSayZsmqCW-euAPoWyA-Kh6d5Wf6FwWLXffk5w,4290
1398
+ zrb/task_input/base_input.py,sha256=2I8QKDQi5HZXzhY4VV5-iy91_8CCSNB4_SAufUWBlCo,7404
1399
+ zrb/task_input/bool_input.py,sha256=HUxCphYcyd7YyBsymnUrBtzBMISkL_Mpz502Hl4cTvs,4186
1400
+ zrb/task_input/choice_input.py,sha256=qfrEzbs2g0CZeE2TzvfN0IOla_1B8Tikn-eIgMpLuPo,4465
1400
1401
  zrb/task_input/constant.py,sha256=VEsnrI0BDdCJ1Z58EJgxXUhZBe5CA8TfURo0cNu5CaQ,200
1401
- zrb/task_input/float_input.py,sha256=rtaowHp8RpiQS8a24ULgtydRu6wkYT1Q7Q_IRcCPD7s,4122
1402
- zrb/task_input/int_input.py,sha256=d2fXcm5fCo09472eMAm6PdzLQD82ZBV9ARq5CjKepAo,4198
1403
- zrb/task_input/password_input.py,sha256=g_g8ZWAzDaHx4h2EHY3UCGvTigC6esAUBzXU0T9nDUk,4192
1404
- zrb/task_input/str_input.py,sha256=BNflOhrJvST9bWK0rGdCi7C7y-QDvHj9ISQMRmujIWU,4200
1405
- zrb/task_input/task_input.py,sha256=DcHgKie5Oo1sUxj41t1ZQjCIK1aAfTgGzaKr7_ap7ZI,2248
1406
- zrb-0.18.0.dist-info/LICENSE,sha256=WfnGCl8G60EYOPAEkuc8C9m9pdXWDe08NsKj3TBbxsM,728
1407
- zrb-0.18.0.dist-info/METADATA,sha256=qEsdwPUflSN8YiBhgngtzvaQLXQemLtihXgGeSpKyPk,17076
1408
- zrb-0.18.0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
1409
- zrb-0.18.0.dist-info/entry_points.txt,sha256=xTgXc1kBKYhJHEujdaSPHUcJT3-hbyP1mLgwkv-5sSk,40
1410
- zrb-0.18.0.dist-info/RECORD,,
1402
+ zrb/task_input/float_input.py,sha256=bf2dhmbpmHMQiJFKYQEfTYmqpwyOEFh6CFM1r1dGTuw,4302
1403
+ zrb/task_input/int_input.py,sha256=P7lDQ0-x5lP_ZTfFeyc-aybub9oikBN4J13HZvWuw0A,4355
1404
+ zrb/task_input/multiline_input.py,sha256=K0qEWRAp3azV9gBH1cGnE2l3-eX7Bue_bQ9GvMdmjHs,5609
1405
+ zrb/task_input/password_input.py,sha256=3xxWHKJCDGbyl_5MmyyB2t_yRjwFKpIIbS10aq73ktk,4370
1406
+ zrb/task_input/str_input.py,sha256=0BJP3SQ8y0TRYPrwEy5pYv4N7jq8KlmRSVwByIFqIvI,4360
1407
+ zrb/task_input/task_input.py,sha256=WTj_qIQyRs-04-VotjNTcVyIuf6b2afInVoCQHoRmr0,2327
1408
+ zrb-0.22.0.dist-info/LICENSE,sha256=WfnGCl8G60EYOPAEkuc8C9m9pdXWDe08NsKj3TBbxsM,728
1409
+ zrb-0.22.0.dist-info/METADATA,sha256=LqnDhX1dESGPkFwz105U_NsKKViYl0nhqTuM-jd0Ens,17076
1410
+ zrb-0.22.0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
1411
+ zrb-0.22.0.dist-info/entry_points.txt,sha256=xTgXc1kBKYhJHEujdaSPHUcJT3-hbyP1mLgwkv-5sSk,40
1412
+ zrb-0.22.0.dist-info/RECORD,,
File without changes
File without changes