zrb 0.23.4__py3-none-any.whl → 0.24.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 (98) hide show
  1. zrb/__init__.py +2 -0
  2. zrb/builtin/devtool/install/_input.py +2 -2
  3. 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 +5 -6
  4. zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/start.py +5 -6
  5. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/_helper.py +1 -52
  6. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/microservices/start.py +5 -6
  7. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/monolith/start.py +5 -6
  8. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/start.py +4 -6
  9. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/loadtest/locustfile.py +1 -3
  10. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/loadtest/template.env +1 -1
  11. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/config.py +59 -61
  12. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/app/app.py +28 -28
  13. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/app/app_lifespan.py +15 -15
  14. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/app/app_state.py +2 -2
  15. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/db_connection.py +14 -2
  16. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/frontend_index.py +2 -2
  17. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/log.py +6 -6
  18. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/messagebus.py +33 -33
  19. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/integration/rpc.py +9 -9
  20. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/access_token_scheme.py +2 -2
  21. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/access_token_util.py +7 -7
  22. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/model/user_model.py +6 -6
  23. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/refresh_token_util.py +7 -7
  24. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/integration/user.py +18 -18
  25. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/migrate.py +2 -2
  26. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/auth/register_module.py +8 -8
  27. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/log/migrate.py +2 -2
  28. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/module/log/register_module.py +8 -8
  29. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/src/template.env +5 -2
  30. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_group_crud.py +7 -7
  31. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_permission_crud.py +7 -7
  32. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_user_crud.py +7 -7
  33. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/auth/test_user_login.py +14 -14
  34. zrb/builtin/project/add/fastapp/app/template/src/kebab-zrb-app-name/test/test_liveness_and_readiness.py +3 -3
  35. zrb/builtin/project/add/fastapp/crud/_helper/__init__.py +7 -0
  36. zrb/builtin/project/add/fastapp/crud/_helper/_common.py +8 -0
  37. zrb/builtin/project/add/fastapp/crud/_helper/register_api.py +45 -0
  38. zrb/builtin/project/add/fastapp/crud/_helper/register_permission.py +40 -0
  39. zrb/builtin/project/add/fastapp/crud/_helper/register_rpc.py +45 -0
  40. zrb/builtin/project/add/fastapp/crud/crud.py +3 -24
  41. zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/repo.py +12 -1
  42. zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/schema/snake_zrb_entity_name.py +1 -0
  43. zrb/builtin/project/add/fastapp/crud/template/src/kebab-zrb-app-name/test/snake_zrb_module_name/test_snake_zrb_entity_name.py +8 -7
  44. zrb/builtin/project/add/fastapp/field/_helper/__init__.py +17 -0
  45. zrb/builtin/project/add/fastapp/field/_helper/_common.py +102 -0
  46. zrb/builtin/project/add/fastapp/field/_helper/inject_delete_page.py +49 -0
  47. zrb/builtin/project/add/fastapp/field/_helper/inject_detail_page.py +49 -0
  48. zrb/builtin/project/add/fastapp/field/_helper/inject_insert_page.py +62 -0
  49. zrb/builtin/project/add/fastapp/field/_helper/inject_list_page.py +47 -0
  50. zrb/builtin/project/add/fastapp/field/_helper/inject_repo.py +47 -0
  51. zrb/builtin/project/add/fastapp/field/_helper/inject_schema.py +45 -0
  52. zrb/builtin/project/add/fastapp/field/_helper/inject_test.py +49 -0
  53. zrb/builtin/project/add/fastapp/field/_helper/inject_update_page.py +50 -0
  54. zrb/builtin/project/add/fastapp/field/_input.py +14 -2
  55. zrb/builtin/project/add/fastapp/field/field.py +51 -69
  56. zrb/builtin/project/add/fastapp/module/_helper/__init__.py +17 -0
  57. zrb/builtin/project/add/fastapp/module/_helper/append_all_disabled_env.py +22 -0
  58. zrb/builtin/project/add/fastapp/module/_helper/append_all_enabled_env.py +22 -0
  59. zrb/builtin/project/add/fastapp/module/_helper/append_deployment_template_env.py +25 -0
  60. zrb/builtin/project/add/fastapp/module/_helper/append_src_template_env.py +25 -0
  61. zrb/builtin/project/add/fastapp/module/_helper/create_app_config.py +29 -0
  62. zrb/builtin/project/add/fastapp/module/_helper/create_microservice_config.py +158 -0
  63. zrb/builtin/project/add/fastapp/module/_helper/register_migration.py +35 -0
  64. zrb/builtin/project/add/fastapp/module/_helper/register_module.py +33 -0
  65. zrb/builtin/project/add/fastapp/module/module.py +8 -37
  66. zrb/builtin/project/add/fastapp/module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/migrate.py +2 -2
  67. zrb/builtin/project/add/fastapp/module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/register_module.py +8 -8
  68. zrb/builtin/project/add/plugin/plugin.py +2 -2
  69. zrb/builtin/project/create/create.py +2 -2
  70. zrb/builtin/version.py +3 -3
  71. zrb/config/config.py +14 -14
  72. zrb/helper/callable.py +3 -1
  73. zrb/helper/cli.py +4 -4
  74. zrb/helper/log.py +3 -3
  75. zrb/helper/typecheck.py +2 -2
  76. zrb/helper/typing.py +2 -2
  77. zrb/helper/util.py +12 -0
  78. zrb/runner.py +2 -2
  79. zrb/task/base_task/base_task.py +3 -3
  80. zrb/task/base_task/component/base_task_model.py +9 -9
  81. zrb/task/cmd_task.py +4 -4
  82. zrb/task/docker_compose_start_task.py +151 -0
  83. zrb/task/docker_compose_task.py +32 -15
  84. zrb/task_input/base_input.py +2 -2
  85. zrb/task_input/multiline_input.py +2 -2
  86. {zrb-0.23.4.dist-info → zrb-0.24.0.dist-info}/METADATA +2 -2
  87. {zrb-0.23.4.dist-info → zrb-0.24.0.dist-info}/RECORD +90 -73
  88. 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 +0 -34
  89. zrb/builtin/project/add/app/python/template/_automate/snake_zrb_app_name/container/init.py +0 -34
  90. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/microservices/init.py +0 -36
  91. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/monolith/init.py +0 -36
  92. zrb/builtin/project/add/fastapp/app/template/_automate/snake_zrb_app_name/container/support/init.py +0 -26
  93. zrb/builtin/project/add/fastapp/crud/_helper.py +0 -118
  94. zrb/builtin/project/add/fastapp/field/_helper.py +0 -328
  95. zrb/builtin/project/add/fastapp/module/_helper.py +0 -313
  96. {zrb-0.23.4.dist-info → zrb-0.24.0.dist-info}/LICENSE +0 -0
  97. {zrb-0.23.4.dist-info → zrb-0.24.0.dist-info}/WHEEL +0 -0
  98. {zrb-0.23.4.dist-info → zrb-0.24.0.dist-info}/entry_points.txt +0 -0
@@ -4,7 +4,7 @@ import os
4
4
  import sys
5
5
  from functools import lru_cache
6
6
 
7
- from zrb.config.config import env_prefix, logging_level, show_time
7
+ from zrb.config.config import ENV_PREFIX, LOGGING_LEVEL, SHOW_TIME
8
8
  from zrb.helper.accessories.color import colored
9
9
  from zrb.helper.log import logger
10
10
  from zrb.helper.string.conversion import to_variable_name
@@ -118,35 +118,35 @@ class BaseTaskModel(CommonTaskModel, PidModel, TimeTracker):
118
118
  self.__kwargs = kwargs
119
119
 
120
120
  def log_debug(self, message: Any):
121
- if logging_level > logging.DEBUG:
121
+ if LOGGING_LEVEL > logging.DEBUG:
122
122
  return
123
123
  prefix = self.__get_log_prefix()
124
124
  colored_message = colored(f"{prefix} • {message}", attrs=["dark"])
125
125
  logger.debug(colored_message)
126
126
 
127
127
  def log_warn(self, message: Any):
128
- if logging_level > logging.WARNING:
128
+ if LOGGING_LEVEL > logging.WARNING:
129
129
  return
130
130
  prefix = self.__get_log_prefix()
131
131
  colored_message = colored(f"{prefix} • {message}", attrs=["dark"])
132
132
  logger.warning(colored_message)
133
133
 
134
134
  def log_info(self, message: Any):
135
- if logging_level > logging.INFO:
135
+ if LOGGING_LEVEL > logging.INFO:
136
136
  return
137
137
  prefix = self.__get_log_prefix()
138
138
  colored_message = colored(f"{prefix} • {message}", attrs=["dark"])
139
139
  logger.info(colored_message)
140
140
 
141
141
  def log_error(self, message: Any):
142
- if logging_level > logging.ERROR:
142
+ if LOGGING_LEVEL > logging.ERROR:
143
143
  return
144
144
  prefix = self.__get_log_prefix()
145
145
  colored_message = colored(f"{prefix} • {message}", color="red", attrs=["bold"])
146
146
  logger.error(colored_message, exc_info=True)
147
147
 
148
148
  def log_critical(self, message: Any):
149
- if logging_level > logging.CRITICAL:
149
+ if LOGGING_LEVEL > logging.CRITICAL:
150
150
  return
151
151
  prefix = self.__get_log_prefix()
152
152
  colored_message = colored(f"{prefix} • {message}", color="red", attrs=["bold"])
@@ -192,9 +192,9 @@ class BaseTaskModel(CommonTaskModel, PidModel, TimeTracker):
192
192
  self._play_bell()
193
193
 
194
194
  def _show_env_prefix(self):
195
- if env_prefix == "":
195
+ if ENV_PREFIX == "":
196
196
  return
197
- colored_env_prefix = colored(env_prefix, color="yellow")
197
+ colored_env_prefix = colored(ENV_PREFIX, color="yellow")
198
198
  colored_label = colored("Your current environment: ", attrs=["dark"])
199
199
  print(colored(f"{colored_label}{colored_env_prefix}"), file=sys.stderr)
200
200
 
@@ -225,7 +225,7 @@ class BaseTaskModel(CommonTaskModel, PidModel, TimeTracker):
225
225
  return colored(text, color=self.get_color())
226
226
 
227
227
  def __get_print_prefix(self) -> str:
228
- common_prefix = self.__get_common_prefix(show_time=show_time)
228
+ common_prefix = self.__get_common_prefix(show_time=SHOW_TIME)
229
229
  icon = self.get_icon()
230
230
  length = LOG_NAME_LENGTH - len(icon)
231
231
  rjust_cli_name = self.__get_rjust_full_cli_name(length)
zrb/task/cmd_task.py CHANGED
@@ -8,7 +8,7 @@ import subprocess
8
8
  import sys
9
9
  import time
10
10
 
11
- from zrb.config.config import default_shell, logging_level
11
+ from zrb.config.config import DEFAULT_SHELL, LOGGING_LEVEL
12
12
  from zrb.helper.accessories.color import colored
13
13
  from zrb.helper.log import logger
14
14
  from zrb.helper.typecheck import typechecked
@@ -57,7 +57,7 @@ def _reset_stty():
57
57
 
58
58
 
59
59
  def _log_error(message: Any):
60
- if logging_level > logging.ERROR:
60
+ if LOGGING_LEVEL > logging.ERROR:
61
61
  return
62
62
  colored_message = colored(f"{message}", color="red", attrs=["bold"])
63
63
  logger.error(colored_message, exc_info=True)
@@ -187,8 +187,8 @@ class CmdTask(BaseTask):
187
187
  self._max_error_size = max_error_line
188
188
  self._output_buffer: Iterable[str] = []
189
189
  self._error_buffer: Iterable[str] = []
190
- if executable is None and default_shell != "":
191
- executable = default_shell
190
+ if executable is None and DEFAULT_SHELL != "":
191
+ executable = DEFAULT_SHELL
192
192
  self._executable = executable
193
193
  self._process: Optional[asyncio.subprocess.Process]
194
194
  self._preexec_fn = preexec_fn
@@ -0,0 +1,151 @@
1
+ import os
2
+ import pathlib
3
+
4
+ from zrb.helper.accessories.color import colored
5
+ from zrb.helper.log import logger
6
+ from zrb.helper.typecheck import typechecked
7
+ from zrb.helper.typing import (
8
+ Any,
9
+ Callable,
10
+ Iterable,
11
+ JinjaTemplate,
12
+ Mapping,
13
+ Optional,
14
+ Union,
15
+ )
16
+ from zrb.task.any_task import AnyTask
17
+ from zrb.task.any_task_event_handler import (
18
+ OnFailed,
19
+ OnReady,
20
+ OnRetry,
21
+ OnSkipped,
22
+ OnStarted,
23
+ OnTriggered,
24
+ OnWaiting,
25
+ )
26
+ from zrb.task.cmd_task import CmdVal
27
+ from zrb.task.docker_compose_task import DockerComposeTask, ServiceConfig
28
+ from zrb.task_env.env import Env
29
+ from zrb.task_env.env_file import EnvFile
30
+ from zrb.task_group.group import Group
31
+ from zrb.task_input.any_input import AnyInput
32
+
33
+ logger.debug(colored("Loading zrb.task.docker_compose_task", attrs=["dark"]))
34
+
35
+
36
+ @typechecked
37
+ class DockerComposeStartTask(DockerComposeTask):
38
+ def __init__(
39
+ self,
40
+ name: str,
41
+ group: Optional[Group] = None,
42
+ inputs: Iterable[AnyInput] = [],
43
+ envs: Iterable[Env] = [],
44
+ env_files: Iterable[EnvFile] = [],
45
+ icon: Optional[str] = None,
46
+ color: Optional[str] = None,
47
+ description: str = "",
48
+ executable: Optional[str] = None,
49
+ compose_service_configs: Mapping[str, ServiceConfig] = {},
50
+ compose_file: Optional[str] = None,
51
+ compose_options: Mapping[JinjaTemplate, JinjaTemplate] = {},
52
+ compose_flags: Iterable[JinjaTemplate] = [],
53
+ compose_args: Iterable[JinjaTemplate] = [],
54
+ compose_env_prefix: str = "",
55
+ setup_cmd: CmdVal = "",
56
+ setup_cmd_path: CmdVal = "",
57
+ cwd: Optional[Union[JinjaTemplate, pathlib.Path]] = None,
58
+ should_render_cwd: bool = True,
59
+ upstreams: Iterable[AnyTask] = [],
60
+ fallbacks: Iterable[AnyTask] = [],
61
+ on_triggered: Optional[OnTriggered] = None,
62
+ on_waiting: Optional[OnWaiting] = None,
63
+ on_skipped: Optional[OnSkipped] = None,
64
+ on_started: Optional[OnStarted] = None,
65
+ on_ready: Optional[OnReady] = None,
66
+ on_retry: Optional[OnRetry] = None,
67
+ on_failed: Optional[OnFailed] = None,
68
+ checkers: Iterable[AnyTask] = [],
69
+ checking_interval: Union[float, int] = 0.05,
70
+ retry: int = 2,
71
+ retry_interval: Union[float, int] = 1,
72
+ max_output_line: int = 1000,
73
+ max_error_line: int = 1000,
74
+ preexec_fn: Optional[Callable[[], Any]] = os.setsid,
75
+ should_execute: Union[bool, str, Callable[..., bool]] = True,
76
+ return_upstream_result: bool = False,
77
+ should_print_cmd_result: bool = True,
78
+ should_show_cmd: bool = True,
79
+ should_show_working_directory: bool = True,
80
+ ):
81
+ DockerComposeTask.__init__(
82
+ self,
83
+ name=name,
84
+ group=group,
85
+ inputs=inputs,
86
+ envs=envs,
87
+ env_files=env_files,
88
+ icon=icon,
89
+ color=color,
90
+ description=description,
91
+ executable=executable,
92
+ compose_service_configs=compose_service_configs,
93
+ compose_file=compose_file,
94
+ compose_options=compose_options,
95
+ compose_flags=compose_flags,
96
+ compose_args=compose_args,
97
+ compose_env_prefix=compose_env_prefix,
98
+ setup_cmd=setup_cmd,
99
+ setup_cmd_path=setup_cmd_path,
100
+ cwd=cwd,
101
+ should_render_cwd=should_render_cwd,
102
+ upstreams=upstreams,
103
+ fallbacks=fallbacks,
104
+ on_triggered=on_triggered,
105
+ on_waiting=on_waiting,
106
+ on_skipped=on_skipped,
107
+ on_started=on_started,
108
+ on_ready=on_ready,
109
+ on_retry=on_retry,
110
+ on_failed=on_failed,
111
+ checkers=checkers,
112
+ checking_interval=checking_interval,
113
+ retry=retry,
114
+ retry_interval=retry_interval,
115
+ max_output_line=max_output_line,
116
+ max_error_line=max_error_line,
117
+ preexec_fn=preexec_fn,
118
+ should_execute=should_execute,
119
+ return_upstream_result=return_upstream_result,
120
+ should_print_cmd_result=should_print_cmd_result,
121
+ should_show_cmd=should_show_cmd,
122
+ should_show_working_directory=should_show_working_directory,
123
+ )
124
+
125
+ def get_cmd_script(self, *args: Any, **kwargs: Any) -> str:
126
+ cmd_str = "\n".join(
127
+ [
128
+ # setup
129
+ self._create_cmd_script(
130
+ self._setup_cmd_path, self._setup_cmd, *args, **kwargs
131
+ ),
132
+ # compose start
133
+ self._get_docker_compose_cmd_script(
134
+ compose_cmd="up",
135
+ compose_options=self._compose_options,
136
+ compose_flags=list(self._compose_flags) + ["-d"],
137
+ compose_args=self._compose_args,
138
+ *args,
139
+ ),
140
+ # compose log
141
+ self._get_docker_compose_cmd_script(
142
+ compose_cmd="logs",
143
+ compose_options={},
144
+ compose_flags=["-f"],
145
+ compose_args=[],
146
+ *args,
147
+ ),
148
+ ]
149
+ )
150
+ self.log_info(f"Command: {cmd_str}")
151
+ return cmd_str
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import pathlib
3
3
 
4
- from zrb.config.config import container_backend
4
+ from zrb.config.config import CONTAINER_BACKEND
5
5
  from zrb.helper.accessories.color import colored
6
6
  from zrb.helper.accessories.name import get_random_name
7
7
  from zrb.helper.docker_compose.fetch_external_env import fetch_compose_file_env_map
@@ -66,7 +66,7 @@ def _get_ensure_zrb_network_task(backend: str):
66
66
 
67
67
 
68
68
  TDockerComposeTask = TypeVar("TDockerComposeTask", bound="DockerComposeTask")
69
- ensure_zrb_network_task = _get_ensure_zrb_network_task(container_backend)
69
+ ensure_zrb_network_task = _get_ensure_zrb_network_task(CONTAINER_BACKEND)
70
70
 
71
71
 
72
72
  @typechecked
@@ -341,10 +341,34 @@ class DockerComposeTask(CmdTask):
341
341
  raise Exception(f"Invalid compose file: {compose_file}")
342
342
 
343
343
  def get_cmd_script(self, *args: Any, **kwargs: Any) -> str:
344
- setup_cmd_str = self._create_cmd_script(
345
- self._setup_cmd_path, self._setup_cmd, *args, **kwargs
344
+ cmd_str = "\n".join(
345
+ [
346
+ # setup
347
+ self._create_cmd_script(
348
+ self._setup_cmd_path, self._setup_cmd, *args, **kwargs
349
+ ),
350
+ # compose
351
+ self._get_docker_compose_cmd_script(
352
+ compose_cmd=self._compose_cmd,
353
+ compose_options=self._compose_options,
354
+ compose_flags=self._compose_flags,
355
+ compose_args=self._compose_args,
356
+ *args,
357
+ ),
358
+ ]
346
359
  )
347
- command_options = dict(self._compose_options)
360
+ self.log_info(f"Command: {cmd_str}")
361
+ return cmd_str
362
+
363
+ def _get_docker_compose_cmd_script(
364
+ self,
365
+ compose_cmd: str,
366
+ compose_options: Mapping[JinjaTemplate, JinjaTemplate],
367
+ compose_flags: Iterable[JinjaTemplate],
368
+ compose_args: Iterable[JinjaTemplate],
369
+ *args: Any,
370
+ ) -> str:
371
+ command_options = dict(compose_options)
348
372
  command_options["--file"] = self._compose_runtime_file
349
373
  options = " ".join(
350
374
  [
@@ -356,22 +380,15 @@ class DockerComposeTask(CmdTask):
356
380
  flags = " ".join(
357
381
  [
358
382
  self.render_str(flag)
359
- for flag in self._compose_flags
383
+ for flag in compose_flags
360
384
  if self.render_str(flag) != ""
361
385
  ]
362
386
  )
363
387
  args = " ".join(
364
388
  [
365
389
  double_quote(self.render_str(arg))
366
- for arg in self._compose_args
390
+ for arg in compose_args
367
391
  if self.render_str(arg) != ""
368
392
  ]
369
393
  )
370
- cmd_str = "\n".join(
371
- [
372
- setup_cmd_str,
373
- f"{container_backend} compose {options} {self._compose_cmd} {flags} {args}", # noqa
374
- ]
375
- )
376
- self.log_info(f"Command: {cmd_str}")
377
- return cmd_str
394
+ return f"{CONTAINER_BACKEND} compose {options} {compose_cmd} {flags} {args}"
@@ -1,4 +1,4 @@
1
- from zrb.config.config import show_prompt
1
+ from zrb.config.config import SHOW_PROMPT
2
2
  from zrb.helper.accessories.color import colored
3
3
  from zrb.helper.log import logger
4
4
  from zrb.helper.string.conversion import to_variable_name
@@ -141,7 +141,7 @@ class BaseInput(AnyInput):
141
141
  "callback": self._wrapped_callback,
142
142
  "default": self._wrapped_default,
143
143
  }
144
- if show_prompt:
144
+ if SHOW_PROMPT:
145
145
  options["prompt"] = self._prompt
146
146
  return options
147
147
 
@@ -1,4 +1,4 @@
1
- from zrb.config.config import default_editor
1
+ from zrb.config.config import DEFAULT_EDITOR
2
2
  from zrb.helper.accessories.color import colored
3
3
  from zrb.helper.log import logger
4
4
  from zrb.helper.multiline import edit
@@ -56,7 +56,7 @@ class MultilineInput(BaseInput):
56
56
  shortcut: Optional[str] = None,
57
57
  comment_prefix: str = "//",
58
58
  comment_suffix: str = "",
59
- editor: str = default_editor,
59
+ editor: str = DEFAULT_EDITOR,
60
60
  extension: str = "txt",
61
61
  default: Optional[Union[Any, InputDefault]] = None,
62
62
  callback: Optional[InputCallback] = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zrb
3
- Version: 0.23.4
3
+ Version: 0.24.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
@@ -257,7 +257,7 @@ zrb project add fastapp crud --project-dir . --app-name "fastapp" --module-name
257
257
 
258
258
  # Add column to the entity
259
259
  zrb project add fastapp field --project-dir . --app-name "fastapp" --module-name "library" \
260
- --entity-name "book" --column-name "title" --column-type "str"
260
+ --entity-name "book" --column-name "title" --column-type "string"
261
261
 
262
262
  # Run Fastapp as monolith
263
263
  zrb project fastapp monolith start