zrb 0.0.85__py3-none-any.whl → 0.0.87__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/__init__.py +4 -2
- zrb/action/runner.py +7 -3
- zrb/builtin/__init__.py +8 -22
- zrb/builtin/base64.py +1 -1
- zrb/builtin/devtool/__init__.py +20 -0
- zrb/builtin/devtool/devtool_install.py +45 -2
- zrb/builtin/devtool/docker/install.sh +8 -0
- zrb/builtin/devtool/gcloud/install.sh +8 -0
- zrb/builtin/devtool/helix/install.sh +20 -0
- zrb/builtin/devtool/helix/resource/config.toml +10 -0
- zrb/builtin/devtool/helix/resource/themes/gruvbox_transparent.toml +2 -0
- zrb/builtin/devtool/tmux/install.sh +8 -0
- zrb/builtin/devtool/zsh/install.sh +9 -0
- zrb/builtin/devtool/zsh/resource/config.sh +2 -0
- zrb/builtin/env.py +6 -3
- zrb/builtin/explain.py +129 -0
- zrb/builtin/generator/__init__.py +27 -0
- zrb/builtin/generator/app_generator/add.py +81 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/add.py +182 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_common.py +38 -0
- zrb/builtin/generator/{fastapp/template/_automate/snake_zrb_app_name/cmd/prepare-load-test.sh → app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/cmd/app-activate-venv.sh} +0 -6
- zrb/builtin/generator/{simple_python_app/template/_automate/snake_zrb_app_name/cmd/start.sh → app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/cmd/app-start.sh} +0 -9
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/cmd/pulumi-destroy.sh +1 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/cmd/pulumi-init-stack.sh +1 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/cmd/pulumi-up.sh +1 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/container.py +148 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/deployment.py +108 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/image.py +68 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +54 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/.gitignore +1 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/.gitignore +2 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/Pulumi.yaml +6 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/__main__.py +79 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/requirements.txt +3 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/state/.gitkeep +0 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/docker-compose.env +3 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/docker-compose.yml +20 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/src/.dockerignore +3 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/src/.gitignore +3 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/src/Dockerfile +7 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/src/main.py +20 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/src/requirements.txt +1 -0
- zrb/builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/src/template.env +4 -0
- zrb/builtin/generator/cmd_task/add.py +14 -14
- zrb/builtin/generator/cmd_task/template/_automate/snake_zrb_task_name.py +1 -1
- zrb/builtin/generator/common/__init__.py +0 -0
- zrb/builtin/generator/common/helper.py +57 -0
- zrb/builtin/generator/common/task_factory.py +82 -0
- zrb/builtin/generator/{_common/input.py → common/task_input.py} +46 -1
- zrb/builtin/generator/docker_compose_task/add.py +16 -15
- zrb/builtin/generator/docker_compose_task/template/_automate/snake_zrb_task_name.py +1 -1
- zrb/builtin/generator/fastapp/add.py +105 -101
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_common.py +2 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/activate-venv.sh +7 -0
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/{load-test.sh → app-load-test.sh} +0 -3
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-prepare-backend.sh +2 -0
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-prepare-load-test.sh +3 -0
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-start.sh +3 -0
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/pulumi-destroy.sh +0 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/pulumi-init-stack.sh +1 -0
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/pulumi-up.sh +0 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/container.py +1 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/deployment.py +9 -3
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/frontend.py +3 -3
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/image.py +1 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/load_test.py +11 -4
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/local.py +13 -4
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/local_microservices.py +4 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/test.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/requirements.txt +2 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/loadtest/requirements.txt +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/requirements.txt +3 -3
- zrb/builtin/generator/fastapp_crud/add.py +13 -126
- zrb/builtin/generator/fastapp_crud/helper.py +115 -0
- zrb/builtin/generator/fastapp_crud/task_factory.py +34 -0
- zrb/builtin/generator/fastapp_field/add.py +10 -282
- zrb/builtin/generator/fastapp_field/helper.py +283 -0
- zrb/builtin/generator/fastapp_module/add.py +22 -331
- zrb/builtin/generator/fastapp_module/helper.py +326 -0
- zrb/builtin/generator/pip_package/__init__.py +0 -0
- zrb/builtin/generator/pip_package/add.py +84 -0
- zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/cmd/build.sh +12 -0
- zrb/builtin/generator/{fastapp/template/_automate/snake_zrb_app_name/cmd/start.sh → pip_package/template/_automate/snake_zrb_package_name/cmd/install-symlink.sh} +2 -2
- zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/cmd/publish.sh +6 -0
- zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/local.py +60 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/.gitignore +1 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/README.md +79 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/pyproject.toml +36 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/requirements.txt +4 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__init__.py +2 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__main__.py +2 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/util.py +2 -0
- zrb/builtin/generator/project/create.py +12 -8
- zrb/builtin/generator/project_task/task_factory.py +167 -83
- zrb/builtin/generator/project_task/template/_automate/_project/build_project_images.py +1 -1
- zrb/builtin/generator/project_task/template/_automate/_project/deploy_project.py +1 -1
- zrb/builtin/generator/project_task/template/_automate/_project/destroy_project.py +1 -1
- zrb/builtin/generator/project_task/template/_automate/_project/push_project_images.py +1 -1
- zrb/builtin/generator/project_task/template/_automate/_project/remove_project_containers.py +1 -1
- zrb/builtin/generator/project_task/template/_automate/_project/start_project.py +1 -1
- zrb/builtin/generator/project_task/template/_automate/_project/start_project_containers.py +1 -1
- zrb/builtin/generator/project_task/template/_automate/_project/stop_project_containers.py +1 -1
- zrb/builtin/generator/python_task/add.py +14 -16
- zrb/builtin/generator/python_task/template/_automate/snake_zrb_task_name.py +1 -1
- zrb/builtin/generator/simple_python_app/add.py +95 -99
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/cmd/app-activate-venv.sh +7 -0
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/cmd/app-start.sh +6 -0
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/cmd/pulumi-destroy.sh +0 -1
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/cmd/pulumi-init-stack.sh +1 -0
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/cmd/pulumi-up.sh +0 -1
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/container.py +1 -1
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/deployment.py +9 -3
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/image.py +1 -1
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/local.py +5 -2
- zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/deployment/requirements.txt +2 -2
- zrb/builtin/git.py +1 -1
- zrb/builtin/{_group.py → group.py} +2 -5
- zrb/builtin/md5.py +1 -1
- zrb/builtin/project.py +1 -1
- zrb/builtin/ubuntu.py +1 -1
- zrb/config/config.py +8 -6
- zrb/helper/accessories/color.py +5 -1
- zrb/helper/accessories/icon.py +2 -0
- zrb/helper/accessories/name.py +2 -0
- zrb/helper/advertisement.py +1 -0
- zrb/helper/cli.py +5 -1
- zrb/helper/codemod/add_argument_to_function.py +3 -0
- zrb/helper/codemod/add_argument_to_function_call.py +3 -0
- zrb/helper/codemod/add_assert_resource.py +2 -0
- zrb/helper/codemod/add_function_call.py +2 -0
- zrb/helper/codemod/add_import_module.py +3 -0
- zrb/helper/codemod/add_key_value_to_dict.py +2 -0
- zrb/helper/codemod/add_property_to_class.py +3 -0
- zrb/helper/codemod/add_upstream_to_task.py +3 -0
- zrb/helper/codemod/append_code_to_function.py +3 -0
- zrb/helper/codemod/format_code.py +2 -0
- zrb/helper/default_env.py +2 -0
- zrb/helper/docker_compose/fetch_external_env.py +3 -0
- zrb/helper/docker_compose/file.py +4 -0
- zrb/helper/env_map/fetch.py +7 -0
- zrb/helper/file/text.py +6 -0
- zrb/helper/git/detect_changes.py +4 -0
- zrb/helper/loader/load_module.py +2 -0
- zrb/helper/map/conversion.py +2 -0
- zrb/helper/string/conversion.py +5 -0
- zrb/helper/string/double_quote.py +6 -2
- zrb/helper/string/jinja.py +2 -0
- zrb/helper/string/parse_replacement.py +2 -0
- zrb/helper/util.py +13 -0
- zrb/task/any_task.py +2 -2
- zrb/task/base_task.py +16 -16
- zrb/task/base_task_composite.py +12 -9
- zrb/task/cmd_task.py +23 -12
- zrb/task/decorator.py +2 -2
- zrb/task/docker_compose_task.py +5 -5
- zrb/task/flow_task.py +5 -5
- zrb/task/http_checker.py +2 -2
- zrb/task/path_checker.py +2 -2
- zrb/task/port_checker.py +2 -2
- zrb/task/resource_maker.py +3 -5
- zrb/task_input/any_input.py +23 -0
- zrb/task_input/base_input.py +46 -43
- zrb/task_input/float_input.py +0 -1
- {zrb-0.0.85.dist-info → zrb-0.0.87.dist-info}/METADATA +16 -17
- {zrb-0.0.85.dist-info → zrb-0.0.87.dist-info}/RECORD +175 -122
- zrb/builtin/generator/_common/helper.py +0 -79
- zrb/builtin/generator/fastapp_crud/add_navigation.py +0 -32
- zrb/builtin/principle.py +0 -66
- /zrb/builtin/generator/{_common → app_generator}/__init__.py +0 -0
- /zrb/{config.toml → builtin/generator/app_generator/template/_automate/snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/__init__.py} +0 -0
- /zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/{build-frontend.sh → app-build-frontend.sh} +0 -0
- /zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/{test.sh → app-test.sh} +0 -0
- /zrb/builtin/generator/{fastapp/template/_automate/snake_zrb_app_name/cmd/prepare-backend.sh → pip_package/template/_automate/snake_zrb_package_name/cmd/prepare-venv.sh} +0 -0
- /zrb/task_input/{_constant.py → constant.py} +0 -0
- /zrb/task_input/{input.py → task_input.py} +0 -0
- {zrb-0.0.85.dist-info → zrb-0.0.87.dist-info}/LICENSE +0 -0
- {zrb-0.0.85.dist-info → zrb-0.0.87.dist-info}/WHEEL +0 -0
- {zrb-0.0.85.dist-info → zrb-0.0.87.dist-info}/entry_points.txt +0 -0
zrb/task/flow_task.py
CHANGED
@@ -7,7 +7,7 @@ from .cmd_task import CmdTask
|
|
7
7
|
from ..task_env.env import Env
|
8
8
|
from ..task_env.env_file import EnvFile
|
9
9
|
from ..task_group.group import Group
|
10
|
-
from ..task_input.
|
10
|
+
from ..task_input.any_input import AnyInput
|
11
11
|
from ..helper.accessories.name import get_random_name
|
12
12
|
|
13
13
|
import copy
|
@@ -21,10 +21,10 @@ class FlowNode():
|
|
21
21
|
self,
|
22
22
|
name: str = '',
|
23
23
|
task: Optional[AnyTask] = None,
|
24
|
-
inputs: Iterable[
|
24
|
+
inputs: Iterable[AnyInput] = [],
|
25
25
|
envs: Iterable[Env] = [],
|
26
26
|
env_files: Iterable[EnvFile] = [],
|
27
|
-
upstreams: Iterable[
|
27
|
+
upstreams: Iterable[AnyTask] = [],
|
28
28
|
icon: Optional[str] = None,
|
29
29
|
color: Optional[str] = None,
|
30
30
|
cmd: Union[str, Iterable[str]] = '',
|
@@ -50,7 +50,7 @@ class FlowNode():
|
|
50
50
|
def to_task(
|
51
51
|
self,
|
52
52
|
upstreams: List[AnyTask] = [],
|
53
|
-
inputs: List[
|
53
|
+
inputs: List[AnyInput] = [],
|
54
54
|
envs: List[Env] = [],
|
55
55
|
env_files: List[EnvFile] = [],
|
56
56
|
):
|
@@ -103,7 +103,7 @@ class FlowTask(BaseTask):
|
|
103
103
|
self,
|
104
104
|
name: str,
|
105
105
|
group: Optional[Group] = None,
|
106
|
-
inputs: Iterable[
|
106
|
+
inputs: Iterable[AnyInput] = [],
|
107
107
|
envs: Iterable[Env] = [],
|
108
108
|
env_files: Iterable[EnvFile] = [],
|
109
109
|
icon: Optional[str] = None,
|
zrb/task/http_checker.py
CHANGED
@@ -6,7 +6,7 @@ from .any_task import AnyTask
|
|
6
6
|
from ..task_env.env import Env
|
7
7
|
from ..task_env.env_file import EnvFile
|
8
8
|
from ..task_group.group import Group
|
9
|
-
from ..task_input.
|
9
|
+
from ..task_input.any_input import AnyInput
|
10
10
|
|
11
11
|
import asyncio
|
12
12
|
|
@@ -18,7 +18,7 @@ class HTTPChecker(BaseTask):
|
|
18
18
|
self,
|
19
19
|
name: str = 'http-check',
|
20
20
|
group: Optional[Group] = None,
|
21
|
-
inputs: Iterable[
|
21
|
+
inputs: Iterable[AnyInput] = [],
|
22
22
|
envs: Iterable[Env] = [],
|
23
23
|
env_files: Iterable[EnvFile] = [],
|
24
24
|
icon: Optional[str] = None,
|
zrb/task/path_checker.py
CHANGED
@@ -5,7 +5,7 @@ from .any_task import AnyTask
|
|
5
5
|
from ..task_env.env import Env
|
6
6
|
from ..task_env.env_file import EnvFile
|
7
7
|
from ..task_group.group import Group
|
8
|
-
from ..task_input.
|
8
|
+
from ..task_input.any_input import AnyInput
|
9
9
|
|
10
10
|
import asyncio
|
11
11
|
import os
|
@@ -18,7 +18,7 @@ class PathChecker(BaseTask):
|
|
18
18
|
self,
|
19
19
|
name: str = 'path-check',
|
20
20
|
group: Optional[Group] = None,
|
21
|
-
inputs: Iterable[
|
21
|
+
inputs: Iterable[AnyInput] = [],
|
22
22
|
envs: Iterable[Env] = [],
|
23
23
|
env_files: Iterable[EnvFile] = [],
|
24
24
|
icon: Optional[str] = None,
|
zrb/task/port_checker.py
CHANGED
@@ -5,7 +5,7 @@ from .any_task import AnyTask
|
|
5
5
|
from ..task_env.env import Env
|
6
6
|
from ..task_env.env_file import EnvFile
|
7
7
|
from ..task_group.group import Group
|
8
|
-
from ..task_input.
|
8
|
+
from ..task_input.any_input import AnyInput
|
9
9
|
|
10
10
|
import socket
|
11
11
|
import asyncio
|
@@ -18,7 +18,7 @@ class PortChecker(BaseTask):
|
|
18
18
|
self,
|
19
19
|
name: str = 'port-check',
|
20
20
|
group: Optional[Group] = None,
|
21
|
-
inputs: Iterable[
|
21
|
+
inputs: Iterable[AnyInput] = [],
|
22
22
|
envs: Iterable[Env] = [],
|
23
23
|
env_files: Iterable[EnvFile] = [],
|
24
24
|
icon: Optional[str] = None,
|
zrb/task/resource_maker.py
CHANGED
@@ -5,18 +5,16 @@ from .any_task import AnyTask
|
|
5
5
|
from ..task_env.env import Env
|
6
6
|
from ..task_env.env_file import EnvFile
|
7
7
|
from ..task_group.group import Group
|
8
|
-
from ..task_input.
|
8
|
+
from ..task_input.any_input import AnyInput
|
9
9
|
from ..helper.file.copy_tree import copy_tree
|
10
10
|
from ..helper.util import (
|
11
11
|
to_camel_case, to_pascal_case, to_kebab_case, to_snake_case,
|
12
12
|
to_human_readable, to_capitalized_human_readable
|
13
13
|
)
|
14
14
|
|
15
|
-
import os
|
16
|
-
|
17
15
|
Replacement = Mapping[str, str]
|
18
16
|
ReplacementMutator = Callable[
|
19
|
-
[
|
17
|
+
[AnyTask, Replacement],
|
20
18
|
Replacement
|
21
19
|
]
|
22
20
|
|
@@ -33,7 +31,7 @@ class ResourceMaker(BaseTask):
|
|
33
31
|
replacement_mutator: Optional[ReplacementMutator] = None,
|
34
32
|
excludes: Iterable[str] = [],
|
35
33
|
group: Optional[Group] = None,
|
36
|
-
inputs: Iterable[
|
34
|
+
inputs: Iterable[AnyInput] = [],
|
37
35
|
envs: Iterable[Env] = [],
|
38
36
|
env_files: Iterable[EnvFile] = [],
|
39
37
|
icon: Optional[str] = None,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from typing import Any, List, Mapping
|
2
|
+
from abc import ABC, abstractmethod
|
3
|
+
|
4
|
+
|
5
|
+
class AnyInput(ABC):
|
6
|
+
'''
|
7
|
+
Task Input specification
|
8
|
+
'''
|
9
|
+
@abstractmethod
|
10
|
+
def get_name(self) -> str:
|
11
|
+
pass
|
12
|
+
|
13
|
+
@abstractmethod
|
14
|
+
def get_default(self) -> Any:
|
15
|
+
pass
|
16
|
+
|
17
|
+
@abstractmethod
|
18
|
+
def get_param_decl(self) -> List[str]:
|
19
|
+
pass
|
20
|
+
|
21
|
+
@abstractmethod
|
22
|
+
def get_options(self) -> Mapping[str, Any]:
|
23
|
+
pass
|
zrb/task_input/base_input.py
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
from typing import Any, List, Mapping, Optional, Union
|
2
2
|
from typeguard import typechecked
|
3
|
-
from .
|
3
|
+
from .any_input import AnyInput
|
4
|
+
from .constant import RESERVED_INPUT_NAMES
|
4
5
|
from ..config.config import show_prompt
|
5
|
-
from ..helper.string.jinja import is_probably_jinja
|
6
6
|
|
7
7
|
|
8
8
|
@typechecked
|
9
|
-
class BaseInput():
|
9
|
+
class BaseInput(AnyInput):
|
10
10
|
|
11
11
|
def __init__(
|
12
12
|
self,
|
@@ -32,54 +32,57 @@ class BaseInput():
|
|
32
32
|
):
|
33
33
|
if name in RESERVED_INPUT_NAMES:
|
34
34
|
raise ValueError(f'Forbidden input name: {name}')
|
35
|
-
self.
|
36
|
-
self.
|
37
|
-
self.
|
38
|
-
self.
|
39
|
-
self.
|
40
|
-
self.
|
41
|
-
self.
|
42
|
-
self.
|
43
|
-
self.
|
44
|
-
self.
|
45
|
-
self.
|
46
|
-
self.
|
47
|
-
self.
|
48
|
-
self.
|
49
|
-
self.
|
50
|
-
self.
|
51
|
-
self.
|
52
|
-
self.
|
53
|
-
self.
|
35
|
+
self._name = name
|
36
|
+
self._shortcut = shortcut
|
37
|
+
self._prompt = prompt
|
38
|
+
self._default = default
|
39
|
+
self._help = description if description is not None else name
|
40
|
+
self._type = type
|
41
|
+
self._show_default = show_default
|
42
|
+
self._confirmation_prompt = confirmation_prompt
|
43
|
+
self._prompt_required = prompt_required
|
44
|
+
self._hide_input = hide_input
|
45
|
+
self._is_flag = is_flag
|
46
|
+
self._flag_value = flag_value
|
47
|
+
self._multiple = multiple
|
48
|
+
self._count = count
|
49
|
+
self._allow_from_autoenv = allow_from_autoenv
|
50
|
+
self._hidden = hidden
|
51
|
+
self._show_choices = show_choices
|
52
|
+
self._show_envvar = show_envvar
|
53
|
+
self._nargs = nargs
|
54
54
|
|
55
55
|
def get_name(self) -> str:
|
56
|
-
return self.
|
56
|
+
return self._name
|
57
|
+
|
58
|
+
def get_default(self) -> Any:
|
59
|
+
return self._default
|
57
60
|
|
58
61
|
def get_param_decl(self) -> List[str]:
|
59
|
-
param_decl: List[str] = [f'--{self.
|
60
|
-
if self.
|
61
|
-
param_decl.append(f'-{self.
|
62
|
+
param_decl: List[str] = [f'--{self._name}']
|
63
|
+
if self._shortcut is not None:
|
64
|
+
param_decl.append(f'-{self._shortcut}')
|
62
65
|
return param_decl
|
63
66
|
|
64
67
|
def get_options(self) -> Mapping[str, Any]:
|
65
68
|
options: Mapping[str, Any] = {
|
66
|
-
'default': self.
|
67
|
-
'help': self.
|
68
|
-
'type': self.
|
69
|
-
'show_default': self.
|
70
|
-
'confirmation_prompt': self.
|
71
|
-
'prompt_required': self.
|
72
|
-
'hide_input': self.
|
73
|
-
'is_flag': self.
|
74
|
-
'flag_value': self.
|
75
|
-
'multiple': self.
|
76
|
-
'count': self.
|
77
|
-
'allow_from_autoenv': self.
|
78
|
-
'hidden': self.
|
79
|
-
'show_choices': self.
|
80
|
-
'show_envvar': self.
|
81
|
-
'nargs': self.
|
69
|
+
'default': self._default,
|
70
|
+
'help': self._help,
|
71
|
+
'type': self._type,
|
72
|
+
'show_default': self._show_default,
|
73
|
+
'confirmation_prompt': self._confirmation_prompt,
|
74
|
+
'prompt_required': self._prompt_required,
|
75
|
+
'hide_input': self._hide_input,
|
76
|
+
'is_flag': self._is_flag,
|
77
|
+
'flag_value': self._flag_value,
|
78
|
+
'multiple': self._multiple,
|
79
|
+
'count': self._count,
|
80
|
+
'allow_from_autoenv': self._allow_from_autoenv,
|
81
|
+
'hidden': self._hidden,
|
82
|
+
'show_choices': self._show_choices,
|
83
|
+
'show_envvar': self._show_envvar,
|
84
|
+
'nargs': self._nargs
|
82
85
|
}
|
83
86
|
if show_prompt:
|
84
|
-
options['prompt'] = self.
|
87
|
+
options['prompt'] = self._prompt
|
85
88
|
return options
|
zrb/task_input/float_input.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.87
|
4
4
|
Summary: Super framework for your super app
|
5
5
|
Author-email: Go Frendi Gunawan <gofrendiasgard@gmail.com>
|
6
6
|
Requires-Python: >=3.8
|
@@ -8,22 +8,21 @@ Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
9
|
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
|
10
10
|
Classifier: Operating System :: OS Independent
|
11
|
-
Requires-Dist: click
|
12
|
-
Requires-Dist: aiofiles
|
13
|
-
Requires-Dist: typeguard
|
14
|
-
Requires-Dist: termcolor
|
15
|
-
Requires-Dist: Jinja2
|
16
|
-
Requires-Dist: libcst
|
17
|
-
Requires-Dist: python-dotenv
|
18
|
-
Requires-Dist: jsons
|
19
|
-
Requires-Dist: ruamel.yaml
|
20
|
-
Requires-Dist: setuptools
|
21
|
-
Requires-Dist: autopep8
|
22
|
-
Requires-Dist: flake8
|
23
|
-
Requires-Dist: pytest
|
24
|
-
Requires-Dist: pytest-cov
|
25
|
-
Requires-Dist: pytest-
|
26
|
-
Requires-Dist: pytest-asyncio==0.21.0 ; extra == "test"
|
11
|
+
Requires-Dist: click ~= 8.1.4
|
12
|
+
Requires-Dist: aiofiles ~= 23.1.0
|
13
|
+
Requires-Dist: typeguard ~= 2.13.3
|
14
|
+
Requires-Dist: termcolor ~= 2.3.0
|
15
|
+
Requires-Dist: Jinja2 ~= 3.1.2
|
16
|
+
Requires-Dist: libcst ~= 0.4.9
|
17
|
+
Requires-Dist: python-dotenv ~= 1.0.0
|
18
|
+
Requires-Dist: jsons ~= 1.6.3
|
19
|
+
Requires-Dist: ruamel.yaml ~= 0.17.32
|
20
|
+
Requires-Dist: setuptools ~= 68.0.0
|
21
|
+
Requires-Dist: autopep8 ~= 2.0.2
|
22
|
+
Requires-Dist: flake8 ~= 6.0.0 ; extra == "dev"
|
23
|
+
Requires-Dist: pytest ~= 7.4.0 ; extra == "test"
|
24
|
+
Requires-Dist: pytest-cov ~= 4.1.0 ; extra == "test"
|
25
|
+
Requires-Dist: pytest-asyncio ~= 0.21.0 ; extra == "test"
|
27
26
|
Project-URL: Bug Tracker, https://github.com/state-alchemists/zrb/issues
|
28
27
|
Project-URL: Homepage, https://github.com/state-alchemists/zrb
|
29
28
|
Provides-Extra: dev
|