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
@@ -4,20 +4,25 @@ PROJECT_DIR=$(pwd)
4
4
  echo "🤖 Set project directory to ${PROJECT_DIR}"
5
5
 
6
6
 
7
+ _IS_EMPTY_VENV=0
7
8
  if [ -z "$PROJECT_USE_VENV" ] || [ "$PROJECT_USE_VENV" = 1 ]
8
9
  then
9
10
  if [ ! -d .venv ]
10
11
  then
11
12
  echo '🤖 Create virtual environment'
12
13
  python -m venv "${PROJECT_DIR}/.venv"
13
- echo '🤖 Activate virtual environment'
14
- source "${PROJECT_DIR}/.venv/bin/activate"
14
+ _IS_EMPTY_VENV=1
15
15
  fi
16
-
17
16
  echo '🤖 Activate virtual environment'
18
17
  source "${PROJECT_DIR}/.venv/bin/activate"
19
18
  fi
20
19
 
20
+ install_requirements() {
21
+ echo '🤖 Install requirements'
22
+ pip install --upgrade pip
23
+ pip install -r "${PROJECT_DIR}/requirements.txt"
24
+ }
25
+
21
26
  reload() {
22
27
 
23
28
  if [ ! -f "${PROJECT_DIR}/.env" ]
@@ -31,14 +36,18 @@ reload() {
31
36
 
32
37
  if [ -z "$PROJECT_AUTO_INSTALL_PIP" ] || [ "$PROJECT_AUTO_INSTALL_PIP" = 1 ]
33
38
  then
34
- echo '🤖 Checking .venv and requirements.txt timestamp'
35
- _VENV_TIMESTAMP=$(find .venv -type d -exec stat -c %Y {} \; | sort -n | tail -n 1)
36
- _REQUIREMENTS_TIMESTAMP=$(stat -c %Y requirements.txt)
37
- if [ "$_VENV_TIMESTAMP" -lt "$_REQUIREMENTS_TIMESTAMP" ]
39
+ if [ "$_IS_EMPTY_VENV" = 1 ]
38
40
  then
39
- echo '🤖 Install requirements'
40
- pip install --upgrade pip
41
- pip install -r "${PROJECT_DIR}/requirements.txt"
41
+ install_requirements
42
+ _IS_EMPTY_VENV=0
43
+ else
44
+ echo '🤖 Checking .venv and requirements.txt timestamp'
45
+ _VENV_TIMESTAMP=$(find .venv -type d -exec stat -c %Y {} \; | sort -n | tail -n 1)
46
+ _REQUIREMENTS_TIMESTAMP=$(stat -c %Y requirements.txt)
47
+ if [ "$_VENV_TIMESTAMP" -lt "$_REQUIREMENTS_TIMESTAMP" ]
48
+ then
49
+ install_requirements
50
+ fi
42
51
  fi
43
52
  fi
44
53
 
@@ -1,54 +1,53 @@
1
- from zrb.helper.typing import Any, List, Optional
2
- from zrb.helper.typecheck import typechecked
3
- from zrb.builtin.generator.common.task_input import project_dir_input
1
+ import os
2
+
4
3
  from zrb.builtin.generator.common.task_factory import create_add_upstream
5
- from zrb.task.decorator import python_task
6
- from zrb.task.any_task import AnyTask
7
- from zrb.task.task import Task
8
- from zrb.task_input.any_input import AnyInput
9
- from zrb.helper.codemod.add_import_module import add_import_module
4
+ from zrb.builtin.generator.common.task_input import project_dir_input
10
5
  from zrb.helper.codemod.add_assert_resource import add_assert_resource
6
+ from zrb.helper.codemod.add_import_module import add_import_module
11
7
  from zrb.helper.file.copy_tree import copy_tree
12
8
  from zrb.helper.file.text import read_text_file_async, write_text_file_async
13
- import os
9
+ from zrb.helper.typecheck import typechecked
10
+ from zrb.helper.typing import Any, List, Optional
11
+ from zrb.task.any_task import AnyTask
12
+ from zrb.task.decorator import python_task
13
+ from zrb.task.task import Task
14
+ from zrb.task_input.any_input import AnyInput
14
15
 
15
16
  CURRENT_DIR = os.path.dirname(__file__)
16
17
 
17
18
 
18
19
  @typechecked
19
- def create_ensure_project_tasks(
20
- upstreams: Optional[List[AnyTask]] = None
21
- ) -> Task:
22
- '''
20
+ def create_ensure_project_tasks(upstreams: Optional[List[AnyTask]] = None) -> Task:
21
+ """
23
22
  Create a task to ensure there are project tasks under `_automate/_project`
24
- '''
23
+ """
24
+
25
25
  @python_task(
26
- name='ensure-project-tasks',
26
+ name="ensure-project-tasks",
27
27
  inputs=[project_dir_input],
28
- upstreams=[] if upstreams is None else upstreams
28
+ upstreams=[] if upstreams is None else upstreams,
29
29
  )
30
30
  async def _task(*args: Any, **kwargs: Any):
31
- task: Task = kwargs.get('_task')
32
- project_dir = kwargs.get('project_dir', '.')
33
- task.print_out('Create project tasks if not exist')
34
- if os.path.exists(os.path.join(project_dir, '_automate', '_project')):
31
+ task: Task = kwargs.get("_task")
32
+ project_dir = kwargs.get("project_dir", ".")
33
+ task.print_out("Create project tasks if not exist")
34
+ if os.path.exists(os.path.join(project_dir, "_automate", "_project")):
35
35
  return
36
36
  await copy_tree(
37
- src=os.path.join(CURRENT_DIR, 'template'),
37
+ src=os.path.join(CURRENT_DIR, "template"),
38
38
  dst=project_dir,
39
- excludes=['*/__pycache__'],
39
+ excludes=["*/__pycache__"],
40
40
  )
41
- project_task_module_path = '_automate._project'
42
- zrb_init_path = os.path.join(project_dir, 'zrb_init.py')
41
+ project_task_module_path = "_automate._project"
42
+ zrb_init_path = os.path.join(project_dir, "zrb_init.py")
43
43
  code = await read_text_file_async(zrb_init_path)
44
- import_alias = project_task_module_path.split('.')[-1]
44
+ import_alias = project_task_module_path.split(".")[-1]
45
45
  code = add_import_module(
46
- code=code,
47
- module_path=project_task_module_path,
48
- alias=import_alias
46
+ code=code, module_path=project_task_module_path, alias=import_alias
49
47
  )
50
48
  code = add_assert_resource(code, import_alias)
51
49
  await write_text_file_async(zrb_init_path, code)
50
+
52
51
  return _task
53
52
 
54
53
 
@@ -57,15 +56,15 @@ def create_add_build_images_upstream(
57
56
  upstream_module: str,
58
57
  upstream_task_var: str,
59
58
  inputs: Optional[List[AnyInput]] = None,
60
- upstreams: Optional[List[AnyTask]] = None
59
+ upstreams: Optional[List[AnyTask]] = None,
61
60
  ) -> Task:
62
61
  return create_add_upstream(
63
- task_file_name=_get_project_task_file('build_project_images.py'),
64
- task_name='build-images',
62
+ task_file_name=_get_project_task_file("build_project_images.py"),
63
+ task_name="build-images",
65
64
  upstream_module=upstream_module,
66
65
  upstream_task_var=upstream_task_var,
67
66
  inputs=inputs,
68
- upstreams=upstreams
67
+ upstreams=upstreams,
69
68
  )
70
69
 
71
70
 
@@ -74,15 +73,15 @@ def create_add_deploy_upstream(
74
73
  upstream_module: str,
75
74
  upstream_task_var: str,
76
75
  inputs: Optional[List[AnyInput]] = None,
77
- upstreams: Optional[List[AnyTask]] = None
76
+ upstreams: Optional[List[AnyTask]] = None,
78
77
  ) -> Task:
79
78
  return create_add_upstream(
80
- task_file_name=_get_project_task_file('deploy_project.py'),
81
- task_name='deploy',
79
+ task_file_name=_get_project_task_file("deploy_project.py"),
80
+ task_name="deploy",
82
81
  upstream_module=upstream_module,
83
82
  upstream_task_var=upstream_task_var,
84
83
  inputs=inputs,
85
- upstreams=upstreams
84
+ upstreams=upstreams,
86
85
  )
87
86
 
88
87
 
@@ -91,15 +90,15 @@ def create_add_destroy_upstream(
91
90
  upstream_module: str,
92
91
  upstream_task_var: str,
93
92
  inputs: Optional[List[AnyInput]] = None,
94
- upstreams: Optional[List[AnyTask]] = None
93
+ upstreams: Optional[List[AnyTask]] = None,
95
94
  ) -> Task:
96
95
  return create_add_upstream(
97
- task_file_name=_get_project_task_file('destroy_project.py'),
98
- task_name='destroy',
96
+ task_file_name=_get_project_task_file("destroy_project.py"),
97
+ task_name="destroy",
99
98
  upstream_module=upstream_module,
100
99
  upstream_task_var=upstream_task_var,
101
100
  inputs=inputs,
102
- upstreams=upstreams
101
+ upstreams=upstreams,
103
102
  )
104
103
 
105
104
 
@@ -108,15 +107,15 @@ def create_add_push_images_upstream(
108
107
  upstream_module: str,
109
108
  upstream_task_var: str,
110
109
  inputs: Optional[List[AnyInput]] = None,
111
- upstreams: Optional[List[AnyTask]] = None
110
+ upstreams: Optional[List[AnyTask]] = None,
112
111
  ) -> Task:
113
112
  return create_add_upstream(
114
- task_file_name=_get_project_task_file('push_project_images.py'),
115
- task_name='push-images',
113
+ task_file_name=_get_project_task_file("push_project_images.py"),
114
+ task_name="push-images",
116
115
  upstream_module=upstream_module,
117
116
  upstream_task_var=upstream_task_var,
118
117
  inputs=inputs,
119
- upstreams=upstreams
118
+ upstreams=upstreams,
120
119
  )
121
120
 
122
121
 
@@ -125,15 +124,15 @@ def create_add_remove_containers_upstream(
125
124
  upstream_module: str,
126
125
  upstream_task_var: str,
127
126
  inputs: Optional[List[AnyInput]] = None,
128
- upstreams: Optional[List[AnyTask]] = None
127
+ upstreams: Optional[List[AnyTask]] = None,
129
128
  ) -> Task:
130
129
  return create_add_upstream(
131
- task_file_name=_get_project_task_file('remove_project_containers.py'),
132
- task_name='remove-containers',
130
+ task_file_name=_get_project_task_file("remove_project_containers.py"),
131
+ task_name="remove-containers",
133
132
  upstream_module=upstream_module,
134
133
  upstream_task_var=upstream_task_var,
135
134
  inputs=inputs,
136
- upstreams=upstreams
135
+ upstreams=upstreams,
137
136
  )
138
137
 
139
138
 
@@ -142,15 +141,15 @@ def create_add_start_containers_upstream(
142
141
  upstream_module: str,
143
142
  upstream_task_var: str,
144
143
  inputs: Optional[List[AnyInput]] = None,
145
- upstreams: Optional[List[AnyTask]] = None
144
+ upstreams: Optional[List[AnyTask]] = None,
146
145
  ) -> Task:
147
146
  return create_add_upstream(
148
- task_file_name=_get_project_task_file('start_project_containers.py'),
149
- task_name='start-containers',
147
+ task_file_name=_get_project_task_file("start_project_containers.py"),
148
+ task_name="start-containers",
150
149
  upstream_module=upstream_module,
151
150
  upstream_task_var=upstream_task_var,
152
151
  inputs=inputs,
153
- upstreams=upstreams
152
+ upstreams=upstreams,
154
153
  )
155
154
 
156
155
 
@@ -159,15 +158,15 @@ def create_add_start_upstream(
159
158
  upstream_module: str,
160
159
  upstream_task_var: str,
161
160
  inputs: Optional[List[AnyInput]] = None,
162
- upstreams: Optional[List[AnyTask]] = None
161
+ upstreams: Optional[List[AnyTask]] = None,
163
162
  ) -> Task:
164
163
  return create_add_upstream(
165
- task_file_name=_get_project_task_file('start_project.py'),
166
- task_name='start',
164
+ task_file_name=_get_project_task_file("start_project.py"),
165
+ task_name="start",
167
166
  upstream_module=upstream_module,
168
167
  upstream_task_var=upstream_task_var,
169
168
  inputs=inputs,
170
- upstreams=upstreams
169
+ upstreams=upstreams,
171
170
  )
172
171
 
173
172
 
@@ -176,18 +175,18 @@ def create_add_stop_containers_upstream(
176
175
  upstream_module: str,
177
176
  upstream_task_var: str,
178
177
  inputs: Optional[List[AnyInput]] = None,
179
- upstreams: Optional[List[AnyTask]] = None
178
+ upstreams: Optional[List[AnyTask]] = None,
180
179
  ) -> Task:
181
180
  return create_add_upstream(
182
- task_file_name=_get_project_task_file('stop_project_containers.py'),
183
- task_name='stop-containers',
181
+ task_file_name=_get_project_task_file("stop_project_containers.py"),
182
+ task_name="stop-containers",
184
183
  upstream_module=upstream_module,
185
184
  upstream_task_var=upstream_task_var,
186
185
  inputs=inputs,
187
- upstreams=upstreams
186
+ upstreams=upstreams,
188
187
  )
189
188
 
190
189
 
191
190
  @typechecked
192
191
  def _get_project_task_file(task_file_name: str) -> str:
193
- return os.path.join('_automate', '_project', task_file_name)
192
+ return os.path.join("_automate", "_project", task_file_name)
@@ -1,10 +1,10 @@
1
1
  from .build_project_images import build_project_images
2
2
  from .deploy_project import deploy_project
3
+ from .destroy_project import destroy_project
3
4
  from .push_project_images import push_project_images
4
5
  from .remove_project_containers import remove_project_containers
5
- from .destroy_project import destroy_project
6
- from .start_project_containers import start_project_containers
7
6
  from .start_project import start_project
7
+ from .start_project_containers import start_project_containers
8
8
  from .stop_project_containers import stop_project_containers
9
9
 
10
10
  assert build_project_images
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  build_project_images = Task(
5
- name='build-images',
5
+ name="build-images",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Build project images',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Build project images",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(build_project_images)
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  deploy_project = Task(
5
- name='deploy',
5
+ name="deploy",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Deploy project',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Deploy project",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(deploy_project)
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  destroy_project = Task(
5
- name='destroy',
5
+ name="destroy",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Remove project deployment',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Remove project deployment",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(destroy_project)
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  push_project_images = Task(
5
- name='push-images',
5
+ name="push-images",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Build project images',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Build project images",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(push_project_images)
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  remove_project_containers = Task(
5
- name='remove-containers',
5
+ name="remove-containers",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Remove project containers',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Remove project containers",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(remove_project_containers)
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  start_project = Task(
5
- name='start',
5
+ name="start",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Start project',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Start project",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(start_project)
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  start_project_containers = Task(
5
- name='start-containers',
5
+ name="start-containers",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Start as containers',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Start as containers",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(start_project_containers)
@@ -1,11 +1,11 @@
1
- from zrb.builtin.group import project_group
2
1
  from zrb import Task, runner
2
+ from zrb.builtin.group import project_group
3
3
 
4
4
  stop_project_containers = Task(
5
- name='stop-containers',
5
+ name="stop-containers",
6
6
  group=project_group,
7
7
  upstreams=[],
8
- description='Stop project containers',
9
- run=lambda *args, **kwargs: kwargs.get('_task').print_out('🆗')
8
+ description="Stop project containers",
9
+ run=lambda *args, **kwargs: kwargs.get("_task").print_out("🆗"),
10
10
  )
11
11
  runner.register(stop_project_containers)
@@ -1,16 +1,17 @@
1
- from zrb.helper.typing import Any
2
- from zrb.builtin.generator.common.task_input import project_dir_input, task_name_input
1
+ import os
2
+
3
3
  from zrb.builtin.generator.common.helper import (
4
- validate_existing_project_dir, validate_inexisting_automation
4
+ validate_existing_project_dir,
5
+ validate_inexisting_automation,
5
6
  )
6
7
  from zrb.builtin.generator.common.task_factory import create_register_module
8
+ from zrb.builtin.generator.common.task_input import project_dir_input, task_name_input
9
+ from zrb.builtin.group import project_add_group
10
+ from zrb.helper.typing import Any
11
+ from zrb.runner import runner
7
12
  from zrb.task.decorator import python_task
8
- from zrb.task.task import Task
9
13
  from zrb.task.resource_maker import ResourceMaker
10
- from zrb.runner import runner
11
- from zrb.builtin.group import project_add_group
12
-
13
- import os
14
+ from zrb.task.task import Task
14
15
 
15
16
  CURRENT_DIR = os.path.dirname(__file__)
16
17
 
@@ -19,50 +20,41 @@ CURRENT_DIR = os.path.dirname(__file__)
19
20
  ###############################################################################
20
21
 
21
22
 
22
- @python_task(
23
- name='validate',
24
- inputs=[
25
- project_dir_input,
26
- task_name_input
27
- ]
28
- )
23
+ @python_task(name="validate", inputs=[project_dir_input, task_name_input])
29
24
  async def validate(*args: Any, **kwargs: Any):
30
- project_dir = kwargs.get('project_dir')
25
+ project_dir = kwargs.get("project_dir")
31
26
  validate_existing_project_dir(project_dir)
32
- task_name = kwargs.get('task_name')
27
+ task_name = kwargs.get("task_name")
33
28
  validate_inexisting_automation(project_dir, task_name)
34
29
 
35
30
 
36
31
  copy_resource = ResourceMaker(
37
- name='copy-resource',
38
- inputs=[
39
- project_dir_input,
40
- task_name_input
41
- ],
32
+ name="copy-resource",
33
+ inputs=[project_dir_input, task_name_input],
42
34
  upstreams=[validate],
43
35
  replacements={
44
- 'zrbTaskName': '{{input.task_name}}',
36
+ "zrbTaskName": "{{input.task_name}}",
45
37
  },
46
- template_path=os.path.join(CURRENT_DIR, 'template'),
47
- destination_path='{{ input.project_dir }}',
38
+ template_path=os.path.join(CURRENT_DIR, "template"),
39
+ destination_path="{{ input.project_dir }}",
48
40
  excludes=[
49
- '*/__pycache__',
50
- ]
41
+ "*/__pycache__",
42
+ ],
51
43
  )
52
44
 
53
45
  register_module = create_register_module(
54
- module_path='_automate.{{util.to_snake_case(input.task_name)}}',
46
+ module_path="_automate.{{util.to_snake_case(input.task_name)}}",
55
47
  inputs=[task_name_input],
56
- upstreams=[copy_resource]
48
+ upstreams=[copy_resource],
57
49
  )
58
50
 
59
51
 
60
52
  @python_task(
61
- name='python-task',
53
+ name="python-task",
62
54
  group=project_add_group,
63
55
  upstreams=[register_module],
64
- runner=runner
56
+ runner=runner,
65
57
  )
66
58
  async def add_python_task(*args: Any, **kwargs: Any):
67
- task: Task = kwargs.get('_task')
68
- task.print_out('Success')
59
+ task: Task = kwargs.get("_task")
60
+ task.print_out("Success")
@@ -1,4 +1,5 @@
1
1
  from typing import Any, Mapping
2
+
2
3
  from zrb import Task, python_task, runner
3
4
  from zrb.builtin.group import project_group
4
5
 
@@ -8,15 +9,15 @@ from zrb.builtin.group import project_group
8
9
 
9
10
 
10
11
  @python_task(
11
- name='kebab-zrb-task-name',
12
- description='human readable zrb task name',
12
+ name="kebab-zrb-task-name",
13
+ description="human readable zrb task name",
13
14
  group=project_group,
14
- runner=runner
15
+ runner=runner,
15
16
  )
16
17
  async def snake_zrb_task_name(*args: Any, **kwargs: Any) -> Any:
17
- task: Task = kwargs.get('_task')
18
+ task: Task = kwargs.get("_task")
18
19
  env_map: Mapping[str, str] = task.get_env_map()
19
20
  input_map: Mapping[str, str] = task.get_input_map()
20
- task.print_out(f'Env map: {env_map}')
21
- task.print_out(f'Input map: {input_map}')
22
- return 'ok'
21
+ task.print_out(f"Env map: {env_map}")
22
+ task.print_out(f"Input map: {input_map}")
23
+ return "ok"