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,20 +1,25 @@
1
- from zrb.helper.typing import Any
2
- from zrb.builtin.generator.common.task_input import (
3
- project_dir_input, package_name_input, package_description_input,
4
- package_homepage_input, package_bug_tracker_input,
5
- package_author_name_input, package_author_email_input
6
- )
1
+ import os
2
+
7
3
  from zrb.builtin.generator.common.helper import (
8
- validate_existing_project_dir, validate_inexisting_automation
4
+ validate_existing_project_dir,
5
+ validate_inexisting_automation,
9
6
  )
10
7
  from zrb.builtin.generator.common.task_factory import create_register_module
8
+ from zrb.builtin.generator.common.task_input import (
9
+ package_author_email_input,
10
+ package_author_name_input,
11
+ package_bug_tracker_input,
12
+ package_description_input,
13
+ package_homepage_input,
14
+ package_name_input,
15
+ project_dir_input,
16
+ )
11
17
  from zrb.builtin.group import project_add_group
18
+ from zrb.helper.typing import Any
19
+ from zrb.runner import runner
12
20
  from zrb.task.decorator import python_task
13
- from zrb.task.task import Task
14
21
  from zrb.task.resource_maker import ResourceMaker
15
- from zrb.runner import runner
16
-
17
- import os
22
+ from zrb.task.task import Task
18
23
 
19
24
  CURRENT_DIR = os.path.dirname(__file__)
20
25
 
@@ -24,22 +29,16 @@ CURRENT_DIR = os.path.dirname(__file__)
24
29
  ###############################################################################
25
30
 
26
31
 
27
- @python_task(
28
- name='validate',
29
- inputs=[
30
- project_dir_input,
31
- package_name_input
32
- ]
33
- )
32
+ @python_task(name="validate", inputs=[project_dir_input, package_name_input])
34
33
  async def validate(*args: Any, **kwargs: Any):
35
- project_dir = kwargs.get('project_dir')
34
+ project_dir = kwargs.get("project_dir")
36
35
  validate_existing_project_dir(project_dir)
37
- package_name = kwargs.get('package_name')
36
+ package_name = kwargs.get("package_name")
38
37
  validate_inexisting_automation(project_dir, package_name)
39
38
 
40
39
 
41
40
  copy_resource = ResourceMaker(
42
- name='copy-resource',
41
+ name="copy-resource",
43
42
  inputs=[
44
43
  project_dir_input,
45
44
  package_name_input,
@@ -47,34 +46,34 @@ copy_resource = ResourceMaker(
47
46
  package_homepage_input,
48
47
  package_bug_tracker_input,
49
48
  package_author_name_input,
50
- package_author_email_input
49
+ package_author_email_input,
51
50
  ],
52
51
  upstreams=[validate],
53
52
  replacements={
54
- 'zrbPackageName': '{{input.package_name}}',
55
- 'zrbPackageDescription': '{{input.package_description}}',
56
- 'zrbPackageHomepage': '{{input.package_homepage}}',
57
- 'zrbPackageBugTracker': '{{input.package_bug_tracker}}',
58
- 'zrbPackageAuthorName': '{{input.package_author_name}}',
59
- 'zrbPackageAuthorEmail': '{{input.package_author_email}}'
53
+ "zrbPackageName": "{{input.package_name}}",
54
+ "zrbPackageDescription": "{{input.package_description}}",
55
+ "zrbPackageHomepage": "{{input.package_homepage}}",
56
+ "zrbPackageBugTracker": "{{input.package_bug_tracker}}",
57
+ "zrbPackageAuthorName": "{{input.package_author_name}}",
58
+ "zrbPackageAuthorEmail": "{{input.package_author_email}}",
60
59
  },
61
- template_path=os.path.join(CURRENT_DIR, 'template'),
62
- destination_path='{{ input.project_dir }}',
60
+ template_path=os.path.join(CURRENT_DIR, "template"),
61
+ destination_path="{{ input.project_dir }}",
63
62
  excludes=[
64
- '*/__pycache__',
65
- ]
63
+ "*/__pycache__",
64
+ ],
66
65
  )
67
66
 
68
67
  register_module = create_register_module(
69
- module_path='_automate.{{util.to_snake_case(input.package_name)}}.local',
70
- alias='{{util.to_snake_case(input.package_name)}}_local',
68
+ module_path="_automate.{{util.to_snake_case(input.package_name)}}.local",
69
+ alias="{{util.to_snake_case(input.package_name)}}_local",
71
70
  inputs=[package_name_input],
72
- upstreams=[copy_resource]
71
+ upstreams=[copy_resource],
73
72
  )
74
73
 
75
74
 
76
75
  @python_task(
77
- name='pip-package',
76
+ name="pip-package",
78
77
  group=project_add_group,
79
78
  upstreams=[register_module],
80
79
  inputs=[
@@ -84,10 +83,10 @@ register_module = create_register_module(
84
83
  package_homepage_input,
85
84
  package_bug_tracker_input,
86
85
  package_author_name_input,
87
- package_author_email_input
86
+ package_author_email_input,
88
87
  ],
89
- runner=runner
88
+ runner=runner,
90
89
  )
91
90
  async def add_pip_package(*args: Any, **kwargs: Any):
92
- task: Task = kwargs.get('_task')
93
- task.print_out('Success')
91
+ task: Task = kwargs.get("_task")
92
+ task.print_out("Success")
@@ -1,26 +1,26 @@
1
- from zrb import CmdTask, runner, StrInput
2
- from zrb.builtin.group import project_group
3
-
4
1
  import os
5
2
 
3
+ from zrb import CmdTask, StrInput, runner
4
+ from zrb.builtin.group import project_group
5
+
6
6
  CURRENT_DIR = os.path.dirname(__file__)
7
- PROJECT_DIR = os.path.abspath(os.path.join(CURRENT_DIR, '..', '..'))
8
- RESOURCE_DIR = os.path.join(PROJECT_DIR, 'src', 'kebab-zrb-package-name')
9
- PACKAGE_DIR = os.path.join(RESOURCE_DIR, 'src')
7
+ PROJECT_DIR = os.path.abspath(os.path.join(CURRENT_DIR, "..", ".."))
8
+ RESOURCE_DIR = os.path.join(PROJECT_DIR, "src", "kebab-zrb-package-name")
9
+ PACKAGE_DIR = os.path.join(RESOURCE_DIR, "src")
10
10
 
11
11
  ###############################################################################
12
12
  # ⚙️ prepare-kebab-zrb-package-name
13
13
  ###############################################################################
14
14
 
15
15
  prepare_snake_zrb_package_name = CmdTask(
16
- name='prepare-kebab-zrb-package-name',
17
- description='Prepare venv for human readable zrb package name',
16
+ name="prepare-kebab-zrb-package-name",
17
+ description="Prepare venv for human readable zrb package name",
18
18
  group=project_group,
19
19
  cwd=RESOURCE_DIR,
20
20
  cmd_path=[
21
- os.path.join(CURRENT_DIR, 'cmd', 'activate-venv.sh'),
22
- os.path.join(CURRENT_DIR, 'cmd', 'prepare-venv.sh'),
23
- ]
21
+ os.path.join(CURRENT_DIR, "cmd", "activate-venv.sh"),
22
+ os.path.join(CURRENT_DIR, "cmd", "prepare-venv.sh"),
23
+ ],
24
24
  )
25
25
  runner.register(prepare_snake_zrb_package_name)
26
26
 
@@ -29,15 +29,15 @@ runner.register(prepare_snake_zrb_package_name)
29
29
  ###############################################################################
30
30
 
31
31
  build_snake_zrb_package_name = CmdTask(
32
- name='build-kebab-zrb-package-name',
33
- description='Build human readable zrb package name',
32
+ name="build-kebab-zrb-package-name",
33
+ description="Build human readable zrb package name",
34
34
  group=project_group,
35
35
  upstreams=[prepare_snake_zrb_package_name],
36
36
  cwd=RESOURCE_DIR,
37
37
  cmd_path=[
38
- os.path.join(CURRENT_DIR, 'cmd', 'activate-venv.sh'),
39
- os.path.join(CURRENT_DIR, 'cmd', 'build.sh'),
40
- ]
38
+ os.path.join(CURRENT_DIR, "cmd", "activate-venv.sh"),
39
+ os.path.join(CURRENT_DIR, "cmd", "build.sh"),
40
+ ],
41
41
  )
42
42
  runner.register(build_snake_zrb_package_name)
43
43
 
@@ -46,23 +46,23 @@ runner.register(build_snake_zrb_package_name)
46
46
  ###############################################################################
47
47
 
48
48
  publish_snake_zrb_package_name = CmdTask(
49
- name='publish-kebab-zrb-package-name',
50
- description='Publish human readable zrb package name',
49
+ name="publish-kebab-zrb-package-name",
50
+ description="Publish human readable zrb package name",
51
51
  group=project_group,
52
52
  inputs=[
53
53
  StrInput(
54
- name='kebab-zrb-package-name-repo',
55
- prompt='Pypi repository for human readable zrb package name',
56
- description='Pypi repository for human readalbe zrb package name',
57
- default='pypi',
54
+ name="kebab-zrb-package-name-repo",
55
+ prompt="Pypi repository for human readable zrb package name",
56
+ description="Pypi repository for human readalbe zrb package name",
57
+ default="pypi",
58
58
  )
59
59
  ],
60
60
  upstreams=[build_snake_zrb_package_name],
61
61
  cwd=RESOURCE_DIR,
62
62
  cmd_path=[
63
- os.path.join(CURRENT_DIR, 'cmd', 'activate-venv.sh'),
64
- os.path.join(CURRENT_DIR, 'cmd', 'publish.sh'),
65
- ]
63
+ os.path.join(CURRENT_DIR, "cmd", "activate-venv.sh"),
64
+ os.path.join(CURRENT_DIR, "cmd", "publish.sh"),
65
+ ],
66
66
  )
67
67
  runner.register(publish_snake_zrb_package_name)
68
68
 
@@ -71,14 +71,14 @@ runner.register(publish_snake_zrb_package_name)
71
71
  ###############################################################################
72
72
 
73
73
  install_snake_zrb_package_name_symlink = CmdTask(
74
- name='install-kebab-zrb-package-name-symlink',
75
- description='Install human readable zrb package name as symlink',
74
+ name="install-kebab-zrb-package-name-symlink",
75
+ description="Install human readable zrb package name as symlink",
76
76
  group=project_group,
77
77
  upstreams=[build_snake_zrb_package_name],
78
78
  cwd=RESOURCE_DIR,
79
79
  cmd_path=[
80
- os.path.join(CURRENT_DIR, 'cmd', 'activate-venv.sh'),
81
- os.path.join(CURRENT_DIR, 'cmd', 'install-symlink.sh'),
82
- ]
80
+ os.path.join(CURRENT_DIR, "cmd", "activate-venv.sh"),
81
+ os.path.join(CURRENT_DIR, "cmd", "install-symlink.sh"),
82
+ ],
83
83
  )
84
84
  runner.register(install_snake_zrb_package_name_symlink)
@@ -1,2 +1,2 @@
1
- def hello(name: str = 'World'):
2
- return f'Hello {name}!'
1
+ def hello(name: str = "World"):
2
+ return f"Hello {name}!"
@@ -1,25 +1,28 @@
1
- from zrb.builtin.group import plugin_group
1
+ import os
2
+
2
3
  from zrb.builtin.generator.common.task_input import (
3
- project_dir_input, package_description_input,
4
- package_homepage_input, package_bug_tracker_input,
5
- package_author_name_input, package_author_email_input
4
+ package_author_email_input,
5
+ package_author_name_input,
6
+ package_bug_tracker_input,
7
+ package_description_input,
8
+ package_homepage_input,
9
+ project_dir_input,
6
10
  )
7
- from zrb.task.resource_maker import ResourceMaker
11
+ from zrb.builtin.group import plugin_group
12
+ from zrb.config.config import version
13
+ from zrb.runner import runner
8
14
  from zrb.task.cmd_task import CmdTask
15
+ from zrb.task.resource_maker import ResourceMaker
9
16
  from zrb.task_input.str_input import StrInput
10
- from zrb.runner import runner
11
- from zrb.config.config import version
12
-
13
- import os
14
17
 
15
18
  CURRENT_DIR = os.path.dirname(__file__)
16
19
 
17
20
  plugin_package_name_input = StrInput(
18
- name='package-name',
19
- shortcut='p',
20
- description='Package name',
21
- prompt='Package name',
22
- default='{{ input.project_dir }}',
21
+ name="package-name",
22
+ shortcut="p",
23
+ description="Package name",
24
+ prompt="Package name",
25
+ default="{{ input.project_dir }}",
23
26
  )
24
27
 
25
28
 
@@ -28,7 +31,7 @@ plugin_package_name_input = StrInput(
28
31
  ###############################################################################
29
32
 
30
33
  copy_resource = ResourceMaker(
31
- name='copy-resource',
34
+ name="copy-resource",
32
35
  inputs=[
33
36
  project_dir_input,
34
37
  plugin_package_name_input,
@@ -36,39 +39,39 @@ copy_resource = ResourceMaker(
36
39
  package_homepage_input,
37
40
  package_bug_tracker_input,
38
41
  package_author_name_input,
39
- package_author_email_input
42
+ package_author_email_input,
40
43
  ],
41
44
  replacements={
42
- 'zrbPackageName': '{{input.package_name}}',
43
- 'zrbPackageDescription': '{{input.package_description}}',
44
- 'zrbPackageHomepage': '{{input.package_homepage}}',
45
- 'zrbPackageBugTracker': '{{input.package_bug_tracker}}',
46
- 'zrbPackageAuthorName': '{{input.package_author_name}}',
47
- 'zrbPackageAuthorEmail': '{{input.package_author_email}}',
48
- 'zrbVersion': version
45
+ "zrbPackageName": "{{input.package_name}}",
46
+ "zrbPackageDescription": "{{input.package_description}}",
47
+ "zrbPackageHomepage": "{{input.package_homepage}}",
48
+ "zrbPackageBugTracker": "{{input.package_bug_tracker}}",
49
+ "zrbPackageAuthorName": "{{input.package_author_name}}",
50
+ "zrbPackageAuthorEmail": "{{input.package_author_email}}",
51
+ "zrbVersion": version,
49
52
  },
50
- template_path=os.path.join(CURRENT_DIR, 'template'),
51
- destination_path='{{ input.project_dir }}',
53
+ template_path=os.path.join(CURRENT_DIR, "template"),
54
+ destination_path="{{ input.project_dir }}",
52
55
  excludes=[
53
- '*/__pycache__',
54
- ]
56
+ "*/__pycache__",
57
+ ],
55
58
  )
56
59
 
57
60
  create = CmdTask(
58
- name='create',
59
- description='Create plugin',
61
+ name="create",
62
+ description="Create plugin",
60
63
  group=plugin_group,
61
64
  upstreams=[copy_resource],
62
65
  inputs=[project_dir_input],
63
66
  cmd=[
64
- 'set -e',
67
+ "set -e",
65
68
  'cd "{{input.project_dir}}"',
66
- 'if [ ! -d .git ]',
67
- 'then',
68
- ' echo Initialize project git repository',
69
- ' git init',
70
- 'fi',
69
+ "if [ ! -d .git ]",
70
+ "then",
71
+ " echo Initialize project git repository",
72
+ " git init",
73
+ "fi",
71
74
  'echo "Happy coding :)"',
72
- ]
75
+ ],
73
76
  )
74
77
  runner.register(create)
@@ -2,6 +2,6 @@ from .task.example_task import ExampleTask
2
2
 
3
3
 
4
4
  def main():
5
- task = ExampleTask(name='main')
5
+ task = ExampleTask(name="main")
6
6
  fn = task.to_function()
7
7
  fn()
@@ -1,2 +1,3 @@
1
1
  from .task.example_task import ExampleTask
2
+
2
3
  assert ExampleTask
@@ -1,14 +1,16 @@
1
1
  from typing import Any
2
+
2
3
  from zrb import Task
3
4
 
4
- HELLO_WORLD = '👋🌍'
5
+ HELLO_WORLD = "👋🌍"
5
6
 
6
7
 
7
8
  class ExampleTask(Task):
8
- '''
9
+ """
9
10
  ExampleTask, write "Hello World" in emoji.
10
- '''
11
+ """
12
+
11
13
  async def run(self, *args: Any, **kwargs: Any) -> Any:
12
- task: Task = kwargs.get('_task')
14
+ task: Task = kwargs.get("_task")
13
15
  task.print_out(HELLO_WORLD)
14
16
  return HELLO_WORLD
@@ -1,8 +1,8 @@
1
- from zrb import CmdTask, runner, StrInput
2
- from zrb.builtin.group import plugin_group
3
-
4
1
  import os
5
2
 
3
+ from zrb import CmdTask, StrInput, runner
4
+ from zrb.builtin.group import plugin_group
5
+
6
6
  PROJECT_DIR = os.path.dirname(__file__)
7
7
 
8
8
  ###############################################################################
@@ -10,14 +10,14 @@ PROJECT_DIR = os.path.dirname(__file__)
10
10
  ###############################################################################
11
11
 
12
12
  prepare_plugin = CmdTask(
13
- name='prepare',
13
+ name="prepare",
14
14
  group=plugin_group,
15
- description='Prepare venv for plugin',
15
+ description="Prepare venv for plugin",
16
16
  cwd=PROJECT_DIR,
17
17
  cmd_path=[
18
- os.path.join(PROJECT_DIR, '_cmd', 'activate-venv.sh'),
19
- os.path.join(PROJECT_DIR, '_cmd', 'prepare-venv.sh'),
20
- ]
18
+ os.path.join(PROJECT_DIR, "_cmd", "activate-venv.sh"),
19
+ os.path.join(PROJECT_DIR, "_cmd", "prepare-venv.sh"),
20
+ ],
21
21
  )
22
22
  runner.register(prepare_plugin)
23
23
 
@@ -26,15 +26,15 @@ runner.register(prepare_plugin)
26
26
  ###############################################################################
27
27
 
28
28
  build_plugin = CmdTask(
29
- name='build',
29
+ name="build",
30
30
  group=plugin_group,
31
- description='Build plugin',
31
+ description="Build plugin",
32
32
  upstreams=[prepare_plugin],
33
33
  cwd=PROJECT_DIR,
34
34
  cmd_path=[
35
- os.path.join(PROJECT_DIR, '_cmd', 'activate-venv.sh'),
36
- os.path.join(PROJECT_DIR, '_cmd', 'build.sh'),
37
- ]
35
+ os.path.join(PROJECT_DIR, "_cmd", "activate-venv.sh"),
36
+ os.path.join(PROJECT_DIR, "_cmd", "build.sh"),
37
+ ],
38
38
  )
39
39
  runner.register(build_plugin)
40
40
 
@@ -43,23 +43,23 @@ runner.register(build_plugin)
43
43
  ###############################################################################
44
44
 
45
45
  publish_plugin = CmdTask(
46
- name='publish',
46
+ name="publish",
47
47
  group=plugin_group,
48
- description='Publish plugin',
48
+ description="Publish plugin",
49
49
  inputs=[
50
50
  StrInput(
51
- name='plugin-repo',
52
- prompt='Pypi repository for plugin',
53
- description='Pypi repository for human readalbe zrb package name',
54
- default='pypi',
51
+ name="plugin-repo",
52
+ prompt="Pypi repository for plugin",
53
+ description="Pypi repository for human readalbe zrb package name",
54
+ default="pypi",
55
55
  )
56
56
  ],
57
57
  upstreams=[build_plugin],
58
58
  cwd=PROJECT_DIR,
59
59
  cmd_path=[
60
- os.path.join(PROJECT_DIR, '_cmd', 'activate-venv.sh'),
61
- os.path.join(PROJECT_DIR, '_cmd', 'publish.sh'),
62
- ]
60
+ os.path.join(PROJECT_DIR, "_cmd", "activate-venv.sh"),
61
+ os.path.join(PROJECT_DIR, "_cmd", "publish.sh"),
62
+ ],
63
63
  )
64
64
  runner.register(publish_plugin)
65
65
 
@@ -68,14 +68,14 @@ runner.register(publish_plugin)
68
68
  ###############################################################################
69
69
 
70
70
  install_plugin_symlink = CmdTask(
71
- name='install-symlink',
71
+ name="install-symlink",
72
72
  group=plugin_group,
73
- description='Install plugin as symlink',
73
+ description="Install plugin as symlink",
74
74
  upstreams=[build_plugin],
75
75
  cwd=PROJECT_DIR,
76
76
  cmd_path=[
77
- os.path.join(PROJECT_DIR, '_cmd', 'activate-venv.sh'),
78
- os.path.join(PROJECT_DIR, '_cmd', 'install-symlink.sh'),
79
- ]
77
+ os.path.join(PROJECT_DIR, "_cmd", "activate-venv.sh"),
78
+ os.path.join(PROJECT_DIR, "_cmd", "install-symlink.sh"),
79
+ ],
80
80
  )
81
81
  runner.register(install_plugin_symlink)
@@ -1,24 +1,23 @@
1
- from zrb.helper.typing import Any, Mapping
2
- from zrb.helper.typecheck import typechecked
1
+ import os
2
+
3
3
  from zrb.builtin.generator.common.task_input import (
4
- project_dir_input, project_name_input
5
- )
6
- from zrb.builtin.generator.project_task.task_factory import (
7
- create_ensure_project_tasks
4
+ project_dir_input,
5
+ project_name_input,
8
6
  )
7
+ from zrb.builtin.generator.project_task.task_factory import create_ensure_project_tasks
9
8
  from zrb.builtin.group import project_group
9
+ from zrb.config.config import version
10
+ from zrb.helper.typecheck import typechecked
11
+ from zrb.helper.typing import Any, Mapping
12
+ from zrb.runner import runner
10
13
  from zrb.task.cmd_task import CmdTask
11
14
  from zrb.task.decorator import python_task
12
15
  from zrb.task.resource_maker import ResourceMaker
13
- from zrb.runner import runner
14
- from zrb.config.config import version
15
-
16
- import os
17
16
 
18
17
  CURRENT_DIR = os.path.dirname(__file__)
19
- SYSTEM_USER = os.getenv('USER', 'incognito')
18
+ SYSTEM_USER = os.getenv("USER", "incognito")
20
19
  IMAGE_DEFAULT_NAMESPACE = os.getenv(
21
- 'PROJECT_IMAGE_DEFAULT_NAMESPACE', 'docker.io/' + SYSTEM_USER
20
+ "PROJECT_IMAGE_DEFAULT_NAMESPACE", "docker.io/" + SYSTEM_USER
22
21
  )
23
22
 
24
23
  ###############################################################################
@@ -30,13 +29,11 @@ IMAGE_DEFAULT_NAMESPACE = os.getenv(
30
29
  def copy_resource_replacement_mutator(
31
30
  task: ResourceMaker, replacements: Mapping[str, str]
32
31
  ) -> Mapping[str, str]:
33
- replacements['zrbBaseProjectDir'] = os.path.basename(
34
- replacements.get('zrbProjectDir', '')
32
+ replacements["zrbBaseProjectDir"] = os.path.basename(
33
+ replacements.get("zrbProjectDir", "")
35
34
  )
36
- if replacements.get('zrbProjectName', '') == '':
37
- replacements['zrbProjectName'] = replacements.get(
38
- 'zrbBaseProjectDir', ''
39
- )
35
+ if replacements.get("zrbProjectName", "") == "":
36
+ replacements["zrbProjectName"] = replacements.get("zrbBaseProjectDir", "")
40
37
  return replacements
41
38
 
42
39
 
@@ -46,55 +43,50 @@ def copy_resource_replacement_mutator(
46
43
 
47
44
 
48
45
  @python_task(
49
- name='validate',
46
+ name="validate",
50
47
  inputs=[project_dir_input],
51
48
  retry=0,
52
49
  )
53
50
  async def validate(*args: Any, **kwargs: Any):
54
- project_dir = kwargs.get('project_dir')
55
- if os.path.isfile(os.path.join(project_dir, 'zrb_init.py')):
56
- raise Exception(f'Project directory already exists: {project_dir}')
51
+ project_dir = kwargs.get("project_dir")
52
+ if os.path.isfile(os.path.join(project_dir, "zrb_init.py")):
53
+ raise Exception(f"Project directory already exists: {project_dir}")
57
54
 
58
55
 
59
56
  copy_resource = ResourceMaker(
60
- name='copy-resource',
61
- inputs=[
62
- project_dir_input,
63
- project_name_input
64
- ],
57
+ name="copy-resource",
58
+ inputs=[project_dir_input, project_name_input],
65
59
  upstreams=[validate],
66
60
  replacements={
67
- 'zrbProjectDir': '{{input.project_dir}}',
68
- 'zrbProjectName': '{{input.project_name}}',
69
- 'zrbImageDefaultNamespace': IMAGE_DEFAULT_NAMESPACE,
70
- 'zrbVersion': version,
61
+ "zrbProjectDir": "{{input.project_dir}}",
62
+ "zrbProjectName": "{{input.project_name}}",
63
+ "zrbImageDefaultNamespace": IMAGE_DEFAULT_NAMESPACE,
64
+ "zrbVersion": version,
71
65
  },
72
66
  replacement_mutator=copy_resource_replacement_mutator,
73
- template_path=os.path.join(CURRENT_DIR, 'template'),
74
- destination_path='{{input.project_dir}}',
67
+ template_path=os.path.join(CURRENT_DIR, "template"),
68
+ destination_path="{{input.project_dir}}",
75
69
  excludes=[
76
- '*/__pycache__',
77
- ]
70
+ "*/__pycache__",
71
+ ],
78
72
  )
79
73
 
80
- ensure_project_tasks = create_ensure_project_tasks(
81
- upstreams=[copy_resource]
82
- )
74
+ ensure_project_tasks = create_ensure_project_tasks(upstreams=[copy_resource])
83
75
 
84
76
  create_project = CmdTask(
85
- name='create',
77
+ name="create",
86
78
  group=project_group,
87
79
  upstreams=[ensure_project_tasks],
88
80
  inputs=[project_dir_input],
89
81
  cmd=[
90
- 'set -e',
82
+ "set -e",
91
83
  'cd "{{input.project_dir}}"',
92
- 'if [ ! -d .git ]',
93
- 'then',
94
- ' echo Initialize project git repository',
95
- ' git init',
96
- 'fi',
84
+ "if [ ! -d .git ]",
85
+ "then",
86
+ " echo Initialize project git repository",
87
+ " git init",
88
+ "fi",
97
89
  'echo "Happy coding :)"',
98
- ]
90
+ ],
99
91
  )
100
92
  runner.register(create_project)
@@ -0,0 +1,3 @@
1
+ [flake8]
2
+ max-line-length = 88
3
+ extend-ignore = E203, E704