thestage 0.5.41__tar.gz → 0.5.42__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.
- {thestage-0.5.41 → thestage-0.5.42}/PKG-INFO +2 -3
- {thestage-0.5.41 → thestage-0.5.42}/pyproject.toml +1 -1
- thestage-0.5.42/thestage/.env +6 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/__init__.py +1 -1
- {thestage-0.5.41 → thestage-0.5.42}/thestage/controllers/project_controller.py +40 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/api_client.py +4 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_start_inference_simulator_request.py +3 -1
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/project_service.py +4 -0
- thestage-0.5.41/thestage/.env +0 -5
- thestage-0.5.41/thestage/services/clients/.DS_Store +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/LICENSE.txt +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/README.md +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/__main__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/color_scheme/color_scheme.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/config/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/config/env_base.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/controllers/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/controllers/base_controller.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/controllers/config_controller.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/controllers/container_controller.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/controllers/instance_controller.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/controllers/utils_controller.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/debug_main.dist.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/container.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/enums/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/enums/order_direction_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/enums/shell_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/enums/tail_output_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/enums/yes_no_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/file_item.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/project_inference_simulator.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/project_inference_simulator_model.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/project_task.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/rented_instance.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/entities/self_hosted_instance.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/auth_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/base_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/business_logic_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/config_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/file_system_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/git_access_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/http_error_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/exceptions/remote_server_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/git/ProgressPrinter.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/helpers/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/helpers/error_handler.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/helpers/logger/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/helpers/logger/app_logger.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/helpers/ssh_util.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/i18n/en_GB/messages.po +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/i18n/translation.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/main.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/.env +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/abstract_mapper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/abstract_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/app_config_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/git/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/git/git_client.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/core/api_client_abstract.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/core/api_client_core.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/core/http_client_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/base_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/cloud_provider_region.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/container_param_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/container_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/docker_container_assigned_device.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/docker_container_controller/docker_container_list_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/docker_container_controller/docker_container_list_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/docker_container_mapping.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/entity_filter_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/container_pending_action.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/container_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/cpu_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/currency_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/daemon_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/disk_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/drive_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/gpu_name.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/inference_model_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/inference_simulator_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/instance_rented_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/instance_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/location_region.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/power_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/provider_name.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/selfhosted_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/task_execution_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/task_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/frontend_status.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_instance_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_instance_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_sagemaker_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_sagemaker_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/get_inference_simulator_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/get_inference_simulator_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_list_for_project_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_list_for_project_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_model_list_for_project_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_model_list_for_project_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_simulator_model_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/inference_simulator_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/installed_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/instance_detected_gpus.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/instance_rented_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/logging_controller/docker_container_log_stream_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/logging_controller/log_polling_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/logging_controller/log_polling_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/logging_controller/task_log_stream_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/logging_controller/user_logs_query_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/logging_controller/user_logs_query_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/paginated_entity_list.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/pagination_data.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/price_definition.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_get_deploy_ssh_key_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_get_deploy_ssh_key_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_push_inference_simulator_model_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_push_inference_simulator_model_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_run_task_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_run_task_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_controller/project_start_inference_simulator_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/selfhosted_instance_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/sftp_path_helper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_key_to_user_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_key_to_user_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_public_key_to_instance_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_public_key_to_instance_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/ssh_key_controller/is_user_has_public_ssh_key_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/ssh_key_controller/is_user_has_public_ssh_key_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/task_controller/task_list_for_project_request.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/task_controller/task_list_for_project_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/task_controller/task_status_localized_map_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/task_controller/task_view_response.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/user_profile.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/config_provider/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/config_provider/config_provider.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/connect/connect_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/connect/dto/remote_server_config.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/container/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/container/container_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/container/mapper/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/container/mapper/container_mapper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/core_files/config_entity.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/filesystem_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/instance/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/instance/instance_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/instance/mapper/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/instance/mapper/instance_mapper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/instance/mapper/selfhosted_mapper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/logging/byte_print_style.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/logging/dto/log_message.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/logging/dto/log_type.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/logging/exception/log_polling_exception.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/logging/logging_constants.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/logging/logging_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/dto/inference_simulator_dto.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/dto/inference_simulator_model_dto.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/dto/project_config.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/mapper/__init__.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/mapper/project_inference_simulator_mapper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/mapper/project_inference_simulator_model_mapper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/mapper/project_task_mapper.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/remote_server_service.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/service_factory.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/task/dto/task_dto.py +0 -0
- {thestage-0.5.41 → thestage-0.5.42}/thestage/services/validation_service.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: thestage
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.42
|
|
4
4
|
Summary:
|
|
5
5
|
Author: TheStage AI team
|
|
6
6
|
Author-email: hello@thestage.ai
|
|
@@ -10,7 +10,6 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
14
13
|
Requires-Dist: aioconsole (>=0.8.0,<0.9.0)
|
|
15
14
|
Requires-Dist: boto3 (>=1.35.80,<2.0.0)
|
|
16
15
|
Requires-Dist: gitpython (>=3.1.40,<4.0.0)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import time
|
|
2
|
+
from pathlib import Path
|
|
2
3
|
from typing import Optional, List
|
|
3
4
|
|
|
4
5
|
import re
|
|
6
|
+
|
|
5
7
|
import typer
|
|
6
8
|
from typing_extensions import Annotated
|
|
7
9
|
|
|
@@ -425,6 +427,13 @@ def run_inference_simulator(
|
|
|
425
427
|
help=__("Disable real-time log streaming"),
|
|
426
428
|
is_eager=False,
|
|
427
429
|
),
|
|
430
|
+
is_skip_installation: Optional[bool] = typer.Option(
|
|
431
|
+
False,
|
|
432
|
+
"--skip-installation",
|
|
433
|
+
"-si",
|
|
434
|
+
help=__("Skip installing dependencies from requirements.txt and install.sh"),
|
|
435
|
+
is_eager=False,
|
|
436
|
+
),
|
|
428
437
|
):
|
|
429
438
|
"""
|
|
430
439
|
Run an inference simulator within a project
|
|
@@ -438,6 +447,35 @@ def run_inference_simulator(
|
|
|
438
447
|
service_factory = validate_config_and_get_service_factory(working_directory=working_directory)
|
|
439
448
|
config = service_factory.get_config_provider().get_full_config()
|
|
440
449
|
|
|
450
|
+
working_dir_path = Path(working_directory) if working_directory else Path(config.runtime.working_directory)
|
|
451
|
+
inference_files = list(working_dir_path.rglob("inference.py"))
|
|
452
|
+
if not inference_files:
|
|
453
|
+
typer.echo("No inference.py file found in the project directory.")
|
|
454
|
+
raise typer.Exit(1)
|
|
455
|
+
elif len(inference_files) == 1:
|
|
456
|
+
selected_inference = inference_files[0]
|
|
457
|
+
else:
|
|
458
|
+
choices = [str(path.relative_to(working_dir_path)) for path in inference_files]
|
|
459
|
+
typer.echo("Multiple inference.py files found:")
|
|
460
|
+
for idx, choice in enumerate(choices, start=1):
|
|
461
|
+
typer.echo(f"{idx}) {choice}")
|
|
462
|
+
choice_str = typer.prompt("Choose which inference.py to use")
|
|
463
|
+
try:
|
|
464
|
+
choice_index = int(choice_str)
|
|
465
|
+
except ValueError:
|
|
466
|
+
raise typer.BadParameter("Invalid input. Please enter a number.")
|
|
467
|
+
if not (1 <= choice_index <= len(choices)):
|
|
468
|
+
raise typer.BadParameter("Choice out of range.")
|
|
469
|
+
selected_inference = inference_files[choice_index - 1]
|
|
470
|
+
|
|
471
|
+
relative_inference = selected_inference.relative_to(working_dir_path)
|
|
472
|
+
parent_dir = relative_inference.parent
|
|
473
|
+
if parent_dir == Path("."):
|
|
474
|
+
inference_dir = "/"
|
|
475
|
+
else:
|
|
476
|
+
inference_dir = f"{parent_dir.as_posix()}/"
|
|
477
|
+
typer.echo(f"Selected inference file relative path: {inference_dir}")
|
|
478
|
+
|
|
441
479
|
project_service = service_factory.get_project_service()
|
|
442
480
|
|
|
443
481
|
project_service.project_run_inference_simulator(
|
|
@@ -446,6 +484,8 @@ def run_inference_simulator(
|
|
|
446
484
|
slug=unique_id,
|
|
447
485
|
rented_instance_unique_id=rented_instance_unique_id,
|
|
448
486
|
self_hosted_instance_unique_id=self_hosted_instance_unique_id,
|
|
487
|
+
inference_dir=inference_dir,
|
|
488
|
+
is_skip_installation=is_skip_installation,
|
|
449
489
|
)
|
|
450
490
|
|
|
451
491
|
if enable_log_stream:
|
|
@@ -603,6 +603,8 @@ class TheStageApiClient(TheStageApiClientCore):
|
|
|
603
603
|
commit_hash: Optional[str] = None,
|
|
604
604
|
rented_instance_unique_id: Optional[str] = None,
|
|
605
605
|
self_hosted_instance_unique_id: Optional[str] = None,
|
|
606
|
+
inference_dir: Optional[str] = None,
|
|
607
|
+
is_skip_installation: Optional[bool] = False,
|
|
606
608
|
) -> Optional[ProjectStartInferenceSimulatorResponse]:
|
|
607
609
|
request = ProjectStartInferenceSimulatorRequest(
|
|
608
610
|
projectSlug=project_slug,
|
|
@@ -610,6 +612,8 @@ class TheStageApiClient(TheStageApiClientCore):
|
|
|
610
612
|
slug=slug,
|
|
611
613
|
instanceRentedUId=rented_instance_unique_id,
|
|
612
614
|
selfhostedInstanceUId=self_hosted_instance_unique_id,
|
|
615
|
+
inferenceDir=inference_dir,
|
|
616
|
+
isSkipInstallation=is_skip_installation,
|
|
613
617
|
)
|
|
614
618
|
|
|
615
619
|
response = self._request(
|
|
@@ -10,4 +10,6 @@ class ProjectStartInferenceSimulatorRequest(BaseModel):
|
|
|
10
10
|
instanceRentedUId: Optional[str] = Field(None, alias='instanceRentedUId')
|
|
11
11
|
selfhostedInstanceUId: Optional[str] = Field(None, alias='selfhostedInstanceUId')
|
|
12
12
|
commitHash: Optional[str] = Field(None, alias='commitHash')
|
|
13
|
-
slug: Optional[str] = Field(None, alias='slug')
|
|
13
|
+
slug: Optional[str] = Field(None, alias='slug')
|
|
14
|
+
inferenceDir: Optional[str] = Field(None, alias='inferenceDir')
|
|
15
|
+
isSkipInstallation: Optional[bool] = Field(False, alias='isSkipInstallation')
|
|
@@ -409,6 +409,8 @@ class ProjectService(AbstractService):
|
|
|
409
409
|
commit_hash: Optional[str] = None,
|
|
410
410
|
rented_instance_unique_id: Optional[str] = None,
|
|
411
411
|
self_hosted_instance_unique_id: Optional[str] = None,
|
|
412
|
+
inference_dir: Optional[str] = None,
|
|
413
|
+
is_skip_installation: Optional[bool] = False,
|
|
412
414
|
) -> Optional[InferenceSimulatorDto]:
|
|
413
415
|
project_config: ProjectConfig = self.__get_fixed_project_config(config=config)
|
|
414
416
|
if not project_config:
|
|
@@ -543,6 +545,8 @@ class ProjectService(AbstractService):
|
|
|
543
545
|
slug=slug,
|
|
544
546
|
rented_instance_unique_id=rented_instance_unique_id,
|
|
545
547
|
self_hosted_instance_unique_id=self_hosted_instance_unique_id,
|
|
548
|
+
inference_dir=inference_dir,
|
|
549
|
+
is_skip_installation=is_skip_installation,
|
|
546
550
|
)
|
|
547
551
|
if start_inference_simulator_response:
|
|
548
552
|
if start_inference_simulator_response.message:
|
thestage-0.5.41/thestage/.env
DELETED
|
Binary file
|
|
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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/core/api_client_core.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/base_response.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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/cpu_type.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/disk_type.py
RENAMED
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/drive_type.py
RENAMED
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/gpu_name.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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/enums/task_status.py
RENAMED
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/frontend_status.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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/installed_service.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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/pagination_data.py
RENAMED
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/price_definition.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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/project_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/sftp_path_helper.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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/clients/thestage_api/dtos/user_profile.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
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/logging/exception/log_polling_exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/dto/inference_simulator_dto.py
RENAMED
|
File without changes
|
{thestage-0.5.41 → thestage-0.5.42}/thestage/services/project/dto/inference_simulator_model_dto.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
|