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.
- zrb/__init__.py +24 -20
- zrb/__main__.py +5 -5
- zrb/action/runner.py +22 -30
- zrb/advertisement.py +10 -9
- zrb/builtin/__init__.py +18 -16
- zrb/builtin/base64.py +13 -18
- zrb/builtin/devtool/__init__.py +14 -3
- zrb/builtin/devtool/devtool_install.py +207 -221
- zrb/builtin/env.py +9 -12
- zrb/builtin/eval.py +9 -9
- zrb/builtin/explain.py +73 -74
- zrb/builtin/generator/__init__.py +7 -11
- zrb/builtin/generator/app_generator/add.py +86 -87
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/add.py +78 -77
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_checker.py +6 -6
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/_common.py +14 -15
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/container.py +32 -32
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/deployment.py +29 -30
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/image.py +1 -3
- zrb/builtin/generator/app_generator/template/base/_automate/generate_snake_zrb_meta_template_name/template/_automate/snake_zrb_app_name/local.py +5 -4
- 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
- zrb/builtin/generator/app_generator/template/build-custom-image/_automate/generate_snake_zrb_meta_template_name/add.py +89 -87
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- zrb/builtin/generator/cmd_task/add.py +23 -25
- zrb/builtin/generator/cmd_task/template/_automate/snake_zrb_task_name.py +3 -5
- zrb/builtin/generator/common/helper.py +15 -20
- zrb/builtin/generator/common/task_factory.py +29 -26
- zrb/builtin/generator/common/task_input.py +97 -91
- zrb/builtin/generator/docker_compose_task/add.py +38 -39
- zrb/builtin/generator/docker_compose_task/template/_automate/snake_zrb_task_name.py +13 -19
- zrb/builtin/generator/docker_compose_task/template/src/kebab-zrb-task-name/image/main.py +18 -14
- zrb/builtin/generator/fastapp/add.py +94 -90
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_checker.py +28 -27
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_config.py +68 -39
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_env.py +24 -22
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_env_file.py +12 -12
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_get_start_microservices.py +43 -41
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_helper.py +23 -24
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/_input.py +21 -20
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-load-test.sh +1 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-start.sh +1 -1
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/cmd/app-test.sh +2 -2
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/container.py +46 -39
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/deployment.py +28 -20
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/frontend.py +21 -27
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/image.py +23 -18
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/load_test.py +35 -36
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/local.py +68 -58
- zrb/builtin/generator/fastapp/template/_automate/snake_zrb_app_name/test.py +24 -38
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/__main__.py +23 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/_common.py +72 -75
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/app_helper.py +70 -75
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_postgresql_helper.py +18 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_rabbitmq_helper.py +11 -19
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_redpanda_helper.py +18 -15
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/deployment/helm_signoz_helper.py +17 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/docker-compose.yml +12 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/loadtest/locustfile.py +10 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/Dockerfile +1 -0
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app.py +35 -30
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app_lifespan.py +21 -17
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/app_state.py +3 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/db_connection.py +18 -20
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/frontend_index.py +5 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/log.py +7 -15
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/messagebus.py +38 -34
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/component/rpc.py +19 -18
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/config.py +68 -103
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/error.py +11 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/__init__.py +2 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/admin.py +38 -35
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/consumer.py +38 -45
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/kafka/publisher.py +26 -29
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/messagebus.py +8 -14
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/mock.py +12 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/admin.py +37 -44
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/consumer.py +42 -67
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/messagebus/rabbitmq/publisher.py +32 -55
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/model/repo_model.py +11 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/__init__.py +2 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/db_entity_mixin.py +3 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/db_repo.py +76 -83
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/repo.py +5 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/repo/search_filter.py +1 -0
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/__init__.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/messagebus/caller.py +17 -19
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/messagebus/server.py +14 -18
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/rpc/rpc.py +15 -28
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/schema/__init__.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/schema/base_schema.py +6 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/serializer/__init__.py +1 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/core/serializer/serializer.py +3 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/async_task.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/conversion.py +10 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/helper/migration.py +6 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/migrate.py +3 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/api.py +7 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/__init__.py +4 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/access_token_scheme.py +9 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/access_token_util.py +6 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/authorizer.py +4 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/bearer_token_scheme.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/model/user_model.py +8 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/password_hasher.py +1 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/refresh_token_util.py +7 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/group_repo.py +3 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/permission_repo.py +3 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/repo/user_repo.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/component/user.py +12 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/__init__.py +7 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/access_token/scheme.py +7 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/access_token/util.py +20 -30
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/authorizer/authorizer.py +1 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/authorizer/rpc_authorizer.py +5 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/password_hasher/bcrypt_password_hasher.py +3 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/password_hasher/password_hasher.py +0 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/core/refresh_token/util.py +15 -21
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/api.py +42 -49
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/model.py +3 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/repo.py +18 -16
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/group/rpc.py +26 -41
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/api.py +46 -51
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/model.py +5 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/repo.py +11 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/permission/rpc.py +28 -45
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/table.py +10 -10
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/api.py +60 -72
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/model.py +32 -61
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/repo.py +33 -36
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/entity/user/rpc.py +42 -61
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/event.py +2 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/migrate.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/register_module.py +11 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/register_permission.py +19 -26
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/rpc.py +5 -13
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/group.py +6 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/permission.py +3 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/request.py +1 -0
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/token.py +2 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/auth/schema/user.py +4 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/api.py +4 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/component/model/activity_model.py +3 -9
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/component/repo/activity_repo.py +3 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/core/historical_repo_model.py +13 -13
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/api.py +22 -23
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/event.py +5 -7
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/model.py +2 -6
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/repo.py +8 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/activity/rpc.py +28 -45
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/entity/table.py +3 -3
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/event.py +4 -8
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/migrate.py +2 -4
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/register_module.py +10 -11
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/rpc.py +3 -5
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/module/log/schema/activity.py +3 -1
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/src/requirements.txt +12 -12
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_group_crud.py +76 -106
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_permission_crud.py +73 -103
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_user_crud.py +92 -122
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/auth/test_user_login.py +107 -134
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/conftest.py +2 -2
- zrb/builtin/generator/fastapp/template/src/kebab-zrb-app-name/test/test_liveness_and_readiness.py +8 -15
- zrb/builtin/generator/fastapp_crud/add.py +74 -79
- zrb/builtin/generator/fastapp_crud/helper.py +51 -48
- zrb/builtin/generator/fastapp_crud/task_factory.py +17 -14
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- zrb/builtin/generator/fastapp_crud/template/src/kebab-zrb-app-name/test/snake_zrb_module_name/test_snake_zrb_entity_name.py +68 -98
- zrb/builtin/generator/fastapp_field/add.py +143 -85
- zrb/builtin/generator/fastapp_field/helper.py +184 -125
- zrb/builtin/generator/fastapp_module/add.py +90 -67
- zrb/builtin/generator/fastapp_module/helper.py +141 -155
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/api.py +3 -2
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/entity/table.py +3 -3
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/event.py +3 -5
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/migrate.py +2 -4
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/register_module.py +10 -11
- zrb/builtin/generator/fastapp_module/template/src/kebab-zrb-app-name/src/module/snake_zrb_module_name/rpc.py +3 -5
- zrb/builtin/generator/pip_package/add.py +39 -40
- zrb/builtin/generator/pip_package/template/_automate/snake_zrb_package_name/local.py +30 -30
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__init__.py +1 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/__main__.py +1 -0
- zrb/builtin/generator/pip_package/template/src/kebab-zrb-package-name/src/snake_zrb_package_name/util.py +2 -2
- zrb/builtin/generator/plugin/create.py +39 -36
- zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/__init__.py +1 -1
- zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/__main__.py +1 -0
- zrb/builtin/generator/plugin/template/src/snake_zrb_package_name/task/example_task.py +6 -4
- zrb/builtin/generator/plugin/template/zrb_init.py +27 -27
- zrb/builtin/generator/project/create.py +38 -46
- zrb/builtin/generator/project/template/.flake8 +3 -0
- zrb/builtin/generator/project/template/project.sh +19 -10
- zrb/builtin/generator/project_task/task_factory.py +60 -61
- zrb/builtin/generator/project_task/template/_automate/_project/__init__.py +2 -2
- zrb/builtin/generator/project_task/template/_automate/_project/build_project_images.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/deploy_project.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/destroy_project.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/push_project_images.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/remove_project_containers.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/start_project.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/start_project_containers.py +4 -4
- zrb/builtin/generator/project_task/template/_automate/_project/stop_project_containers.py +4 -4
- zrb/builtin/generator/python_task/add.py +25 -33
- zrb/builtin/generator/python_task/template/_automate/snake_zrb_task_name.py +8 -7
- zrb/builtin/generator/simple_python_app/add.py +81 -75
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/_common.py +14 -15
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/container.py +46 -61
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/deployment.py +34 -32
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/image.py +19 -22
- zrb/builtin/generator/simple_python_app/template/_automate/snake_zrb_app_name/local.py +23 -25
- zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/deployment/__main__.py +24 -32
- zrb/builtin/generator/simple_python_app/template/src/kebab-zrb-app-name/src/main.py +18 -14
- zrb/builtin/git.py +46 -46
- zrb/builtin/group.py +13 -34
- zrb/builtin/helper/reccuring_action.py +26 -29
- zrb/builtin/md5.py +17 -30
- zrb/builtin/process.py +19 -19
- zrb/builtin/project.py +13 -15
- zrb/builtin/say.py +69 -88
- zrb/builtin/schedule.py +15 -19
- zrb/builtin/ubuntu.py +44 -35
- zrb/builtin/update.py +5 -5
- zrb/builtin/version.py +3 -7
- zrb/builtin/watch_changes.py +24 -25
- zrb/config/config.py +19 -18
- zrb/helper/accessories/color.py +18 -6
- zrb/helper/accessories/icon.py +24 -3
- zrb/helper/accessories/name.py +120 -28
- zrb/helper/advertisement.py +9 -13
- zrb/helper/callable.py +2 -4
- zrb/helper/cli.py +27 -31
- zrb/helper/codemod/add_argument_to_function.py +3 -4
- zrb/helper/codemod/add_argument_to_function_call.py +4 -7
- zrb/helper/codemod/add_assert_resource.py +7 -7
- zrb/helper/codemod/add_function_call.py +3 -5
- zrb/helper/codemod/add_import_module.py +15 -26
- zrb/helper/codemod/add_key_value_to_dict.py +7 -10
- zrb/helper/codemod/add_property_to_class.py +10 -8
- zrb/helper/codemod/add_upstream_to_task.py +21 -33
- zrb/helper/codemod/append_code_to_function.py +6 -13
- zrb/helper/codemod/format_code.py +2 -1
- zrb/helper/default_env.py +25 -25
- zrb/helper/docker_compose/fetch_external_env.py +18 -18
- zrb/helper/docker_compose/file.py +5 -4
- zrb/helper/docstring.py +44 -47
- zrb/helper/env_map/fetch.py +7 -12
- zrb/helper/file/copy_tree.py +12 -17
- zrb/helper/file/match.py +6 -7
- zrb/helper/file/text.py +8 -6
- zrb/helper/git/detect_changes.py +9 -8
- zrb/helper/loader/load_module.py +14 -13
- zrb/helper/log.py +4 -3
- zrb/helper/map/conversion.py +4 -5
- zrb/helper/python_task.py +2 -4
- zrb/helper/render_data.py +25 -18
- zrb/helper/string/constant.py +2 -2
- zrb/helper/string/conversion.py +17 -16
- zrb/helper/string/jinja.py +2 -2
- zrb/helper/typecheck.py +6 -4
- zrb/helper/typing.py +10 -2
- zrb/helper/util.py +44 -40
- zrb/task/any_task.py +251 -251
- zrb/task/base_remote_cmd_task.py +76 -59
- zrb/task/base_task/base_task.py +95 -108
- zrb/task/base_task/component/base_task_model.py +73 -71
- zrb/task/base_task/component/common_task_model.py +42 -29
- zrb/task/base_task/component/pid_model.py +3 -5
- zrb/task/base_task/component/renderer.py +26 -36
- zrb/task/base_task/component/trackers.py +6 -9
- zrb/task/checker.py +14 -9
- zrb/task/cmd_task.py +102 -100
- zrb/task/decorator.py +19 -13
- zrb/task/docker_compose_task.py +127 -98
- zrb/task/flow_task.py +16 -19
- zrb/task/http_checker.py +40 -36
- zrb/task/notifier.py +50 -38
- zrb/task/parallel.py +3 -3
- zrb/task/path_checker.py +34 -27
- zrb/task/path_watcher.py +49 -40
- zrb/task/port_checker.py +33 -26
- zrb/task/recurring_task.py +36 -42
- zrb/task/remote_cmd_task.py +31 -28
- zrb/task/resource_maker.py +66 -52
- zrb/task/rsync_task.py +24 -21
- zrb/task/task.py +4 -3
- zrb/task/time_watcher.py +36 -31
- zrb/task_env/constant.py +1 -1
- zrb/task_env/env.py +33 -31
- zrb/task_env/env_file.py +24 -23
- zrb/task_group/group.py +27 -30
- zrb/task_input/any_input.py +18 -16
- zrb/task_input/base_input.py +26 -26
- zrb/task_input/bool_input.py +6 -6
- zrb/task_input/choice_input.py +11 -9
- zrb/task_input/constant.py +1 -1
- zrb/task_input/float_input.py +6 -5
- zrb/task_input/int_input.py +8 -8
- zrb/task_input/password_input.py +9 -9
- zrb/task_input/str_input.py +8 -8
- zrb/task_input/task_input.py +4 -2
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/METADATA +3 -1
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/RECORD +316 -315
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/LICENSE +0 -0
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/WHEEL +0 -0
- {zrb-0.6.0.dist-info → zrb-0.6.1.dist-info}/entry_points.txt +0 -0
zrb/__init__.py
CHANGED
@@ -1,40 +1,44 @@
|
|
1
|
+
from zrb.helper.default_env import inject_default_env
|
1
2
|
from zrb.runner import runner
|
2
|
-
from zrb.task.decorator import python_task
|
3
3
|
from zrb.task.any_task import AnyTask
|
4
4
|
from zrb.task.any_task_event_handler import (
|
5
|
-
|
5
|
+
OnFailed,
|
6
|
+
OnReady,
|
7
|
+
OnRetry,
|
8
|
+
OnSkipped,
|
9
|
+
OnStarted,
|
10
|
+
OnTriggered,
|
11
|
+
OnWaiting,
|
6
12
|
)
|
7
|
-
from zrb.task.parallel import AnyParallel, Parallel
|
8
|
-
from zrb.task.task import Task
|
9
|
-
from zrb.task.cmd_task import CmdTask
|
10
|
-
from zrb.task.docker_compose_task import DockerComposeTask, ServiceConfig
|
11
13
|
from zrb.task.base_remote_cmd_task import BaseRemoteCmdTask, RemoteConfig
|
12
|
-
from zrb.task.remote_cmd_task import RemoteCmdTask
|
13
|
-
from zrb.task.rsync_task import RsyncTask
|
14
|
-
from zrb.task.notifier import Notifier
|
15
14
|
from zrb.task.checker import Checker
|
15
|
+
from zrb.task.cmd_task import CmdTask
|
16
|
+
from zrb.task.decorator import python_task
|
17
|
+
from zrb.task.docker_compose_task import DockerComposeTask, ServiceConfig
|
18
|
+
from zrb.task.flow_task import FlowTask
|
16
19
|
from zrb.task.http_checker import HTTPChecker
|
17
|
-
from zrb.task.
|
20
|
+
from zrb.task.notifier import Notifier
|
21
|
+
from zrb.task.parallel import AnyParallel, Parallel
|
18
22
|
from zrb.task.path_checker import PathChecker
|
19
23
|
from zrb.task.path_watcher import PathWatcher
|
20
|
-
from zrb.task.
|
21
|
-
from zrb.task.resource_maker import (
|
22
|
-
ResourceMaker, Replacement, ReplacementMutator
|
23
|
-
)
|
24
|
-
from zrb.task.flow_task import FlowTask
|
24
|
+
from zrb.task.port_checker import PortChecker
|
25
25
|
from zrb.task.recurring_task import RecurringTask
|
26
|
+
from zrb.task.remote_cmd_task import RemoteCmdTask
|
27
|
+
from zrb.task.resource_maker import Replacement, ReplacementMutator, ResourceMaker
|
28
|
+
from zrb.task.rsync_task import RsyncTask
|
29
|
+
from zrb.task.task import Task
|
30
|
+
from zrb.task.time_watcher import TimeWatcher
|
31
|
+
from zrb.task_env.env import Env
|
32
|
+
from zrb.task_env.env_file import EnvFile
|
33
|
+
from zrb.task_group.group import Group
|
26
34
|
from zrb.task_input.any_input import AnyInput
|
27
|
-
from zrb.task_input.task_input import Input
|
28
35
|
from zrb.task_input.bool_input import BoolInput
|
29
36
|
from zrb.task_input.choice_input import ChoiceInput
|
30
37
|
from zrb.task_input.float_input import FloatInput
|
31
38
|
from zrb.task_input.int_input import IntInput
|
32
39
|
from zrb.task_input.password_input import PasswordInput
|
33
40
|
from zrb.task_input.str_input import StrInput
|
34
|
-
from zrb.
|
35
|
-
from zrb.task_env.env_file import EnvFile
|
36
|
-
from zrb.task_group.group import Group
|
37
|
-
from zrb.helper.default_env import inject_default_env
|
41
|
+
from zrb.task_input.task_input import Input
|
38
42
|
|
39
43
|
assert runner
|
40
44
|
assert AnyTask
|
zrb/__main__.py
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
+
import logging
|
2
|
+
|
1
3
|
from zrb.config.config import logging_level
|
4
|
+
from zrb.helper.accessories.color import colored
|
2
5
|
from zrb.helper.cli import create_cli
|
3
6
|
from zrb.helper.default_env import inject_default_env
|
4
7
|
from zrb.helper.log import logger
|
5
|
-
from zrb.helper.accessories.color import colored
|
6
|
-
|
7
|
-
import logging
|
8
8
|
|
9
9
|
inject_default_env()
|
10
10
|
if logging_level <= logging.INFO:
|
11
|
-
logger.info(colored(
|
11
|
+
logger.info(colored("Create CLI instance", attrs=["dark"]))
|
12
12
|
cli = create_cli()
|
13
13
|
|
14
|
-
if __name__ ==
|
14
|
+
if __name__ == "__main__":
|
15
15
|
cli()
|
zrb/action/runner.py
CHANGED
@@ -1,28 +1,29 @@
|
|
1
|
+
import logging
|
2
|
+
import sys
|
3
|
+
|
4
|
+
import click
|
5
|
+
|
1
6
|
from zrb.config.config import logging_level
|
2
|
-
from zrb.helper.typing import Any, Callable, List, Mapping, Union
|
3
|
-
from zrb.helper.typecheck import typechecked
|
4
|
-
from zrb.helper.log import logger
|
5
7
|
from zrb.helper.accessories.color import colored
|
6
|
-
from zrb.
|
8
|
+
from zrb.helper.log import logger
|
9
|
+
from zrb.helper.typecheck import typechecked
|
10
|
+
from zrb.helper.typing import Any, Callable, List, Mapping, Union
|
7
11
|
from zrb.task.any_task import AnyTask
|
8
|
-
|
9
|
-
import click
|
10
|
-
import logging
|
11
|
-
import sys
|
12
|
+
from zrb.task_group.group import Group as TaskGroup
|
12
13
|
|
13
14
|
CliSubcommand = Union[click.Group, click.Command]
|
14
15
|
|
15
16
|
|
16
17
|
@typechecked
|
17
|
-
class Runner
|
18
|
-
|
18
|
+
class Runner:
|
19
|
+
"""
|
19
20
|
Runner class.
|
20
21
|
Any tasks registered to the runner will be accessible from the terminal
|
21
|
-
|
22
|
+
"""
|
22
23
|
|
23
|
-
def __init__(self, env_prefix: str =
|
24
|
+
def __init__(self, env_prefix: str = ""):
|
24
25
|
if logging_level <= logging.INFO:
|
25
|
-
logger.info(colored(
|
26
|
+
logger.info(colored("Create runner", attrs=["dark"]))
|
26
27
|
self.__env_prefix = env_prefix
|
27
28
|
self.__tasks: List[AnyTask] = []
|
28
29
|
self.__registered_groups: Mapping[str, click.Group] = {}
|
@@ -30,26 +31,20 @@ class Runner():
|
|
30
31
|
self.__subcommands: Mapping[str, List[click.Group]] = {}
|
31
32
|
self.__registered_task_cli_name: List[str] = []
|
32
33
|
if logging_level <= logging.INFO:
|
33
|
-
logger.info(colored(
|
34
|
+
logger.info(colored("Runner created", attrs=["dark"]))
|
34
35
|
|
35
36
|
def register(self, *tasks: AnyTask):
|
36
37
|
for task in tasks:
|
37
38
|
task._set_has_cli_interface()
|
38
39
|
cli_name = task._get_full_cli_name()
|
39
40
|
if cli_name in self.__registered_task_cli_name:
|
40
|
-
raise RuntimeError(
|
41
|
-
f'Task "{cli_name}" has already been registered'
|
42
|
-
)
|
41
|
+
raise RuntimeError(f'Task "{cli_name}" has already been registered')
|
43
42
|
if logging_level <= logging.DEBUG:
|
44
|
-
logger.debug(
|
45
|
-
colored(f'Register task: "{cli_name}"', attrs=['dark'])
|
46
|
-
)
|
43
|
+
logger.debug(colored(f'Register task: "{cli_name}"', attrs=["dark"]))
|
47
44
|
self.__tasks.append(task)
|
48
45
|
self.__registered_task_cli_name.append(cli_name)
|
49
46
|
if logging_level <= logging.DEBUG:
|
50
|
-
logger.debug(
|
51
|
-
colored(f'Task registered: "{cli_name}"', attrs=['dark'])
|
52
|
-
)
|
47
|
+
logger.debug(colored(f'Task registered: "{cli_name}"', attrs=["dark"]))
|
53
48
|
|
54
49
|
def serve(self, cli: click.Group) -> click.Group:
|
55
50
|
for task in self.__tasks:
|
@@ -99,15 +94,13 @@ class Runner():
|
|
99
94
|
task_inputs = task._get_combined_inputs()
|
100
95
|
task_cli_name = task.get_cli_name()
|
101
96
|
task_description = task.get_description()
|
102
|
-
task_function = task.to_function(
|
103
|
-
env_prefix=self.__env_prefix, raise_error=True
|
104
|
-
)
|
97
|
+
task_function = task.to_function(env_prefix=self.__env_prefix, raise_error=True)
|
105
98
|
callback = self.__wrap_task_function(task_function)
|
106
99
|
command = click.Command(
|
107
100
|
callback=callback, name=task_cli_name, help=task_description
|
108
101
|
)
|
109
102
|
# by default, add an argument named _args
|
110
|
-
command.params.append(click.Argument([
|
103
|
+
command.params.append(click.Argument(["_args"], nargs=-1))
|
111
104
|
# add task inputs,
|
112
105
|
# if there are inputs with the same name, choose the first.
|
113
106
|
registered_input: Mapping[str, bool] = {}
|
@@ -120,12 +113,11 @@ class Runner():
|
|
120
113
|
command.params.append(click.Option(param_decl, **options))
|
121
114
|
return command
|
122
115
|
|
123
|
-
def __wrap_task_function(
|
124
|
-
self, function: Callable[..., Any]
|
125
|
-
) -> Callable[..., Any]:
|
116
|
+
def __wrap_task_function(self, function: Callable[..., Any]) -> Callable[..., Any]:
|
126
117
|
def wrapped_function(*args: Any, **kwargs: Any) -> Any:
|
127
118
|
try:
|
128
119
|
function(*args, **kwargs)
|
129
120
|
except Exception:
|
130
121
|
sys.exit(1)
|
122
|
+
|
131
123
|
return wrapped_function
|
zrb/advertisement.py
CHANGED
@@ -1,17 +1,18 @@
|
|
1
|
-
from zrb.helper.typing import List
|
2
1
|
from zrb.helper.advertisement import Advertisement
|
2
|
+
from zrb.helper.typing import List
|
3
3
|
|
4
4
|
# flake8: noqa E501
|
5
5
|
|
6
6
|
advertisements: List[Advertisement] = [
|
7
7
|
Advertisement(
|
8
|
-
content=
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
content="\n".join(
|
9
|
+
[
|
10
|
+
"Support zrb growth and development!",
|
11
|
+
"☕ Donate at: https://stalchmst.com/donation",
|
12
|
+
"🐙 Submit issues/PR at: https://github.com/state-alchemists/zrb",
|
13
|
+
"🐤 Follow us at: https://twitter.com/zarubastalchmst",
|
14
|
+
]
|
15
|
+
),
|
16
|
+
time_pattern=".*",
|
15
17
|
),
|
16
18
|
]
|
17
|
-
|
zrb/builtin/__init__.py
CHANGED
@@ -1,19 +1,21 @@
|
|
1
|
-
from zrb.builtin import
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
1
|
+
from zrb.builtin import (
|
2
|
+
base64,
|
3
|
+
devtool,
|
4
|
+
env,
|
5
|
+
eval,
|
6
|
+
explain,
|
7
|
+
generator,
|
8
|
+
git,
|
9
|
+
md5,
|
10
|
+
process,
|
11
|
+
project,
|
12
|
+
say,
|
13
|
+
schedule,
|
14
|
+
ubuntu,
|
15
|
+
update,
|
16
|
+
version,
|
17
|
+
watch_changes,
|
18
|
+
)
|
17
19
|
|
18
20
|
assert base64
|
19
21
|
assert env
|
zrb/builtin/base64.py
CHANGED
@@ -1,21 +1,16 @@
|
|
1
|
-
|
1
|
+
import base64
|
2
|
+
|
2
3
|
from zrb.builtin.group import base64_group
|
4
|
+
from zrb.helper.typing import Any
|
5
|
+
from zrb.runner import runner
|
3
6
|
from zrb.task.decorator import python_task
|
4
7
|
from zrb.task_input.str_input import StrInput
|
5
|
-
from zrb.runner import runner
|
6
|
-
|
7
|
-
import base64
|
8
8
|
|
9
9
|
###############################################################################
|
10
10
|
# 🔤 Input Definitions
|
11
11
|
###############################################################################
|
12
12
|
|
13
|
-
text_input = StrInput(
|
14
|
-
name='text',
|
15
|
-
shortcut='t',
|
16
|
-
description='Text',
|
17
|
-
default=''
|
18
|
-
)
|
13
|
+
text_input = StrInput(name="text", shortcut="t", description="Text", default="")
|
19
14
|
|
20
15
|
###############################################################################
|
21
16
|
# Task Definitions
|
@@ -23,28 +18,28 @@ text_input = StrInput(
|
|
23
18
|
|
24
19
|
|
25
20
|
@python_task(
|
26
|
-
name=
|
21
|
+
name="encode",
|
27
22
|
group=base64_group,
|
28
23
|
inputs=[text_input],
|
29
|
-
description=
|
24
|
+
description="Encode a text using base64 algorithm",
|
30
25
|
retry=0,
|
31
|
-
runner=runner
|
26
|
+
runner=runner,
|
32
27
|
)
|
33
28
|
async def encode(*args: str, **kwargs: Any):
|
34
|
-
text: str = kwargs.get(
|
29
|
+
text: str = kwargs.get("text", "")
|
35
30
|
encoded_text = base64.b64encode(text.encode())
|
36
31
|
return encoded_text.decode()
|
37
32
|
|
38
33
|
|
39
34
|
@python_task(
|
40
|
-
name=
|
35
|
+
name="decode",
|
41
36
|
group=base64_group,
|
42
37
|
inputs=[text_input],
|
43
|
-
description=
|
38
|
+
description="Decode a base64 encoded text",
|
44
39
|
retry=0,
|
45
|
-
runner=runner
|
40
|
+
runner=runner,
|
46
41
|
)
|
47
42
|
async def decode(*args: str, **kwargs: Any):
|
48
|
-
text: str = kwargs.get(
|
43
|
+
text: str = kwargs.get("text", "")
|
49
44
|
encoded_text = base64.b64decode(text.encode())
|
50
45
|
return encoded_text.decode()
|
zrb/builtin/devtool/__init__.py
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
from zrb.builtin.devtool.devtool_install import (
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
install_aws,
|
3
|
+
install_docker,
|
4
|
+
install_gcloud,
|
5
|
+
install_gvm,
|
6
|
+
install_helix,
|
7
|
+
install_helm,
|
8
|
+
install_kubectl,
|
9
|
+
install_nvm,
|
10
|
+
install_pulumi,
|
11
|
+
install_pyenv,
|
12
|
+
install_sdkman,
|
13
|
+
install_terraform,
|
14
|
+
install_tmux,
|
15
|
+
install_zsh,
|
5
16
|
)
|
6
17
|
|
7
18
|
assert install_gvm
|