zrb 0.6.0__py3-none-any.whl → 0.6.1__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 (316) hide show
  1. zrb/__init__.py +24 -20
  2. zrb/__main__.py +5 -5
  3. zrb/action/runner.py +22 -30
  4. zrb/advertisement.py +10 -9
  5. zrb/builtin/__init__.py +18 -16
  6. zrb/builtin/base64.py +13 -18
  7. zrb/builtin/devtool/__init__.py +14 -3
  8. zrb/builtin/devtool/devtool_install.py +207 -221
  9. zrb/builtin/env.py +9 -12
  10. zrb/builtin/eval.py +9 -9
  11. zrb/builtin/explain.py +73 -74
  12. zrb/builtin/generator/__init__.py +7 -11
  13. zrb/builtin/generator/app_generator/add.py +86 -87
  14. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/add.py +78 -77
  15. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_checker.py +6 -6
  16. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_common.py +14 -15
  17. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/container.py +32 -32
  18. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/deployment.py +29 -30
  19. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/image.py +1 -3
  20. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +5 -4
  21. zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/__main__.py +24 -32
  22. zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/add.py +89 -87
  23. zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_common.py +14 -15
  24. zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/container.py +42 -54
  25. zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/deployment.py +34 -32
  26. zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/image.py +19 -22
  27. zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +18 -18
  28. zrb/builtin/generator/app_generator/template/http-port/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_checker.py +10 -10
  29. zrb/builtin/generator/app_generator/template/http-port-build-custom-image/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +19 -19
  30. zrb/builtin/generator/app_generator/template/use-helm/_automate/generate_snake_zrb_meta_template_name/template/src/kebab-zrb-app-name/deployment/__main__.py +12 -14
  31. zrb/builtin/generator/cmd_task/add.py +23 -25
  32. zrb/builtin/generator/cmd_task/template/_automate/snake_zrb_task_name.py +3 -5
  33. zrb/builtin/generator/common/helper.py +15 -20
  34. zrb/builtin/generator/common/task_factory.py +29 -26
  35. zrb/builtin/generator/common/task_input.py +97 -91
  36. zrb/builtin/generator/docker_compose_task/add.py +38 -39
  37. zrb/builtin/generator/docker_compose_task/template/_automate/snake_zrb_task_name.py +13 -19
  38. zrb/builtin/generator/docker_compose_task/template/src/kebab-zrb-task-name/image/main.py +18 -14
  39. zrb/builtin/generator/fastapp/add.py +94 -90
  40. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_checker.py +28 -27
  41. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_config.py +68 -39
  42. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_env.py +24 -22
  43. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_env_file.py +12 -12
  44. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_get_start_microservices.py +43 -41
  45. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_helper.py +23 -24
  46. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_input.py +21 -20
  47. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-load-test.sh +1 -1
  48. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-start.sh +1 -1
  49. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-test.sh +2 -2
  50. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/container.py +46 -39
  51. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/deployment.py +28 -20
  52. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/frontend.py +21 -27
  53. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/image.py +23 -18
  54. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/load_test.py +35 -36
  55. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/local.py +68 -58
  56. zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/test.py +24 -38
  57. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/__main__.py +23 -21
  58. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/_common.py +72 -75
  59. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/app_helper.py +70 -75
  60. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_postgresql_helper.py +18 -21
  61. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_rabbitmq_helper.py +11 -19
  62. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_redpanda_helper.py +18 -15
  63. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_signoz_helper.py +17 -21
  64. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/docker-compose.yml +12 -12
  65. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/loadtest/locustfile.py +10 -12
  66. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/Dockerfile +1 -0
  67. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app.py +35 -30
  68. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app_lifespan.py +21 -17
  69. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app_state.py +3 -2
  70. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/db_connection.py +18 -20
  71. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/frontend_index.py +5 -6
  72. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/log.py +7 -15
  73. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/messagebus.py +38 -34
  74. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/rpc.py +19 -18
  75. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/config.py +68 -103
  76. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/error.py +11 -10
  77. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/__init__.py +2 -4
  78. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/admin.py +38 -35
  79. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/consumer.py +38 -45
  80. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/publisher.py +26 -29
  81. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/messagebus.py +8 -14
  82. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/mock.py +12 -8
  83. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/admin.py +37 -44
  84. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/consumer.py +42 -67
  85. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/publisher.py +32 -55
  86. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/model/repo_model.py +11 -10
  87. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/__init__.py +2 -2
  88. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/db_entity_mixin.py +3 -6
  89. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/db_repo.py +76 -83
  90. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/repo.py +5 -5
  91. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/search_filter.py +1 -0
  92. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/__init__.py +1 -1
  93. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/messagebus/caller.py +17 -19
  94. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/messagebus/server.py +14 -18
  95. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/rpc.py +15 -28
  96. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/schema/__init__.py +1 -1
  97. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/schema/base_schema.py +6 -5
  98. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/serializer/__init__.py +1 -3
  99. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/serializer/serializer.py +3 -4
  100. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/async_task.py +3 -5
  101. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/conversion.py +10 -10
  102. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/migration.py +6 -10
  103. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/migrate.py +3 -2
  104. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/api.py +7 -12
  105. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/__init__.py +4 -6
  106. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/access_token_scheme.py +9 -10
  107. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/access_token_util.py +6 -5
  108. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/authorizer.py +4 -4
  109. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/bearer_token_scheme.py +1 -1
  110. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/model/user_model.py +8 -10
  111. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/password_hasher.py +1 -1
  112. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/refresh_token_util.py +7 -6
  113. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/group_repo.py +3 -8
  114. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/permission_repo.py +3 -7
  115. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/user_repo.py +3 -5
  116. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/user.py +12 -7
  117. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/__init__.py +7 -12
  118. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/access_token/scheme.py +7 -12
  119. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/access_token/util.py +20 -30
  120. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/authorizer/authorizer.py +1 -3
  121. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/authorizer/rpc_authorizer.py +5 -12
  122. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/password_hasher/bcrypt_password_hasher.py +3 -8
  123. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/password_hasher/password_hasher.py +0 -1
  124. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/refresh_token/util.py +15 -21
  125. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/api.py +42 -49
  126. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/model.py +3 -7
  127. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/repo.py +18 -16
  128. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/rpc.py +26 -41
  129. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/api.py +46 -51
  130. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/model.py +5 -7
  131. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/repo.py +11 -8
  132. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/rpc.py +28 -45
  133. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/table.py +10 -10
  134. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/api.py +60 -72
  135. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/model.py +32 -61
  136. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/repo.py +33 -36
  137. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/rpc.py +42 -61
  138. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/event.py +2 -4
  139. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/migrate.py +3 -5
  140. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/register_module.py +11 -12
  141. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/register_permission.py +19 -26
  142. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/rpc.py +5 -13
  143. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/group.py +6 -4
  144. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/permission.py +3 -1
  145. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/request.py +1 -0
  146. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/token.py +2 -2
  147. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/user.py +4 -3
  148. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/api.py +4 -5
  149. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/component/model/activity_model.py +3 -9
  150. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/component/repo/activity_repo.py +3 -7
  151. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/core/historical_repo_model.py +13 -13
  152. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/api.py +22 -23
  153. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/event.py +5 -7
  154. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/model.py +2 -6
  155. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/repo.py +8 -8
  156. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/rpc.py +28 -45
  157. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/table.py +3 -3
  158. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/event.py +4 -8
  159. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/migrate.py +2 -4
  160. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/register_module.py +10 -11
  161. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/rpc.py +3 -5
  162. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/schema/activity.py +3 -1
  163. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/requirements.txt +12 -12
  164. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_group_crud.py +76 -106
  165. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_permission_crud.py +73 -103
  166. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_user_crud.py +92 -122
  167. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_user_login.py +107 -134
  168. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/conftest.py +2 -2
  169. zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/test_liveness_and_readiness.py +8 -15
  170. zrb/builtin/generator/fastapp_crud/add.py +74 -79
  171. zrb/builtin/generator/fastapp_crud/helper.py +51 -48
  172. zrb/builtin/generator/fastapp_crud/task_factory.py +17 -14
  173. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/component/model/snake_zrb_entity_name_model.py +2 -2
  174. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/component/repo/snake_zrb_entity_name_repo.py +3 -2
  175. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/api.py +58 -40
  176. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/model.py +7 -3
  177. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/repo.py +9 -4
  178. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/snake_zrb_entity_name/rpc.py +32 -39
  179. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/schema/snake_zrb_entity_name.py +3 -1
  180. zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/test/snake_zrb_module_name/test_snake_zrb_entity_name.py +68 -98
  181. zrb/builtin/generator/fastapp_field/add.py +143 -85
  182. zrb/builtin/generator/fastapp_field/helper.py +184 -125
  183. zrb/builtin/generator/fastapp_module/add.py +90 -67
  184. zrb/builtin/generator/fastapp_module/helper.py +141 -155
  185. zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/api.py +3 -2
  186. zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/table.py +3 -3
  187. zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/event.py +3 -5
  188. zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/migrate.py +2 -4
  189. zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/register_module.py +10 -11
  190. zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/rpc.py +3 -5
  191. zrb/builtin/generator/pip_package/add.py +39 -40
  192. zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/local.py +30 -30
  193. zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__init__.py +1 -0
  194. zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__main__.py +1 -0
  195. zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/util.py +2 -2
  196. zrb/builtin/generator/plugin/create.py +39 -36
  197. zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/__init__.py +1 -1
  198. zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/__main__.py +1 -0
  199. zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/task/example_task.py +6 -4
  200. zrb/builtin/generator/plugin/template/zrb_init.py +27 -27
  201. zrb/builtin/generator/project/create.py +38 -46
  202. zrb/builtin/generator/project/template/.flake8 +3 -0
  203. zrb/builtin/generator/project/template/project.sh +19 -10
  204. zrb/builtin/generator/project_task/task_factory.py +60 -61
  205. zrb/builtin/generator/project_task/template/_automate/_project/__init__.py +2 -2
  206. zrb/builtin/generator/project_task/template/_automate/_project/build_project_images.py +4 -4
  207. zrb/builtin/generator/project_task/template/_automate/_project/deploy_project.py +4 -4
  208. zrb/builtin/generator/project_task/template/_automate/_project/destroy_project.py +4 -4
  209. zrb/builtin/generator/project_task/template/_automate/_project/push_project_images.py +4 -4
  210. zrb/builtin/generator/project_task/template/_automate/_project/remove_project_containers.py +4 -4
  211. zrb/builtin/generator/project_task/template/_automate/_project/start_project.py +4 -4
  212. zrb/builtin/generator/project_task/template/_automate/_project/start_project_containers.py +4 -4
  213. zrb/builtin/generator/project_task/template/_automate/_project/stop_project_containers.py +4 -4
  214. zrb/builtin/generator/python_task/add.py +25 -33
  215. zrb/builtin/generator/python_task/template/_automate/snake_zrb_task_name.py +8 -7
  216. zrb/builtin/generator/simple_python_app/add.py +81 -75
  217. zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/_common.py +14 -15
  218. zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/container.py +46 -61
  219. zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/deployment.py +34 -32
  220. zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/image.py +19 -22
  221. zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/local.py +23 -25
  222. zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/deployment/__main__.py +24 -32
  223. zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/main.py +18 -14
  224. zrb/builtin/git.py +46 -46
  225. zrb/builtin/group.py +13 -34
  226. zrb/builtin/helper/reccuring_action.py +26 -29
  227. zrb/builtin/md5.py +17 -30
  228. zrb/builtin/process.py +19 -19
  229. zrb/builtin/project.py +13 -15
  230. zrb/builtin/say.py +69 -88
  231. zrb/builtin/schedule.py +15 -19
  232. zrb/builtin/ubuntu.py +44 -35
  233. zrb/builtin/update.py +5 -5
  234. zrb/builtin/version.py +3 -7
  235. zrb/builtin/watch_changes.py +24 -25
  236. zrb/config/config.py +19 -18
  237. zrb/helper/accessories/color.py +18 -6
  238. zrb/helper/accessories/icon.py +24 -3
  239. zrb/helper/accessories/name.py +120 -28
  240. zrb/helper/advertisement.py +9 -13
  241. zrb/helper/callable.py +2 -4
  242. zrb/helper/cli.py +27 -31
  243. zrb/helper/codemod/add_argument_to_function.py +3 -4
  244. zrb/helper/codemod/add_argument_to_function_call.py +4 -7
  245. zrb/helper/codemod/add_assert_resource.py +7 -7
  246. zrb/helper/codemod/add_function_call.py +3 -5
  247. zrb/helper/codemod/add_import_module.py +15 -26
  248. zrb/helper/codemod/add_key_value_to_dict.py +7 -10
  249. zrb/helper/codemod/add_property_to_class.py +10 -8
  250. zrb/helper/codemod/add_upstream_to_task.py +21 -33
  251. zrb/helper/codemod/append_code_to_function.py +6 -13
  252. zrb/helper/codemod/format_code.py +2 -1
  253. zrb/helper/default_env.py +25 -25
  254. zrb/helper/docker_compose/fetch_external_env.py +18 -18
  255. zrb/helper/docker_compose/file.py +5 -4
  256. zrb/helper/docstring.py +44 -47
  257. zrb/helper/env_map/fetch.py +7 -12
  258. zrb/helper/file/copy_tree.py +12 -17
  259. zrb/helper/file/match.py +6 -7
  260. zrb/helper/file/text.py +8 -6
  261. zrb/helper/git/detect_changes.py +9 -8
  262. zrb/helper/loader/load_module.py +14 -13
  263. zrb/helper/log.py +4 -3
  264. zrb/helper/map/conversion.py +4 -5
  265. zrb/helper/python_task.py +2 -4
  266. zrb/helper/render_data.py +25 -18
  267. zrb/helper/string/constant.py +2 -2
  268. zrb/helper/string/conversion.py +17 -16
  269. zrb/helper/string/jinja.py +2 -2
  270. zrb/helper/typecheck.py +6 -4
  271. zrb/helper/typing.py +10 -2
  272. zrb/helper/util.py +44 -40
  273. zrb/task/any_task.py +251 -251
  274. zrb/task/base_remote_cmd_task.py +76 -59
  275. zrb/task/base_task/base_task.py +95 -108
  276. zrb/task/base_task/component/base_task_model.py +73 -71
  277. zrb/task/base_task/component/common_task_model.py +42 -29
  278. zrb/task/base_task/component/pid_model.py +3 -5
  279. zrb/task/base_task/component/renderer.py +26 -36
  280. zrb/task/base_task/component/trackers.py +6 -9
  281. zrb/task/checker.py +14 -9
  282. zrb/task/cmd_task.py +102 -100
  283. zrb/task/decorator.py +19 -13
  284. zrb/task/docker_compose_task.py +127 -98
  285. zrb/task/flow_task.py +16 -19
  286. zrb/task/http_checker.py +40 -36
  287. zrb/task/notifier.py +50 -38
  288. zrb/task/parallel.py +3 -3
  289. zrb/task/path_checker.py +34 -27
  290. zrb/task/path_watcher.py +49 -40
  291. zrb/task/port_checker.py +33 -26
  292. zrb/task/recurring_task.py +36 -42
  293. zrb/task/remote_cmd_task.py +31 -28
  294. zrb/task/resource_maker.py +66 -52
  295. zrb/task/rsync_task.py +24 -21
  296. zrb/task/task.py +4 -3
  297. zrb/task/time_watcher.py +36 -31
  298. zrb/task_env/constant.py +1 -1
  299. zrb/task_env/env.py +33 -31
  300. zrb/task_env/env_file.py +24 -23
  301. zrb/task_group/group.py +27 -30
  302. zrb/task_input/any_input.py +18 -16
  303. zrb/task_input/base_input.py +26 -26
  304. zrb/task_input/bool_input.py +6 -6
  305. zrb/task_input/choice_input.py +11 -9
  306. zrb/task_input/constant.py +1 -1
  307. zrb/task_input/float_input.py +6 -5
  308. zrb/task_input/int_input.py +8 -8
  309. zrb/task_input/password_input.py +9 -9
  310. zrb/task_input/str_input.py +8 -8
  311. zrb/task_input/task_input.py +4 -2
  312. {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/METADATA +3 -1
  313. {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/RECORD +316 -315
  314. {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/LICENSE +0 -0
  315. {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/WHEEL +0 -0
  316. {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/entry_points.txt +0 -0
@@ -1,24 +1,25 @@
1
- '''A Kubernetes Python Pulumi program to deploy kebab-zrb-app-name'''
1
+ """A Kubernetes Python Pulumi program to deploy kebab-zrb-app-name"""
2
+
3
+ import os
2
4
 
3
- from dotenv import dotenv_values
4
5
  import pulumi
5
6
  import pulumi_kubernetes as k8s
6
- import os
7
+ from dotenv import dotenv_values
7
8
 
8
9
  CURRENT_DIR = os.path.dirname(__file__)
9
- APP_DIR = os.path.abspath(os.path.join(CURRENT_DIR, '..', 'src'))
10
- TEMPLATE_ENV_FILE_NAME = os.path.join(APP_DIR, 'template.env')
10
+ APP_DIR = os.path.abspath(os.path.join(CURRENT_DIR, "..", "src"))
11
+ TEMPLATE_ENV_FILE_NAME = os.path.join(APP_DIR, "template.env")
11
12
 
12
- image = os.getenv('IMAGE', 'kebab-zrb-app-name:latest')
13
- replica = int(os.getenv('REPLICA', '1'))
14
- app_labels = {'app': 'kebab-zrb-app-name'}
13
+ image = os.getenv("IMAGE", "kebab-zrb-app-name:latest")
14
+ replica = int(os.getenv("REPLICA", "1"))
15
+ app_labels = {"app": "kebab-zrb-app-name"}
15
16
  env_map = dotenv_values(TEMPLATE_ENV_FILE_NAME)
16
- app_port = int(os.getenv('APP_PORT', env_map.get('APP_PORT', '8080')))
17
+ app_port = int(os.getenv("APP_PORT", env_map.get("APP_PORT", "8080")))
17
18
 
18
19
  # Pulumi deployment docs:
19
20
  # https://www.pulumi.com/registry/packages/kubernetes/api-docs/apps/v1/deployment/
20
21
  deployment = k8s.apps.v1.Deployment(
21
- resource_name='kebab-zrb-app-name',
22
+ resource_name="kebab-zrb-app-name",
22
23
  spec=k8s.apps.v1.DeploymentSpecArgs(
23
24
  selector=k8s.meta.v1.LabelSelectorArgs(match_labels=app_labels),
24
25
  replicas=replica,
@@ -27,41 +28,32 @@ deployment = k8s.apps.v1.Deployment(
27
28
  spec=k8s.core.v1.PodSpecArgs(
28
29
  containers=[
29
30
  k8s.core.v1.ContainerArgs(
30
- name='kebab-zrb-app-name',
31
+ name="kebab-zrb-app-name",
31
32
  image=image,
32
33
  env=[
33
34
  k8s.core.v1.EnvVarArgs(
34
- name=env_name,
35
- value=os.getenv(env_name, default_value)
35
+ name=env_name, value=os.getenv(env_name, default_value)
36
36
  )
37
37
  for env_name, default_value in env_map.items()
38
38
  ],
39
- ports=[
40
- k8s.core.v1.ContainerPortArgs(
41
- container_port=app_port
42
- )
43
- ],
39
+ ports=[k8s.core.v1.ContainerPortArgs(container_port=app_port)],
44
40
  liveness_probe=k8s.core.v1.ProbeArgs(
45
- http_get=k8s.core.v1.HTTPGetActionArgs(
46
- port=app_port
47
- )
41
+ http_get=k8s.core.v1.HTTPGetActionArgs(port=app_port)
48
42
  ),
49
43
  readiness_probe=k8s.core.v1.ProbeArgs(
50
- http_get=k8s.core.v1.HTTPGetActionArgs(
51
- port=app_port
52
- )
44
+ http_get=k8s.core.v1.HTTPGetActionArgs(port=app_port)
53
45
  ),
54
46
  )
55
47
  ]
56
- )
57
- )
58
- )
48
+ ),
49
+ ),
50
+ ),
59
51
  )
60
52
 
61
53
  # Pulumi services docs:
62
54
  # https://www.pulumi.com/registry/packages/kubernetes/api-docs/core/v1/service/
63
55
  service = k8s.core.v1.Service(
64
- resource_name='kebab-zrb-app-name',
56
+ resource_name="kebab-zrb-app-name",
65
57
  spec=k8s.core.v1.ServiceSpecArgs(
66
58
  selector=app_labels,
67
59
  ports=[
@@ -71,9 +63,9 @@ service = k8s.core.v1.Service(
71
63
  target_port=app_port,
72
64
  )
73
65
  ],
74
- type='LoadBalancer',
75
- )
66
+ type="LoadBalancer",
67
+ ),
76
68
  )
77
69
 
78
- pulumi.export('deployment-name', deployment.metadata['name'])
79
- pulumi.export('service-name', service.metadata['name'])
70
+ pulumi.export("deployment-name", deployment.metadata["name"])
71
+ pulumi.export("service-name", service.metadata["name"])
@@ -1,44 +1,51 @@
1
+ import os
1
2
  from typing import Any
2
- from zrb.builtin.group import project_add_group
3
- from zrb import Task, python_task, ResourceMaker, runner, IntInput, StrInput
4
- from zrb.builtin.generator.common.task_input import (
5
- project_dir_input, app_image_name_input, env_prefix_input
6
- )
3
+
4
+ from zrb import IntInput, ResourceMaker, StrInput, Task, python_task, runner
7
5
  from zrb.builtin.generator.common.helper import (
8
- validate_existing_project_dir, validate_inexisting_automation
6
+ validate_existing_project_dir,
7
+ validate_inexisting_automation,
9
8
  )
10
9
  from zrb.builtin.generator.common.task_factory import create_register_module
10
+ from zrb.builtin.generator.common.task_input import (
11
+ app_image_name_input,
12
+ env_prefix_input,
13
+ project_dir_input,
14
+ )
11
15
  from zrb.builtin.generator.project_task.task_factory import (
12
- create_ensure_project_tasks, create_add_build_images_upstream,
13
- create_add_deploy_upstream, create_add_destroy_upstream,
14
- create_add_push_images_upstream, create_add_remove_containers_upstream,
15
- create_add_start_containers_upstream, create_add_start_upstream,
16
- create_add_stop_containers_upstream
16
+ create_add_build_images_upstream,
17
+ create_add_deploy_upstream,
18
+ create_add_destroy_upstream,
19
+ create_add_push_images_upstream,
20
+ create_add_remove_containers_upstream,
21
+ create_add_start_containers_upstream,
22
+ create_add_start_upstream,
23
+ create_add_stop_containers_upstream,
24
+ create_ensure_project_tasks,
17
25
  )
18
-
19
- import os
26
+ from zrb.builtin.group import project_add_group
20
27
 
21
28
  CURRENT_DIR = os.path.dirname(__file__)
22
- SNAKE_APP_NAME_TPL = '{{util.to_snake_case(input.app_name)}}'
23
- KEBAB_APP_NAME_TPL = '{{util.to_kebab_case(app_name)}}'
29
+ SNAKE_APP_NAME_TPL = "{{util.to_snake_case(input.app_name)}}"
30
+ KEBAB_APP_NAME_TPL = "{{util.to_kebab_case(app_name)}}"
24
31
 
25
32
  ###############################################################################
26
33
  # Task Inputs
27
34
  ###############################################################################
28
35
 
29
36
  app_name_input = StrInput(
30
- name='app-name',
31
- shortcut='a',
32
- description='App name',
33
- prompt='App name',
34
- default='zrbMetaTemplateName',
37
+ name="app-name",
38
+ shortcut="a",
39
+ description="App name",
40
+ prompt="App name",
41
+ default="zrbMetaTemplateName",
35
42
  )
36
43
 
37
44
  app_port_input = IntInput(
38
- name='app-port',
39
- shortcut='p',
40
- description='HTTP port',
41
- prompt='HTTP port',
45
+ name="app-port",
46
+ shortcut="p",
47
+ description="HTTP port",
48
+ prompt="HTTP port",
42
49
  default=zrbMetaDefaultAppPort,
43
50
  )
44
51
 
@@ -48,24 +55,21 @@ app_port_input = IntInput(
48
55
 
49
56
 
50
57
  @python_task(
51
- name='validate',
52
- inputs=[
53
- project_dir_input,
54
- app_name_input
55
- ],
58
+ name="validate",
59
+ inputs=[project_dir_input, app_name_input],
56
60
  )
57
61
  async def validate(*args: Any, **kwargs: Any):
58
- project_dir = kwargs.get('project_dir')
62
+ project_dir = kwargs.get("project_dir")
59
63
  validate_existing_project_dir(project_dir)
60
- app_name = kwargs.get('app_name')
64
+ app_name = kwargs.get("app_name")
61
65
  validate_inexisting_automation(project_dir, app_name)
62
- source_dir = os.path.join(project_dir, 'src', f'{KEBAB_APP_NAME_TPL}')
66
+ source_dir = os.path.join(project_dir, "src", f"{KEBAB_APP_NAME_TPL}")
63
67
  if os.path.exists(source_dir):
64
- raise Exception(f'Source already exists: {source_dir}')
68
+ raise Exception(f"Source already exists: {source_dir}")
65
69
 
66
70
 
67
71
  copy_resource = ResourceMaker(
68
- name='copy-resource',
72
+ name="copy-resource",
69
73
  inputs=[
70
74
  project_dir_input,
71
75
  app_name_input,
@@ -75,110 +79,108 @@ copy_resource = ResourceMaker(
75
79
  ],
76
80
  upstreams=[validate],
77
81
  replacements={
78
- 'zrbAppName': '{{input.app_name}}',
79
- 'zrbAppPort': '{{util.coalesce(input.app_port, "8080")}}',
80
- 'ZRB_ENV_PREFIX': '{{util.coalesce(input.env_prefix, "MY").upper()}}',
81
- 'zrb-app-image-name': '{{input.app_image_name}}'
82
+ "zrbAppName": "{{input.app_name}}",
83
+ "zrbAppPort": '{{util.coalesce(input.app_port, "8080")}}',
84
+ "ZRB_ENV_PREFIX": '{{util.coalesce(input.env_prefix, "MY").upper()}}',
85
+ "zrb-app-image-name": "{{input.app_image_name}}",
82
86
  },
83
- template_path=os.path.join(CURRENT_DIR, 'template'),
84
- destination_path='{{ input.project_dir }}',
87
+ template_path=os.path.join(CURRENT_DIR, "template"),
88
+ destination_path="{{ input.project_dir }}",
85
89
  excludes=[
86
- '*/deployment/venv',
87
- '*/__pycache__',
88
- ]
90
+ "*/deployment/venv",
91
+ "*/__pycache__",
92
+ ],
89
93
  )
90
94
 
91
95
  register_local_module = create_register_module(
92
- module_path=f'_automate.{SNAKE_APP_NAME_TPL}.local',
93
- alias=f'{SNAKE_APP_NAME_TPL}_local',
96
+ module_path=f"_automate.{SNAKE_APP_NAME_TPL}.local",
97
+ alias=f"{SNAKE_APP_NAME_TPL}_local",
94
98
  inputs=[app_name_input],
95
- upstreams=[copy_resource]
99
+ upstreams=[copy_resource],
96
100
  )
97
101
 
98
102
  register_container_module = create_register_module(
99
- module_path=f'_automate.{SNAKE_APP_NAME_TPL}.container',
100
- alias=f'{SNAKE_APP_NAME_TPL}_container',
103
+ module_path=f"_automate.{SNAKE_APP_NAME_TPL}.container",
104
+ alias=f"{SNAKE_APP_NAME_TPL}_container",
101
105
  inputs=[app_name_input],
102
- upstreams=[register_local_module]
106
+ upstreams=[register_local_module],
103
107
  )
104
108
 
105
109
  register_image_module = create_register_module(
106
- module_path=f'_automate.{SNAKE_APP_NAME_TPL}.image',
107
- alias=f'{SNAKE_APP_NAME_TPL}_image',
110
+ module_path=f"_automate.{SNAKE_APP_NAME_TPL}.image",
111
+ alias=f"{SNAKE_APP_NAME_TPL}_image",
108
112
  inputs=[app_name_input],
109
- upstreams=[register_container_module]
113
+ upstreams=[register_container_module],
110
114
  )
111
115
 
112
116
  register_deployment_module = create_register_module(
113
- module_path=f'_automate.{SNAKE_APP_NAME_TPL}.deployment',
114
- alias=f'{SNAKE_APP_NAME_TPL}_deployment',
117
+ module_path=f"_automate.{SNAKE_APP_NAME_TPL}.deployment",
118
+ alias=f"{SNAKE_APP_NAME_TPL}_deployment",
115
119
  inputs=[app_name_input],
116
- upstreams=[register_image_module]
120
+ upstreams=[register_image_module],
117
121
  )
118
122
 
119
- ensure_project_tasks = create_ensure_project_tasks(
120
- upstreams=[copy_resource]
121
- )
123
+ ensure_project_tasks = create_ensure_project_tasks(upstreams=[copy_resource])
122
124
 
123
125
  add_start_upstream = create_add_start_upstream(
124
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.local',
125
- upstream_task_var=f'start_{SNAKE_APP_NAME_TPL}',
126
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.local",
127
+ upstream_task_var=f"start_{SNAKE_APP_NAME_TPL}",
126
128
  upstreams=[ensure_project_tasks],
127
- inputs=[app_name_input]
129
+ inputs=[app_name_input],
128
130
  )
129
131
 
130
132
  add_start_container_upstream = create_add_start_containers_upstream(
131
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.container',
132
- upstream_task_var=f'start_{SNAKE_APP_NAME_TPL}_container',
133
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.container",
134
+ upstream_task_var=f"start_{SNAKE_APP_NAME_TPL}_container",
133
135
  upstreams=[ensure_project_tasks],
134
- inputs=[app_name_input]
136
+ inputs=[app_name_input],
135
137
  )
136
138
 
137
139
  add_stop_container_upstream = create_add_stop_containers_upstream(
138
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.container',
139
- upstream_task_var=f'stop_{SNAKE_APP_NAME_TPL}_container',
140
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.container",
141
+ upstream_task_var=f"stop_{SNAKE_APP_NAME_TPL}_container",
140
142
  upstreams=[ensure_project_tasks],
141
- inputs=[app_name_input]
143
+ inputs=[app_name_input],
142
144
  )
143
145
 
144
146
  add_remove_container_upstream = create_add_remove_containers_upstream(
145
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.container',
146
- upstream_task_var=f'remove_{SNAKE_APP_NAME_TPL}_container',
147
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.container",
148
+ upstream_task_var=f"remove_{SNAKE_APP_NAME_TPL}_container",
147
149
  upstreams=[ensure_project_tasks],
148
- inputs=[app_name_input]
150
+ inputs=[app_name_input],
149
151
  )
150
152
 
151
153
  add_build_image_upstream = create_add_build_images_upstream(
152
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.image',
153
- upstream_task_var=f'build_{SNAKE_APP_NAME_TPL}_image',
154
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.image",
155
+ upstream_task_var=f"build_{SNAKE_APP_NAME_TPL}_image",
154
156
  upstreams=[ensure_project_tasks],
155
- inputs=[app_name_input]
157
+ inputs=[app_name_input],
156
158
  )
157
159
 
158
160
  add_push_image_upstream = create_add_push_images_upstream(
159
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.image',
160
- upstream_task_var=f'push_{SNAKE_APP_NAME_TPL}_image',
161
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.image",
162
+ upstream_task_var=f"push_{SNAKE_APP_NAME_TPL}_image",
161
163
  upstreams=[ensure_project_tasks],
162
- inputs=[app_name_input]
164
+ inputs=[app_name_input],
163
165
  )
164
166
 
165
167
  add_deploy_upstream = create_add_deploy_upstream(
166
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.deployment',
167
- upstream_task_var=f'deploy_{SNAKE_APP_NAME_TPL}',
168
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.deployment",
169
+ upstream_task_var=f"deploy_{SNAKE_APP_NAME_TPL}",
168
170
  upstreams=[ensure_project_tasks],
169
- inputs=[app_name_input]
171
+ inputs=[app_name_input],
170
172
  )
171
173
 
172
174
  add_destroy_upstream = create_add_destroy_upstream(
173
- upstream_module=f'_automate.{SNAKE_APP_NAME_TPL}.deployment',
174
- upstream_task_var=f'destroy_{SNAKE_APP_NAME_TPL}',
175
+ upstream_module=f"_automate.{SNAKE_APP_NAME_TPL}.deployment",
176
+ upstream_task_var=f"destroy_{SNAKE_APP_NAME_TPL}",
175
177
  upstreams=[ensure_project_tasks],
176
- inputs=[app_name_input]
178
+ inputs=[app_name_input],
177
179
  )
178
180
 
179
181
 
180
182
  @python_task(
181
- name='kebab-zrb-meta-template-name',
183
+ name="kebab-zrb-meta-template-name",
182
184
  group=project_add_group,
183
185
  upstreams=[
184
186
  register_local_module,
@@ -192,10 +194,10 @@ add_destroy_upstream = create_add_destroy_upstream(
192
194
  add_build_image_upstream,
193
195
  add_push_image_upstream,
194
196
  add_deploy_upstream,
195
- add_destroy_upstream
197
+ add_destroy_upstream,
196
198
  ],
197
- runner=runner
199
+ runner=runner,
198
200
  )
199
201
  async def snake_zrb_meta_template_name(*args: Any, **kwargs: Any):
200
- task: Task = kwargs.get('_task')
201
- task.print_out('Success')
202
+ task: Task = kwargs.get("_task")
203
+ task.print_out("Success")
@@ -1,41 +1,40 @@
1
- from zrb import BoolInput, StrInput
2
1
  import os
3
2
 
3
+ from zrb import BoolInput, StrInput
4
+
4
5
  ###############################################################################
5
6
  # 🏔️ Constants
6
7
  ###############################################################################
7
8
 
8
9
  CURRENT_DIR = os.path.dirname(__file__)
9
- PROJECT_DIR = os.path.abspath(os.path.join(CURRENT_DIR, '..', '..'))
10
- RESOURCE_DIR = os.path.join(PROJECT_DIR, 'src', 'kebab-zrb-app-name')
11
- DEPLOYMENT_DIR = os.path.join(RESOURCE_DIR, 'deployment')
12
- DEPLOYMENT_TEMPLATE_ENV_FILE_NAME = os.path.join(
13
- DEPLOYMENT_DIR, 'template.env'
14
- )
15
- APP_DIR = os.path.join(RESOURCE_DIR, 'src')
16
- APP_TEMPLATE_ENV_FILE_NAME = os.path.join(APP_DIR, 'template.env')
10
+ PROJECT_DIR = os.path.abspath(os.path.join(CURRENT_DIR, "..", ".."))
11
+ RESOURCE_DIR = os.path.join(PROJECT_DIR, "src", "kebab-zrb-app-name")
12
+ DEPLOYMENT_DIR = os.path.join(RESOURCE_DIR, "deployment")
13
+ DEPLOYMENT_TEMPLATE_ENV_FILE_NAME = os.path.join(DEPLOYMENT_DIR, "template.env")
14
+ APP_DIR = os.path.join(RESOURCE_DIR, "src")
15
+ APP_TEMPLATE_ENV_FILE_NAME = os.path.join(APP_DIR, "template.env")
17
16
 
18
17
  ###############################################################################
19
18
  # 🔤 Input Definitions
20
19
  ###############################################################################
21
20
 
22
21
  local_input = BoolInput(
23
- name='local-kebab-zrb-app-name',
22
+ name="local-kebab-zrb-app-name",
24
23
  description='Use "kebab-zrb-app-name" on local machine',
25
24
  prompt='Use "kebab-zrb-app-name" on local machine?',
26
- default=True
25
+ default=True,
27
26
  )
28
27
 
29
28
  https_input = BoolInput(
30
- name='kebab-zrb-app-name-https',
29
+ name="kebab-zrb-app-name-https",
31
30
  description='Whether "kebab-zrb-app-name" run on HTTPS',
32
31
  prompt='Is "kebab-zrb-app-name" run on HTTPS?',
33
- default=False
32
+ default=False,
34
33
  )
35
34
 
36
35
  host_input = StrInput(
37
- name='kebab-zrb-app-name-host',
36
+ name="kebab-zrb-app-name-host",
38
37
  description='Hostname of "kebab-zrb-app-name"',
39
38
  prompt='Hostname of "kebab-zrb-app-name"',
40
- default='localhost'
39
+ default="localhost",
41
40
  )
@@ -1,20 +1,18 @@
1
- from zrb import (
2
- DockerComposeTask, Env, EnvFile, ServiceConfig, runner, PortChecker,
3
- )
4
- from zrb.builtin.group import project_group
5
- from ._common import (
6
- RESOURCE_DIR, APP_DIR, local_input, host_input
7
- )
8
- from .image import image_input, image_env, build_snake_zrb_app_name_image
9
1
  import os
10
2
 
3
+ from zrb import DockerComposeTask, Env, EnvFile, PortChecker, ServiceConfig, runner
4
+ from zrb.builtin.group import project_group
5
+
6
+ from ._common import APP_DIR, RESOURCE_DIR, host_input, local_input
7
+ from .image import build_snake_zrb_app_name_image, image_env, image_input
8
+
11
9
  ###############################################################################
12
10
  # 🌳 Env File Definitions
13
11
  ###############################################################################
14
12
 
15
13
  compose_env_file = EnvFile(
16
- path=os.path.join(RESOURCE_DIR, 'docker-compose.env'),
17
- prefix='CONTAINER_ZRB_ENV_PREFIX'
14
+ path=os.path.join(RESOURCE_DIR, "docker-compose.env"),
15
+ prefix="CONTAINER_ZRB_ENV_PREFIX",
18
16
  )
19
17
 
20
18
  ###############################################################################
@@ -22,9 +20,7 @@ compose_env_file = EnvFile(
22
20
  ###############################################################################
23
21
 
24
22
  host_port_env = Env(
25
- name='HOST_PORT',
26
- os_name='CONTAINER_ZRB_ENV_PREFIX_HOST_PORT',
27
- default='zrbAppPort'
23
+ name="HOST_PORT", os_name="CONTAINER_ZRB_ENV_PREFIX_HOST_PORT", default="zrbAppPort"
28
24
  )
29
25
 
30
26
  ###############################################################################
@@ -34,8 +30,8 @@ host_port_env = Env(
34
30
  snake_zrb_app_name_service_config = ServiceConfig(
35
31
  env_files=[
36
32
  EnvFile(
37
- path=os.path.join(APP_DIR, 'template.env'),
38
- prefix='CONTAINER_ZRB_ENV_PREFIX'
33
+ path=os.path.join(APP_DIR, "template.env"),
34
+ prefix="CONTAINER_ZRB_ENV_PREFIX",
39
35
  )
40
36
  ]
41
37
  )
@@ -45,16 +41,14 @@ snake_zrb_app_name_service_config = ServiceConfig(
45
41
  ###############################################################################
46
42
 
47
43
  remove_snake_zrb_app_name_container = DockerComposeTask(
48
- icon='💨',
49
- name='remove-kebab-zrb-app-name-container',
50
- description='Remove human readable zrb app name container',
44
+ icon="💨",
45
+ name="remove-kebab-zrb-app-name-container",
46
+ description="Remove human readable zrb app name container",
51
47
  group=project_group,
52
48
  cwd=RESOURCE_DIR,
53
- compose_cmd='down',
54
- compose_env_prefix='CONTAINER_ZRB_ENV_PREFIX',
55
- compose_service_configs={
56
- 'kebab-zrb-app-name': snake_zrb_app_name_service_config
57
- },
49
+ compose_cmd="down",
50
+ compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
51
+ compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
58
52
  env_files=[compose_env_file],
59
53
  envs=[
60
54
  image_env,
@@ -68,16 +62,14 @@ runner.register(remove_snake_zrb_app_name_container)
68
62
  ###############################################################################
69
63
 
70
64
  stop_snake_zrb_app_name_container = DockerComposeTask(
71
- icon='',
72
- name='stop-kebab-zrb-app-name-container',
73
- description='Stop human readable zrb app name container',
65
+ icon="",
66
+ name="stop-kebab-zrb-app-name-container",
67
+ description="Stop human readable zrb app name container",
74
68
  group=project_group,
75
69
  cwd=RESOURCE_DIR,
76
- compose_cmd='stop',
77
- compose_env_prefix='CONTAINER_ZRB_ENV_PREFIX',
78
- compose_service_configs={
79
- 'kebab-zrb-app-name': snake_zrb_app_name_service_config
80
- },
70
+ compose_cmd="stop",
71
+ compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
72
+ compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
81
73
  env_files=[compose_env_file],
82
74
  envs=[
83
75
  image_env,
@@ -91,25 +83,23 @@ runner.register(stop_snake_zrb_app_name_container)
91
83
  ###############################################################################
92
84
 
93
85
  init_snake_zrb_app_name_container = DockerComposeTask(
94
- icon='🔥',
95
- name='init-kebab-zrb-app-name-container',
86
+ icon="🔥",
87
+ name="init-kebab-zrb-app-name-container",
96
88
  inputs=[
97
89
  local_input,
98
90
  host_input,
99
91
  image_input,
100
92
  ],
101
- should_execute='{{input.local_snake_zrb_app_name}}',
93
+ should_execute="{{input.local_snake_zrb_app_name}}",
102
94
  upstreams=[
103
95
  remove_snake_zrb_app_name_container,
104
96
  build_snake_zrb_app_name_image,
105
97
  ],
106
98
  cwd=RESOURCE_DIR,
107
- compose_cmd='up',
108
- compose_flags=['-d'],
109
- compose_env_prefix='CONTAINER_ZRB_ENV_PREFIX',
110
- compose_service_configs={
111
- 'kebab-zrb-app-name': snake_zrb_app_name_service_config
112
- },
99
+ compose_cmd="up",
100
+ compose_flags=["-d"],
101
+ compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
102
+ compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
113
103
  env_files=[compose_env_file],
114
104
  envs=[
115
105
  image_env,
@@ -122,24 +112,22 @@ init_snake_zrb_app_name_container = DockerComposeTask(
122
112
  ###############################################################################
123
113
 
124
114
  start_snake_zrb_app_name_container = DockerComposeTask(
125
- icon='🐳',
126
- name='start-kebab-zrb-app-name-container',
127
- description='Start human readable zrb app name container',
115
+ icon="🐳",
116
+ name="start-kebab-zrb-app-name-container",
117
+ description="Start human readable zrb app name container",
128
118
  group=project_group,
129
119
  inputs=[
130
120
  local_input,
131
121
  host_input,
132
122
  image_input,
133
123
  ],
134
- should_execute='{{input.local_snake_zrb_app_name}}',
124
+ should_execute="{{input.local_snake_zrb_app_name}}",
135
125
  upstreams=[init_snake_zrb_app_name_container],
136
126
  cwd=RESOURCE_DIR,
137
- compose_cmd='logs',
138
- compose_flags=['-f'],
139
- compose_env_prefix='CONTAINER_ZRB_ENV_PREFIX',
140
- compose_service_configs={
141
- 'kebab-zrb-app-name': snake_zrb_app_name_service_config
142
- },
127
+ compose_cmd="logs",
128
+ compose_flags=["-f"],
129
+ compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
130
+ compose_service_configs={"kebab-zrb-app-name": snake_zrb_app_name_service_config},
143
131
  env_files=[compose_env_file],
144
132
  envs=[
145
133
  image_env,
@@ -147,10 +135,10 @@ start_snake_zrb_app_name_container = DockerComposeTask(
147
135
  ],
148
136
  checkers=[
149
137
  PortChecker(
150
- name='check-kebab-zrb-app-name',
151
- host='{{input.snake_zrb_app_name_host}}',
152
- port='{{env.HOST_PORT}}',
138
+ name="check-kebab-zrb-app-name",
139
+ host="{{input.snake_zrb_app_name_host}}",
140
+ port="{{env.HOST_PORT}}",
153
141
  ),
154
- ]
142
+ ],
155
143
  )
156
144
  runner.register(start_snake_zrb_app_name_container)