zrb 1.5.2__tar.gz → 1.5.4__tar.gz
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-1.5.2 → zrb-1.5.4}/PKG-INFO +2 -2
- {zrb-1.5.2 → zrb-1.5.4}/pyproject.toml +2 -2
- zrb-1.5.4/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +129 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/llm_config.py +22 -15
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/base_task.py +6 -4
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/llm_task.py +38 -24
- zrb-1.5.2/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md +0 -7
- {zrb-1.5.2 → zrb-1.5.4}/README.md +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/__main__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/attr/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/attr/type.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/base64.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/git.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/git_subtree.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/group.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/llm/llm_chat.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/llm/previous-session.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/llm/tool/api.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/llm/tool/cli.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/llm/tool/file.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/llm/tool/rag.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/llm/tool/web.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/md5.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8 +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_db_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_create_my_entity.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_delete_my_entity.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_read_my_entity.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_update_my_entity.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/alembic.ini +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_api_client.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_direct_client.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/README +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/env.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/script.py.mako +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/versions/.gitkeep +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration_metadata.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/service/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_api_client.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_client_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/auth_direct_client.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_auth_tables.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/8ed025bcc845_create_permissions.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/permission_service_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_db_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_delete_permission.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_read_permission.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_util.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/create/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/create/project-template/README.md +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/create/project-template/zrb_init.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/create/project_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/python.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/random.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/asdf/asdf.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/asdf/asdf_helper.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/common_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/latex/ubuntu.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/tmux/tmux.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/tmux/tmux_config.sh +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/tmux/tmux_helper.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/ubuntu.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/zsh/zsh.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/zsh/zsh_config.sh +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/setup/zsh/zsh_helper.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/shell/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/shell/autocomplete/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/shell/autocomplete/bash.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/shell/autocomplete/subcmd.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/shell/autocomplete/zsh.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/todo.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/callback/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/callback/any_callback.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/callback/callback.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/cmd/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/cmd/cmd_result.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/cmd/cmd_val.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/config.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/content_transformer/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/content_transformer/any_content_transformer.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/content_transformer/content_transformer.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/context/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/context/any_context.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/context/any_shared_context.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/context/context.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/context/shared_context.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/dot_dict/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/dot_dict/dot_dict.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/env/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/env/any_env.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/env/env.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/env/env_file.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/env/env_map.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/group/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/group/any_group.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/group/group.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/any_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/base_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/bool_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/float_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/int_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/option_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/password_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/str_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/input/text_input.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/cli.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/common_util.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_app.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_config/config.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_config/config_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/docs_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/error_page/serve_default_404.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/error_page/show_error_page.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/error_page/view.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/home_page/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/home_page/home_page_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/home_page/view.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/login_api_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/login_page/login_page_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/login_page/view.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/logout_api_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/logout_page/logout_page_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/logout_page/view.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/node_page/group/show_group_page.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/node_page/group/view.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/node_page/node_page_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/node_page/task/partial/input.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/node_page/task/show_task_page.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/node_page/task/view.html +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/refresh_token_api_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/refresh-token.template.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/common.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/favicon-32x32.png +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/login/event.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/logout/event.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/pico.min.css +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/session/common-util.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/session/current-session.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/session/event.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/resources/session/past-session.js +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/static/static_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/task_input_api_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_route/task_session_api_route.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_schema/session.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_schema/token.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_schema/user.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_util/cookie.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_util/html.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_util/token.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/runner/web_util/user.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session/any_session.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session/session.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session_state_log/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session_state_log/session_state_log.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session_state_logger/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session_state_logger/any_session_state_logger.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session_state_logger/file_session_state_logger.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/session_state_logger/session_state_logger_factory.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/any_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/base_trigger.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/cmd_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/http_check.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/make_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/rsync_task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/scaffolder.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/scheduler.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/task.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task/tcp_check.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task_status/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/task_status/task_status.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/attr.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/cli/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/cli/style.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/cli/subcommand.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/cmd/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/cmd/command.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/cmd/remote.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modification_mode.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_class.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_class_parent.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_class_property.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_dict.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_function.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_function_call.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_method.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/codemod/modify_module.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/cron.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/file.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/git.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/git_subtree.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/group.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/load.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/run.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/string/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/string/conversion.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/string/format.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/string/name.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/util/todo.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/xcom/__init__.py +0 -0
- {zrb-1.5.2 → zrb-1.5.4}/src/zrb/xcom/xcom.py +0 -0
{zrb-1.5.2 → zrb-1.5.4}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.5.
|
3
|
+
Version: 1.5.4
|
4
4
|
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -26,7 +26,7 @@ Requires-Dist: openai (>=1.70.0,<2.0.0) ; extra == "rag" or extra == "all"
|
|
26
26
|
Requires-Dist: pdfplumber (>=0.11.6,<0.12.0) ; extra == "rag" or extra == "all"
|
27
27
|
Requires-Dist: playwright (>=1.51.0,<2.0.0) ; extra == "playwright" or extra == "all"
|
28
28
|
Requires-Dist: psutil (>=7.0.0,<8.0.0)
|
29
|
-
Requires-Dist: pydantic-ai (>=0.0.
|
29
|
+
Requires-Dist: pydantic-ai (>=0.0.52,<0.0.53)
|
30
30
|
Requires-Dist: python-dotenv (>=1.1.0,<2.0.0)
|
31
31
|
Requires-Dist: python-jose[cryptography] (>=3.4.0,<4.0.0)
|
32
32
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "zrb"
|
3
|
-
version = "1.5.
|
3
|
+
version = "1.5.4"
|
4
4
|
description = "Your Automation Powerhouse"
|
5
5
|
authors = ["Go Frendi Gunawan <gofrendiasgard@gmail.com>"]
|
6
6
|
license = "AGPL-3.0-or-later"
|
@@ -49,7 +49,7 @@ beautifulsoup4 = "^4.13.3"
|
|
49
49
|
fastapi = {extras = ["standard"], version = "^0.115.12"}
|
50
50
|
python-jose = {extras = ["cryptography"], version = "^3.4.0"}
|
51
51
|
ulid-py = "^1.1.0"
|
52
|
-
pydantic-ai = "^0.0.
|
52
|
+
pydantic-ai = "^0.0.52"
|
53
53
|
openai = {version = "^1.70.0", optional = true}
|
54
54
|
playwright = {version = "^1.51.0", optional = true}
|
55
55
|
psutil = "^7.0.0"
|
@@ -0,0 +1,129 @@
|
|
1
|
+
# My App Name
|
2
|
+
|
3
|
+
Welcome to My App Name! This application is designed to help you start your project with a flexible architecture that can scale as your needs grow. My App Name supports both monolithic and microservices architectures, allowing you to start small and expand without rewriting your codebase.
|
4
|
+
|
5
|
+
## Key Features
|
6
|
+
|
7
|
+
- **Modular-Monolith Architecture**: My App Name is built with a modular-monolith architecture, providing a clean interface for inter-module communication. This allows you to run My App Name as a monolith or as microservices without altering your code.
|
8
|
+
|
9
|
+
- **Low Coupling, High Cohesion**: The architecture ensures low coupling and high cohesion, making it easy to split your code into microservices when needed.
|
10
|
+
|
11
|
+
## How It Works
|
12
|
+
|
13
|
+
### Inter-Module Communication
|
14
|
+
|
15
|
+
Each module in My App Name is independent and communicates with others through a `Client` object. The `Client` is an interface with two implementations: `ApiClient` and `DirectClient`.
|
16
|
+
|
17
|
+
- **ApiClient**: Used when running My App Name as microservices. It communicates over HTTP using a base URL.
|
18
|
+
- **DirectClient**: Used when running My App Name as a monolith. It allows direct method calls between modules.
|
19
|
+
|
20
|
+
### Code Examples
|
21
|
+
|
22
|
+
Here's how you can use the `as_api_client` and `as_direct_client` methods:
|
23
|
+
|
24
|
+
```python
|
25
|
+
# Using as_api_client
|
26
|
+
from my_app_name.config import APP_AUTH_BASE_URL
|
27
|
+
from my_app_name.module.auth.service.permission.permission_service_factory import permission_service
|
28
|
+
|
29
|
+
# Create an API client for the permission service
|
30
|
+
permission_api_client = permission_service.as_api_client(base_url=APP_AUTH_BASE_URL)
|
31
|
+
|
32
|
+
# Using as_direct_client
|
33
|
+
from my_app_name.module.auth.service.role.role_service_factory import role_service
|
34
|
+
|
35
|
+
# Create a direct client for the role service
|
36
|
+
role_direct_client = role_service.as_direct_client()
|
37
|
+
```
|
38
|
+
## Application Architecture
|
39
|
+
|
40
|
+
My App Name follows a modular-monolith architecture. Each module (e.g., Auth, Library) encapsulates a specific business capability. The Gateway module acts as the entry point for user interactions (e.g., web UI).
|
41
|
+
|
42
|
+
**Communication Modes:**
|
43
|
+
|
44
|
+
1. **Monolith (Direct Communication):**
|
45
|
+
```
|
46
|
+
+---------+ +---------+
|
47
|
+
| Gateway | ----> | Auth | (e.g., for login, permission checks)
|
48
|
+
| (UI) | | Service |
|
49
|
+
+---------+ +---------+
|
50
|
+
| ^
|
51
|
+
| | (Library might call Auth for specific checks)
|
52
|
+
| |
|
53
|
+
v |
|
54
|
+
+---------+ -----------+
|
55
|
+
| Library |
|
56
|
+
| Service |
|
57
|
+
+---------+
|
58
|
+
(Gateway also calls Library directly)
|
59
|
+
(DirectClient calls between services if needed)
|
60
|
+
```
|
61
|
+
Modules communicate directly via `DirectClient` implementations. The Gateway calls necessary services, and services can call each other directly if required.
|
62
|
+
|
63
|
+
2. **Microservices (API Communication):**
|
64
|
+
```
|
65
|
+
+---------+ +---------+
|
66
|
+
| Gateway | ----> | Auth | (e.g., via Auth API)
|
67
|
+
| (UI) | | Service |
|
68
|
+
| | | (API) |
|
69
|
+
+---------+ +---------+
|
70
|
+
| ^
|
71
|
+
| | (Library Service might call Auth API)
|
72
|
+
| |
|
73
|
+
v |
|
74
|
+
+---------+ -----------+
|
75
|
+
| Library |
|
76
|
+
| Service |
|
77
|
+
| (API) |
|
78
|
+
+---------+
|
79
|
+
(Gateway also calls Library API)
|
80
|
+
(ApiClient calls via HTTP between services if needed)
|
81
|
+
```
|
82
|
+
Modules communicate via `ApiClient` implementations over HTTP/API calls. The Gateway calls necessary service APIs, and services can call each other's APIs if required.
|
83
|
+
|
84
|
+
## Factory Pattern
|
85
|
+
|
86
|
+
The application utilizes the Factory pattern extensively, particularly for creating client, service, and repository instances. This allows the application to switch between different implementations based on configuration settings.
|
87
|
+
|
88
|
+
**Example (`my_app_name/module/auth/client/auth_client_factory.py`):**
|
89
|
+
|
90
|
+
```python
|
91
|
+
from my_app_name.config import APP_COMMUNICATION
|
92
|
+
from my_app_name.module.auth.client.auth_api_client import AuthAPIClient
|
93
|
+
from my_app_name.module.auth.client.auth_client import AuthClient
|
94
|
+
from my_app_name.module.auth.client.auth_direct_client import AuthDirectClient
|
95
|
+
|
96
|
+
# Selects the client based on the configuration
|
97
|
+
if APP_COMMUNICATION == "direct":
|
98
|
+
auth_client: AuthClient = AuthDirectClient() # Used in Monolith mode
|
99
|
+
elif APP_COMMUNICATION == "api":
|
100
|
+
auth_client: AuthClient = AuthAPIClient() # Used in Microservices mode
|
101
|
+
```
|
102
|
+
|
103
|
+
By changing the `APP_COMMUNICATION` variable in `my_app_name/config.py`, you can switch how modules communicate without changing the core module logic. Similar factories exist for services and repositories (e.g., switching between database and in-memory implementations based on `APP_REPOSITORY_TYPE`).
|
104
|
+
|
105
|
+
## Key Folders and Files
|
106
|
+
|
107
|
+
- `my_app_name/config.py`: Central configuration file (database connections, communication mode, etc.).
|
108
|
+
- `my_app_name/main.py`: Main application entry point.
|
109
|
+
- `my_app_name/common/`: Shared utilities, base classes (e.g., `app_factory.py`, `base_service.py`).
|
110
|
+
- `my_app_name/module/`: Contains the application modules (e.g., `auth`, `library`, `gateway`).
|
111
|
+
- `my_app_name/module/<module_name>/`: Each module directory typically contains:
|
112
|
+
- `client/`: Client interfaces (`*_client.py`, `*_api_client.py`, `*_direct_client.py`) and factories (`*_client_factory.py`).
|
113
|
+
- `service/`: Business logic implementation (`*_service.py`) and factories (`*_service_factory.py`).
|
114
|
+
- `repository/`: Data access logic (`*_repository.py`, `*_db_repository.py`) and factories (`*_repository_factory.py`).
|
115
|
+
- `route.py`: API or UI routes for the module.
|
116
|
+
- `schema/`: Data transfer objects or database models (if applicable).
|
117
|
+
- `migration/`: Database migration scripts (if using Alembic).
|
118
|
+
- `my_app_name/schema/`: Shared data schemas used across modules.
|
119
|
+
- `my_app_name/test/`: Unit and integration tests.
|
120
|
+
- `my_app_name/_zrb/`: Tooling scripts (likely for code generation or automation).
|
121
|
+
|
122
|
+
|
123
|
+
## Principles
|
124
|
+
|
125
|
+
- Developers should be able to override everything with a reasonable amount of code.
|
126
|
+
- Simple tasks should only require a small amount of code.
|
127
|
+
- A bit of magic is okay as long as it's transparent and documented.
|
128
|
+
|
129
|
+
For more details, refer to the client implementations in `module/auth/client/auth_api_client.py` and `module/auth/client/auth_direct_client.py`.
|
@@ -38,27 +38,27 @@ class LLMConfig:
|
|
38
38
|
default_persona: str | None = None,
|
39
39
|
default_system_prompt: str | None = None,
|
40
40
|
):
|
41
|
-
self.
|
41
|
+
self._default_model_name = (
|
42
42
|
default_model_name
|
43
43
|
if default_model_name is not None
|
44
44
|
else os.getenv("ZRB_LLM_MODEL", None)
|
45
45
|
)
|
46
|
-
self.
|
46
|
+
self._default_model_base_url = (
|
47
47
|
default_base_url
|
48
48
|
if default_base_url is not None
|
49
49
|
else os.getenv("ZRB_LLM_BASE_URL", None)
|
50
50
|
)
|
51
|
-
self.
|
51
|
+
self._default_model_api_key = (
|
52
52
|
default_api_key
|
53
53
|
if default_api_key is not None
|
54
54
|
else os.getenv("ZRB_LLM_API_KEY", None)
|
55
55
|
)
|
56
|
-
self.
|
56
|
+
self._default_system_prompt = (
|
57
57
|
default_system_prompt
|
58
58
|
if default_system_prompt is not None
|
59
59
|
else os.getenv("ZRB_LLM_SYSTEM_PROMPT", None)
|
60
60
|
)
|
61
|
-
self.
|
61
|
+
self._default_persona = (
|
62
62
|
default_persona
|
63
63
|
if default_persona is not None
|
64
64
|
else os.getenv("ZRB_LLM_PERSONA", None)
|
@@ -67,24 +67,28 @@ class LLMConfig:
|
|
67
67
|
self._default_model = None
|
68
68
|
|
69
69
|
def _get_model_name(self) -> str | None:
|
70
|
-
return
|
70
|
+
return (
|
71
|
+
self._default_model_name if self._default_model_name is not None else None
|
72
|
+
)
|
71
73
|
|
72
74
|
def get_default_model_provider(self) -> Provider | str:
|
73
75
|
if self._default_provider is not None:
|
74
76
|
return self._default_provider
|
75
|
-
if self.
|
77
|
+
if self._default_model_base_url is None and self._default_model_api_key is None:
|
76
78
|
return "openai"
|
77
79
|
return OpenAIProvider(
|
78
|
-
base_url=self.
|
80
|
+
base_url=self._default_model_base_url, api_key=self._default_model_api_key
|
79
81
|
)
|
80
82
|
|
81
83
|
def get_default_system_prompt(self) -> str:
|
82
84
|
system_prompt = (
|
83
85
|
DEFAULT_SYSTEM_PROMPT
|
84
|
-
if self.
|
85
|
-
else self.
|
86
|
+
if self._default_system_prompt is None
|
87
|
+
else self._default_system_prompt
|
88
|
+
)
|
89
|
+
persona = (
|
90
|
+
DEFAULT_PERSONA if self._default_persona is None else self._default_persona
|
86
91
|
)
|
87
|
-
persona = DEFAULT_PERSONA if self._persona is None else self._persona
|
88
92
|
if persona is not None:
|
89
93
|
return f"{persona}\n{system_prompt}"
|
90
94
|
return system_prompt
|
@@ -100,17 +104,20 @@ class LLMConfig:
|
|
100
104
|
provider=self.get_default_model_provider(),
|
101
105
|
)
|
102
106
|
|
107
|
+
def set_default_persona(self, persona: str):
|
108
|
+
self._default_persona = persona
|
109
|
+
|
103
110
|
def set_default_system_prompt(self, system_prompt: str):
|
104
|
-
self.
|
111
|
+
self._default_system_prompt = system_prompt
|
105
112
|
|
106
113
|
def set_default_model_name(self, model_name: str):
|
107
|
-
self.
|
114
|
+
self._default_model_name = model_name
|
108
115
|
|
109
116
|
def set_default_model_api_key(self, model_api_key: str):
|
110
|
-
self.
|
117
|
+
self._default_model_api_key = model_api_key
|
111
118
|
|
112
119
|
def set_default_model_base_url(self, model_base_url: str):
|
113
|
-
self.
|
120
|
+
self._default_model_base_url = model_base_url
|
114
121
|
|
115
122
|
def set_default_provider(self, provider: Provider | str):
|
116
123
|
self._default_provider = provider
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import asyncio
|
2
2
|
import os
|
3
|
-
from collections.abc import Callable
|
3
|
+
from collections.abc import Callable, Coroutine
|
4
4
|
from typing import Any
|
5
5
|
|
6
6
|
from zrb.attr.type import BoolAttr, fstring
|
@@ -64,7 +64,7 @@ class BaseTask(AnyTask):
|
|
64
64
|
def __repr__(self):
|
65
65
|
return f"<{self.__class__.__name__} name={self._name}>"
|
66
66
|
|
67
|
-
def __rshift__(self, other: AnyTask | list[AnyTask]) -> AnyTask:
|
67
|
+
def __rshift__(self, other: AnyTask | list[AnyTask]) -> AnyTask | list[AnyTask]:
|
68
68
|
try:
|
69
69
|
if isinstance(other, AnyTask):
|
70
70
|
other.append_upstream(self)
|
@@ -123,7 +123,9 @@ class BaseTask(AnyTask):
|
|
123
123
|
return [task_input for task_input in inputs if task_input is not None]
|
124
124
|
|
125
125
|
def __combine_inputs(
|
126
|
-
self,
|
126
|
+
self,
|
127
|
+
inputs: list[AnyInput],
|
128
|
+
other_inputs: list[AnyInput | None] | AnyInput | None,
|
127
129
|
):
|
128
130
|
input_names = [task_input.name for task_input in inputs]
|
129
131
|
if isinstance(other_inputs, AnyInput):
|
@@ -429,7 +431,7 @@ class BaseTask(AnyTask):
|
|
429
431
|
session.get_task_status(self).reset()
|
430
432
|
# defer this action
|
431
433
|
ctx.log_info("Running")
|
432
|
-
action_coro = asyncio.create_task(
|
434
|
+
action_coro: Coroutine = asyncio.create_task(
|
433
435
|
run_async(self.__exec_action_and_retry(session))
|
434
436
|
)
|
435
437
|
session.defer_action(self, action_coro)
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import copy
|
2
1
|
import functools
|
3
2
|
import inspect
|
4
3
|
import json
|
@@ -9,6 +8,7 @@ from typing import Any
|
|
9
8
|
|
10
9
|
from openai import APIError
|
11
10
|
from pydantic_ai import Agent, Tool
|
11
|
+
from pydantic_ai.mcp import MCPServer
|
12
12
|
from pydantic_ai.messages import (
|
13
13
|
FinalResultEvent,
|
14
14
|
FunctionToolCallEvent,
|
@@ -54,9 +54,9 @@ class LLMTask(BaseTask):
|
|
54
54
|
Callable[[AnySharedContext], Model | str | fstring] | Model | None
|
55
55
|
) = None,
|
56
56
|
render_model: bool = True,
|
57
|
-
model_base_url: StrAttr = None,
|
57
|
+
model_base_url: StrAttr | None = None,
|
58
58
|
render_model_base_url: bool = True,
|
59
|
-
model_api_key: StrAttr = None,
|
59
|
+
model_api_key: StrAttr | None = None,
|
60
60
|
render_model_api_key: bool = True,
|
61
61
|
model_settings: (
|
62
62
|
ModelSettings | Callable[[AnySharedContext], ModelSettings] | None
|
@@ -68,6 +68,9 @@ class LLMTask(BaseTask):
|
|
68
68
|
tools: (
|
69
69
|
list[ToolOrCallable] | Callable[[AnySharedContext], list[ToolOrCallable]]
|
70
70
|
) = [],
|
71
|
+
mcp_servers: (
|
72
|
+
list[MCPServer] | Callable[[AnySharedContext], list[MCPServer]]
|
73
|
+
) = [],
|
71
74
|
conversation_history: (
|
72
75
|
ListOfDict | Callable[[AnySharedContext], ListOfDict]
|
73
76
|
) = [],
|
@@ -127,6 +130,8 @@ class LLMTask(BaseTask):
|
|
127
130
|
self._message = message
|
128
131
|
self._tools = tools
|
129
132
|
self._additional_tools: list[ToolOrCallable] = []
|
133
|
+
self._mcp_servers = mcp_servers
|
134
|
+
self._additional_mcp_servers: list[MCPServer] = []
|
130
135
|
self._conversation_history = conversation_history
|
131
136
|
self._conversation_history_reader = conversation_history_reader
|
132
137
|
self._conversation_history_writer = conversation_history_writer
|
@@ -137,32 +142,36 @@ class LLMTask(BaseTask):
|
|
137
142
|
def add_tool(self, tool: ToolOrCallable):
|
138
143
|
self._additional_tools.append(tool)
|
139
144
|
|
145
|
+
def add_mcp_server(self, mcp_server: MCPServer):
|
146
|
+
self._additional_mcp_servers.append(mcp_server)
|
147
|
+
|
140
148
|
async def _exec_action(self, ctx: AnyContext) -> Any:
|
141
149
|
history = await self._read_conversation_history(ctx)
|
142
150
|
user_prompt = self._get_message(ctx)
|
143
151
|
agent = self._get_agent(ctx)
|
144
152
|
try:
|
145
|
-
async with agent.
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
153
|
+
async with agent.run_mcp_servers():
|
154
|
+
async with agent.iter(
|
155
|
+
user_prompt=user_prompt,
|
156
|
+
message_history=ModelMessagesTypeAdapter.validate_python(history),
|
157
|
+
) as agent_run:
|
158
|
+
async for node in agent_run:
|
159
|
+
# Each node represents a step in the agent's execution
|
160
|
+
# Reference: https://ai.pydantic.dev/agents/#streaming
|
161
|
+
try:
|
162
|
+
await self._print_node(ctx, agent_run, node)
|
163
|
+
except APIError as e:
|
164
|
+
# Extract detailed error information from the response
|
165
|
+
error_details = _extract_api_error_details(e)
|
166
|
+
ctx.log_error(f"API Error: {error_details}")
|
167
|
+
raise
|
168
|
+
except Exception as e:
|
169
|
+
ctx.log_error(f"Error processing node: {str(e)}")
|
170
|
+
ctx.log_error(f"Error type: {type(e).__name__}")
|
171
|
+
raise
|
172
|
+
new_history = json.loads(agent_run.result.all_messages_json())
|
173
|
+
await self._write_conversation_history(ctx, new_history)
|
174
|
+
return agent_run.result.data
|
166
175
|
except Exception as e:
|
167
176
|
ctx.log_error(f"Error in agent execution: {str(e)}")
|
168
177
|
raise
|
@@ -277,10 +286,15 @@ class LLMTask(BaseTask):
|
|
277
286
|
tool if isinstance(tool, Tool) else Tool(_wrap_tool(tool), takes_ctx=False)
|
278
287
|
for tool in tools_or_callables
|
279
288
|
]
|
289
|
+
mcp_servers = list(
|
290
|
+
self._mcp_servers(ctx) if callable(self._mcp_servers) else self._mcp_servers
|
291
|
+
)
|
292
|
+
mcp_servers.extend(self._additional_mcp_servers)
|
280
293
|
return Agent(
|
281
294
|
self._get_model(ctx),
|
282
295
|
system_prompt=self._get_system_prompt(ctx),
|
283
296
|
tools=tools,
|
297
|
+
mcp_servers=mcp_servers,
|
284
298
|
model_settings=self._get_model_settings(ctx),
|
285
299
|
retries=3,
|
286
300
|
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc
RENAMED
File without changes
|
{zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8
RENAMED
File without changes
|
{zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore
RENAMED
File without changes
|
{zrb-1.5.2 → zrb-1.5.4}/src/zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|