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,28 +1,32 @@
1
+ import os
2
+
1
3
  from zrb import CmdTask, Env, EnvFile, IntInput, StrInput, runner
2
4
  from zrb.builtin.group import project_group
3
- from .image import push_snake_zrb_app_name_image, image_input, image_env
5
+
4
6
  from ._common import (
5
- CURRENT_DIR, DEPLOYMENT_DIR, APP_TEMPLATE_ENV_FILE_NAME,
6
- DEPLOYMENT_TEMPLATE_ENV_FILE_NAME
7
+ APP_TEMPLATE_ENV_FILE_NAME,
8
+ CURRENT_DIR,
9
+ DEPLOYMENT_DIR,
10
+ DEPLOYMENT_TEMPLATE_ENV_FILE_NAME,
7
11
  )
8
- import os
12
+ from .image import image_env, image_input, push_snake_zrb_app_name_image
9
13
 
10
14
  ###############################################################################
11
15
  # 🔤 Input Definitions
12
16
  ###############################################################################
13
17
 
14
18
  replica_input = IntInput(
15
- name='kebab-zrb-app-name-replica',
19
+ name="kebab-zrb-app-name-replica",
16
20
  description='Replica of "kebab-zrb-app-name"',
17
21
  prompt='Replica of "kebab-zrb-app-name"',
18
22
  default=1,
19
23
  )
20
24
 
21
25
  pulumi_stack_input = StrInput(
22
- name='kebab-zrb-app-name-pulumi-stack',
26
+ name="kebab-zrb-app-name-pulumi-stack",
23
27
  description='Pulumi stack name for "kebab-zrb-app-name"',
24
28
  prompt='Pulumi stack name for "kebab-zrb-app-name"',
25
- default=os.getenv('ZRB_ENV', 'dev')
29
+ default=os.getenv("ZRB_ENV", "dev"),
26
30
  )
27
31
 
28
32
  ###############################################################################
@@ -30,13 +34,11 @@ pulumi_stack_input = StrInput(
30
34
  ###############################################################################
31
35
 
32
36
  deployment_app_env_file = EnvFile(
33
- path=APP_TEMPLATE_ENV_FILE_NAME,
34
- prefix='DEPLOYMENT_APP_ZRB_ENV_PREFIX'
37
+ path=APP_TEMPLATE_ENV_FILE_NAME, prefix="DEPLOYMENT_APP_ZRB_ENV_PREFIX"
35
38
  )
36
39
 
37
40
  deployment_config_env_file = EnvFile(
38
- path=DEPLOYMENT_TEMPLATE_ENV_FILE_NAME,
39
- prefix='DEPLOYMENT_CONFIG_ZRB_ENV_PREFIX'
41
+ path=DEPLOYMENT_TEMPLATE_ENV_FILE_NAME, prefix="DEPLOYMENT_CONFIG_ZRB_ENV_PREFIX"
40
42
  )
41
43
 
42
44
  ###############################################################################
@@ -44,21 +46,21 @@ deployment_config_env_file = EnvFile(
44
46
  ###############################################################################
45
47
 
46
48
  pulumi_backend_url_env = Env(
47
- name='PULUMI_BACKEND_URL',
48
- os_name='PULUMI_ZRB_ENV_PREFIX_BACKEND_URL',
49
- default=f'file://{DEPLOYMENT_DIR}/state'
49
+ name="PULUMI_BACKEND_URL",
50
+ os_name="PULUMI_ZRB_ENV_PREFIX_BACKEND_URL",
51
+ default=f"file://{DEPLOYMENT_DIR}/state",
50
52
  )
51
53
 
52
54
  pulumi_config_passphrase_env = Env(
53
- name='PULUMI_CONFIG_PASSPHRASE',
54
- os_name='PULUMI_ZRB_ENV_PREFIX_CONFIG_PASSPHRASE',
55
- default='secret'
55
+ name="PULUMI_CONFIG_PASSPHRASE",
56
+ os_name="PULUMI_ZRB_ENV_PREFIX_CONFIG_PASSPHRASE",
57
+ default="secret",
56
58
  )
57
59
 
58
60
  deployment_replica_env = Env(
59
- name='REPLICA',
60
- os_name='DEPLOYMENT_ZRB_ENV_PREFIX',
61
- default='{{input.snake_zrb_app_name_replica}}'
61
+ name="REPLICA",
62
+ os_name="DEPLOYMENT_ZRB_ENV_PREFIX",
63
+ default="{{input.snake_zrb_app_name_replica}}",
62
64
  )
63
65
 
64
66
  ###############################################################################
@@ -66,9 +68,9 @@ deployment_replica_env = Env(
66
68
  ###############################################################################
67
69
 
68
70
  deploy_snake_zrb_app_name = CmdTask(
69
- icon='🚧',
70
- name='deploy-kebab-zrb-app-name',
71
- description='Deploy human readable zrb app name',
71
+ icon="🚧",
72
+ name="deploy-kebab-zrb-app-name",
73
+ description="Deploy human readable zrb app name",
72
74
  group=project_group,
73
75
  inputs=[
74
76
  image_input,
@@ -88,9 +90,9 @@ deploy_snake_zrb_app_name = CmdTask(
88
90
  deployment_replica_env,
89
91
  ],
90
92
  cmd_path=[
91
- os.path.join(CURRENT_DIR, 'cmd', 'pulumi-init-stack.sh'),
92
- os.path.join(CURRENT_DIR, 'cmd', 'pulumi-up.sh'),
93
- ]
93
+ os.path.join(CURRENT_DIR, "cmd", "pulumi-init-stack.sh"),
94
+ os.path.join(CURRENT_DIR, "cmd", "pulumi-up.sh"),
95
+ ],
94
96
  )
95
97
  runner.register(deploy_snake_zrb_app_name)
96
98
 
@@ -99,9 +101,9 @@ runner.register(deploy_snake_zrb_app_name)
99
101
  ###############################################################################
100
102
 
101
103
  destroy_snake_zrb_app_name = CmdTask(
102
- icon='💨',
103
- name='destroy-kebab-zrb-app-name',
104
- description='Remove human readable zrb app name deployment',
104
+ icon="💨",
105
+ name="destroy-kebab-zrb-app-name",
106
+ description="Remove human readable zrb app name deployment",
105
107
  group=project_group,
106
108
  inputs=[
107
109
  pulumi_stack_input,
@@ -118,8 +120,8 @@ destroy_snake_zrb_app_name = CmdTask(
118
120
  deployment_replica_env,
119
121
  ],
120
122
  cmd_path=[
121
- os.path.join(CURRENT_DIR, 'cmd', 'pulumi-init-stack.sh'),
122
- os.path.join(CURRENT_DIR, 'cmd', 'pulumi-destroy.sh'),
123
- ]
123
+ os.path.join(CURRENT_DIR, "cmd", "pulumi-init-stack.sh"),
124
+ os.path.join(CURRENT_DIR, "cmd", "pulumi-destroy.sh"),
125
+ ],
124
126
  )
125
127
  runner.register(destroy_snake_zrb_app_name)
@@ -1,18 +1,17 @@
1
1
  from zrb import DockerComposeTask, Env, StrInput, runner
2
2
  from zrb.builtin.group import project_group
3
- from ._common import (
4
- RESOURCE_DIR, local_input
5
- )
3
+
4
+ from ._common import RESOURCE_DIR, local_input
6
5
 
7
6
  ###############################################################################
8
7
  # 🔤 Input Definitions
9
8
  ###############################################################################
10
9
 
11
10
  image_input = StrInput(
12
- name='kebab-zrb-app-name-image',
11
+ name="kebab-zrb-app-name-image",
13
12
  description='Image name of "kebab-zrb-app-name"',
14
13
  prompt='Image name of "kebab-zrb-app-name"',
15
- default='zrb-app-image-name:latest'
14
+ default="zrb-app-image-name:latest",
16
15
  )
17
16
 
18
17
 
@@ -21,9 +20,9 @@ image_input = StrInput(
21
20
  ###############################################################################
22
21
 
23
22
  image_env = Env(
24
- name='IMAGE',
25
- os_name='CONTAINER_ZRB_ENV_PREFIX_IMAGE',
26
- default='{{input.snake_zrb_app_name_image}}'
23
+ name="IMAGE",
24
+ os_name="CONTAINER_ZRB_ENV_PREFIX_IMAGE",
25
+ default="{{input.snake_zrb_app_name_image}}",
27
26
  )
28
27
 
29
28
  ###############################################################################
@@ -31,22 +30,20 @@ image_env = Env(
31
30
  ###############################################################################
32
31
 
33
32
  build_snake_zrb_app_name_image = DockerComposeTask(
34
- icon='🏭',
35
- name='build-kebab-zrb-app-name-image',
36
- description='Build human readable zrb app name image',
33
+ icon="🏭",
34
+ name="build-kebab-zrb-app-name-image",
35
+ description="Build human readable zrb app name image",
37
36
  group=project_group,
38
37
  inputs=[
39
38
  local_input,
40
39
  image_input,
41
40
  ],
42
41
  envs=[image_env],
43
- should_execute='{{input.local_snake_zrb_app_name}}',
42
+ should_execute="{{input.local_snake_zrb_app_name}}",
44
43
  cwd=RESOURCE_DIR,
45
- compose_cmd='build',
46
- compose_flags=[
47
- '--no-cache'
48
- ],
49
- compose_env_prefix='CONTAINER_ZRB_ENV_PREFIX',
44
+ compose_cmd="build",
45
+ compose_flags=["--no-cache"],
46
+ compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
50
47
  )
51
48
  runner.register(build_snake_zrb_app_name_image)
52
49
 
@@ -55,9 +52,9 @@ runner.register(build_snake_zrb_app_name_image)
55
52
  ###############################################################################
56
53
 
57
54
  push_snake_zrb_app_name_image = DockerComposeTask(
58
- icon='📰',
59
- name='push-kebab-zrb-app-name-image',
60
- description='Push human readable zrb app name image',
55
+ icon="📰",
56
+ name="push-kebab-zrb-app-name-image",
57
+ description="Push human readable zrb app name image",
61
58
  group=project_group,
62
59
  inputs=[
63
60
  local_input,
@@ -66,7 +63,7 @@ push_snake_zrb_app_name_image = DockerComposeTask(
66
63
  envs=[image_env],
67
64
  upstreams=[build_snake_zrb_app_name_image],
68
65
  cwd=RESOURCE_DIR,
69
- compose_cmd='push',
70
- compose_env_prefix='CONTAINER_ZRB_ENV_PREFIX',
66
+ compose_cmd="push",
67
+ compose_env_prefix="CONTAINER_ZRB_ENV_PREFIX",
71
68
  )
72
69
  runner.register(push_snake_zrb_app_name_image)
@@ -1,48 +1,48 @@
1
+ import os
2
+
1
3
  from zrb import CmdTask, Env, EnvFile, runner
2
4
  from zrb.builtin.group import project_group
5
+
6
+ from ._checker import snake_zrb_app_name_checker
3
7
  from ._common import (
4
- CURRENT_DIR, APP_DIR, APP_TEMPLATE_ENV_FILE_NAME, local_input, host_input
8
+ APP_DIR,
9
+ APP_TEMPLATE_ENV_FILE_NAME,
10
+ CURRENT_DIR,
11
+ host_input,
12
+ local_input,
5
13
  )
6
- from ._checker import snake_zrb_app_name_checker
7
- import os
8
14
 
9
15
  ###############################################################################
10
16
  # 🌳 Env File Definitions
11
17
  ###############################################################################
12
18
 
13
- app_env_file = EnvFile(
14
- path=APP_TEMPLATE_ENV_FILE_NAME, prefix='ZRB_ENV_PREFIX'
15
- )
19
+ app_env_file = EnvFile(path=APP_TEMPLATE_ENV_FILE_NAME, prefix="ZRB_ENV_PREFIX")
16
20
 
17
21
  ###############################################################################
18
22
  # ⚙️ start_kebab-zrb-task-name
19
23
  ###############################################################################
20
24
 
21
25
  start_snake_zrb_app_name = CmdTask(
22
- icon='🚤',
23
- name='start-kebab-zrb-app-name',
24
- description='Start human readable zrb app name',
26
+ icon="🚤",
27
+ name="start-kebab-zrb-app-name",
28
+ description="Start human readable zrb app name",
25
29
  group=project_group,
26
30
  inputs=[
27
31
  local_input,
28
32
  host_input,
29
33
  ],
30
- should_execute='{{input.local_snake_zrb_app_name}}',
34
+ should_execute="{{input.local_snake_zrb_app_name}}",
31
35
  cwd=APP_DIR,
32
36
  env_files=[app_env_file],
33
37
  envs=[
34
- Env(
35
- name='APP_PORT',
36
- os_name='ZRB_ENV_PREFIX_APP_PORT',
37
- default='zrbAppPort'
38
- )
38
+ Env(name="APP_PORT", os_name="ZRB_ENV_PREFIX_APP_PORT", default="zrbAppPort")
39
39
  ],
40
40
  cmd_path=[
41
- os.path.join(CURRENT_DIR, 'cmd', 'app-activate-venv.sh'),
42
- os.path.join(CURRENT_DIR, 'cmd', 'app-start.sh'),
41
+ os.path.join(CURRENT_DIR, "cmd", "app-activate-venv.sh"),
42
+ os.path.join(CURRENT_DIR, "cmd", "app-start.sh"),
43
43
  ],
44
44
  checkers=[
45
45
  snake_zrb_app_name_checker,
46
- ]
46
+ ],
47
47
  )
48
48
  runner.register(start_snake_zrb_app_name)
@@ -1,17 +1,17 @@
1
1
  from zrb import HTTPChecker
2
2
 
3
3
  snake_zrb_app_name_checker = HTTPChecker(
4
- name='check-kebab-zrb-app-name',
5
- is_https='{{input.snake_zrb_app_name_https}}',
6
- host='{{input.snake_zrb_app_name_host}}',
7
- port='{{env.APP_PORT}}',
8
- url='/'
4
+ name="check-kebab-zrb-app-name",
5
+ is_https="{{input.snake_zrb_app_name_https}}",
6
+ host="{{input.snake_zrb_app_name_host}}",
7
+ port="{{env.APP_PORT}}",
8
+ url="/",
9
9
  )
10
10
 
11
11
  snake_zrb_app_name_container_checker = HTTPChecker(
12
- name='check-kebab-zrb-app-name',
13
- is_https='{{input.snake_zrb_app_name_https}}',
14
- host='{{input.snake_zrb_app_name_host}}',
15
- port='{{env.HOST_PORT}}',
16
- url='/'
12
+ name="check-kebab-zrb-app-name",
13
+ is_https="{{input.snake_zrb_app_name_https}}",
14
+ host="{{input.snake_zrb_app_name_host}}",
15
+ port="{{env.HOST_PORT}}",
16
+ url="/",
17
17
  )
@@ -1,50 +1,50 @@
1
+ import os
2
+
1
3
  from zrb import CmdTask, Env, EnvFile, runner
2
4
  from zrb.builtin.group import project_group
5
+
6
+ from ._checker import snake_zrb_app_name_checker
3
7
  from ._common import (
4
- CURRENT_DIR, APP_DIR, APP_TEMPLATE_ENV_FILE_NAME, local_input, host_input,
5
- https_input
8
+ APP_DIR,
9
+ APP_TEMPLATE_ENV_FILE_NAME,
10
+ CURRENT_DIR,
11
+ host_input,
12
+ https_input,
13
+ local_input,
6
14
  )
7
- from ._checker import snake_zrb_app_name_checker
8
- import os
9
15
 
10
16
  ###############################################################################
11
17
  # 🌳 Env File Definitions
12
18
  ###############################################################################
13
19
 
14
- app_env_file = EnvFile(
15
- path=APP_TEMPLATE_ENV_FILE_NAME, prefix='ZRB_ENV_PREFIX'
16
- )
20
+ app_env_file = EnvFile(path=APP_TEMPLATE_ENV_FILE_NAME, prefix="ZRB_ENV_PREFIX")
17
21
 
18
22
  ###############################################################################
19
23
  # Task Definitions
20
24
  ###############################################################################
21
25
 
22
26
  start_snake_zrb_app_name = CmdTask(
23
- icon='🚤',
24
- name='start-kebab-zrb-app-name',
25
- description='Start human readable zrb app name',
27
+ icon="🚤",
28
+ name="start-kebab-zrb-app-name",
29
+ description="Start human readable zrb app name",
26
30
  group=project_group,
27
31
  inputs=[
28
32
  local_input,
29
33
  host_input,
30
34
  https_input,
31
35
  ],
32
- should_execute='{{ input.local_snake_zrb_app_name}}',
36
+ should_execute="{{ input.local_snake_zrb_app_name}}",
33
37
  cwd=APP_DIR,
34
38
  env_files=[app_env_file],
35
39
  envs=[
36
- Env(
37
- name='APP_PORT',
38
- os_name='ZRB_ENV_PREFIX_APP_PORT',
39
- default='zrbAppPort'
40
- )
40
+ Env(name="APP_PORT", os_name="ZRB_ENV_PREFIX_APP_PORT", default="zrbAppPort")
41
41
  ],
42
42
  cmd_path=[
43
- os.path.join(CURRENT_DIR, 'cmd', 'app-activate-venv.sh'),
44
- os.path.join(CURRENT_DIR, 'cmd', 'app-start.sh'),
43
+ os.path.join(CURRENT_DIR, "cmd", "app-activate-venv.sh"),
44
+ os.path.join(CURRENT_DIR, "cmd", "app-start.sh"),
45
45
  ],
46
46
  checkers=[
47
47
  snake_zrb_app_name_checker,
48
- ]
48
+ ],
49
49
  )
50
50
  runner.register(start_snake_zrb_app_name)
@@ -1,25 +1,23 @@
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
2
 
3
- from pulumi_kubernetes.helm.v3 import Chart, LocalChartOpts
4
- import pulumi
5
3
  import os
6
4
 
5
+ import pulumi
6
+ from pulumi_kubernetes.helm.v3 import Chart, LocalChartOpts
7
+
7
8
  CURRENT_DIR = os.path.dirname(__file__)
8
- NAMESPACE = os.getenv('NAMESPACE', 'default')
9
+ NAMESPACE = os.getenv("NAMESPACE", "default")
9
10
 
10
- image = os.getenv('IMAGE', 'kebab-zrb-app-name:latest')
11
- replica = int(os.getenv('REPLICA', '1'))
12
- app_labels = {'app': 'kebab-zrb-app-name'}
11
+ image = os.getenv("IMAGE", "kebab-zrb-app-name:latest")
12
+ replica = int(os.getenv("REPLICA", "1"))
13
+ app_labels = {"app": "kebab-zrb-app-name"}
13
14
 
14
15
  # https://www.pulumi.com/registry/packages/kubernetes/api-docs/helm/v3/chart/#local-chart-directory # noqa
15
16
  release = Chart(
16
- 'kebab-zrb-app-name',
17
+ "kebab-zrb-app-name",
17
18
  LocalChartOpts(
18
- path='./helm-charts/kebab-zrb-app-name',
19
- namespace=NAMESPACE,
20
- values={
21
- }
22
- )
19
+ path="./helm-charts/kebab-zrb-app-name", namespace=NAMESPACE, values={}
20
+ ),
23
21
  )
24
22
 
25
- pulumi.export('helm-release', release.resources)
23
+ pulumi.export("helm-release", release.resources)
@@ -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
7
9
  from zrb.builtin.group import project_add_group
8
- from zrb.task.task import Task
10
+ from zrb.helper.typing import Any
11
+ from zrb.runner import runner
9
12
  from zrb.task.decorator import python_task
10
13
  from zrb.task.resource_maker import ResourceMaker
11
- from zrb.runner import runner
12
-
13
- import os
14
+ from zrb.task.task import Task
14
15
 
15
16
  CURRENT_DIR = os.path.dirname(__file__)
16
17
 
@@ -20,49 +21,46 @@ CURRENT_DIR = os.path.dirname(__file__)
20
21
 
21
22
 
22
23
  @python_task(
23
- name='validate',
24
+ name="validate",
24
25
  inputs=[
25
26
  project_dir_input,
26
27
  task_name_input,
27
- ]
28
+ ],
28
29
  )
29
30
  async def validate(*args: Any, **kwargs: Any):
30
- project_dir = kwargs.get('project_dir')
31
+ project_dir = kwargs.get("project_dir")
31
32
  validate_existing_project_dir(project_dir)
32
- task_name = kwargs.get('task_name')
33
+ task_name = kwargs.get("task_name")
33
34
  validate_inexisting_automation(project_dir, task_name)
34
35
 
35
36
 
36
37
  copy_resource = ResourceMaker(
37
- name='copy-resource',
38
+ name="copy-resource",
38
39
  inputs=[
39
40
  project_dir_input,
40
41
  task_name_input,
41
42
  ],
42
43
  upstreams=[validate],
43
44
  replacements={
44
- 'zrbTaskName': '{{input.task_name}}',
45
+ "zrbTaskName": "{{input.task_name}}",
45
46
  },
46
- template_path=os.path.join(CURRENT_DIR, 'template'),
47
- destination_path='{{ input.project_dir }}',
47
+ template_path=os.path.join(CURRENT_DIR, "template"),
48
+ destination_path="{{ input.project_dir }}",
48
49
  excludes=[
49
- '*/__pycache__',
50
- ]
50
+ "*/__pycache__",
51
+ ],
51
52
  )
52
53
 
53
54
  register_module = create_register_module(
54
- module_path='_automate.{{util.to_snake_case(input.task_name)}}',
55
+ module_path="_automate.{{util.to_snake_case(input.task_name)}}",
55
56
  inputs=[task_name_input],
56
- upstreams=[copy_resource]
57
+ upstreams=[copy_resource],
57
58
  )
58
59
 
59
60
 
60
61
  @python_task(
61
- name='cmd-task',
62
- group=project_add_group,
63
- upstreams=[register_module],
64
- runner=runner
62
+ name="cmd-task", group=project_add_group, upstreams=[register_module], runner=runner
65
63
  )
66
64
  async def add_cmd_task(*args: Any, **kwargs: Any):
67
- task: Task = kwargs.get('_task')
68
- task.print_out('Success')
65
+ task: Task = kwargs.get("_task")
66
+ task.print_out("Success")
@@ -6,11 +6,9 @@ from zrb.builtin.group import project_group
6
6
  ###############################################################################
7
7
 
8
8
  snake_zrb_task_name = CmdTask(
9
- name='kebab-zrb-task-name',
10
- description='human readable zrb task name',
9
+ name="kebab-zrb-task-name",
10
+ description="human readable zrb task name",
11
11
  group=project_group,
12
- cmd=[
13
- 'echo human readable zrb task name'
14
- ]
12
+ cmd=["echo human readable zrb task name"],
15
13
  )
16
14
  runner.register(snake_zrb_task_name)
@@ -1,16 +1,17 @@
1
- from zrb.helper.typing import Optional
2
- from zrb.helper.typecheck import typechecked
1
+ import os
2
+
3
+ from zrb.helper import util
3
4
  from zrb.helper.codemod.add_assert_resource import add_assert_resource
4
5
  from zrb.helper.codemod.add_import_module import add_import_module
5
6
  from zrb.helper.file.text import read_text_file_async, write_text_file_async
6
- from zrb.helper import util
7
- import os
7
+ from zrb.helper.typecheck import typechecked
8
+ from zrb.helper.typing import Optional
8
9
 
9
10
 
10
11
  @typechecked
11
12
  def validate_existing_project_dir(project_dir: str):
12
- if not os.path.isfile(os.path.join(project_dir, 'zrb_init.py')):
13
- raise Exception(f'Not a project: {project_dir}')
13
+ if not os.path.isfile(os.path.join(project_dir, "zrb_init.py")):
14
+ raise Exception(f"Not a project: {project_dir}")
14
15
 
15
16
 
16
17
  @typechecked
@@ -20,38 +21,32 @@ def validate_inexisting_automation(project_dir: str, automation_name: str):
20
21
 
21
22
 
22
23
  @typechecked
23
- def validate_inexisting_automation_package(
24
- project_dir: str, package_name: str
25
- ):
24
+ def validate_inexisting_automation_package(project_dir: str, package_name: str):
26
25
  package_dir = os.path.join(
27
- project_dir, '_automate', f'{util.to_snake_case(package_name)}'
26
+ project_dir, "_automate", f"{util.to_snake_case(package_name)}"
28
27
  )
29
28
  if os.path.exists(package_dir):
30
- raise Exception(f'Automation package already exists: {package_dir}')
29
+ raise Exception(f"Automation package already exists: {package_dir}")
31
30
 
32
31
 
33
32
  @typechecked
34
33
  def validate_inexisting_automation_module(project_dir: str, module_name: str):
35
34
  module_file = os.path.join(
36
- project_dir, '_automate', f'{util.to_snake_case(module_name)}.py'
35
+ project_dir, "_automate", f"{util.to_snake_case(module_name)}.py"
37
36
  )
38
37
  if os.path.exists(module_file):
39
- raise Exception(f'Automation module already exists: {module_file}')
38
+ raise Exception(f"Automation module already exists: {module_file}")
40
39
 
41
40
 
42
41
  @typechecked
43
42
  async def register_module_to_project(
44
43
  project_dir: str, module_path: str, alias: Optional[str] = None
45
44
  ):
46
- zrb_init_path = os.path.join(project_dir, 'zrb_init.py')
45
+ zrb_init_path = os.path.join(project_dir, "zrb_init.py")
47
46
  code = await read_text_file_async(zrb_init_path)
48
47
  if alias is None:
49
- alias = module_path.split('.')[-1]
50
- code = add_import_module(
51
- code=code,
52
- module_path=module_path,
53
- alias=alias
54
- )
48
+ alias = module_path.split(".")[-1]
49
+ code = add_import_module(code=code, module_path=module_path, alias=alias)
55
50
  code = add_assert_resource(code, alias)
56
51
  await write_text_file_async(zrb_init_path, code)
57
52
  return True