truefoundry 0.5.3rc5__tar.gz → 0.5.5__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.
Potentially problematic release.
This version of truefoundry might be problematic. Click here for more details.
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/PKG-INFO +2 -2
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/pyproject.toml +1 -2
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/__init__.py +9 -2
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/auto_gen/models.py +164 -44
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/clients/servicefoundry_client.py +1 -24
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/session.py +7 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/deploy.py +2 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/deployable_patched_models.py +10 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/patched_models.py +8 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/source.py +2 -2
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/__init__.py +2 -2
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +18 -16
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/__init__.py +2 -2
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_version_manifest.py +23 -5
- truefoundry-0.5.3rc5/truefoundry/ml/autogen/client/models/get_artifact_tags_response_dto.py → truefoundry-0.5.5/truefoundry/ml/autogen/client/models/get_artifact_version_aliases_response_dto.py +12 -10
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_version_manifest.py +16 -5
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client_README.md +2 -2
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/entities/artifacts.py +4 -9
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/artifacts/artifact.py +13 -13
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/artifacts/model.py +14 -14
- truefoundry-0.5.3rc5/truefoundry/cli/commands/pat.py +0 -24
- truefoundry-0.5.3rc5/truefoundry/gateway/__init__.py +0 -1
- truefoundry-0.5.3rc5/truefoundry/gateway/cli/cli.py +0 -30
- truefoundry-0.5.3rc5/truefoundry/gateway/lib/entities.py +0 -28
- truefoundry-0.5.3rc5/truefoundry/gateway/lib/models.py +0 -29
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/README.md +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/agents/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/agents/base.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/agents/developer.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/agents/tester.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/cli.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/constants.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/exception.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/logger.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/ask.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/base.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/commit.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/docker_build.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/docker_run.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/list_files.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/read_file.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/send_request.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/tools/write_file.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/utils/client.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/utils/diff.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/cli/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/cli/__main__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/cli/config.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/cli/console.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/cli/const.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/cli/display_util.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/cli/util.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/auth_service_client.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/constants.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/credential_file_manager.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/credential_provider.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/entities.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/exceptions.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/request_utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/servicefoundry_client.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/session.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/storage_provider_utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/common/warnings.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/builders/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/constants.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/docker_service.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/builder/utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/build_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/build_logs_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/create_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/get_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/list_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/login_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/core/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/core/login.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/core/logout.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/io/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/io/output_callback.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/io/rich_output_callback.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/clients/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/const.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/dao/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/dao/application.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/dao/apply.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/dao/version.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/dao/workspace.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/logs_utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/messages.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/model/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/model/entity.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/util.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/win32.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/python_deploy_codegen.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/models.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/logger.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/artifact/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/generate_code_snippet_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/health_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api_client.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/api_response.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/configuration.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/exceptions.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/agent.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/command.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/content.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/content1.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/content2.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/external_artifact_source.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/fast_ai_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/gluon_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/h2_o_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/infer_method_name.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/keras_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/library_name.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/light_gbm_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/manifest.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/method.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_server.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_version_environment.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/onnx_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/paddle_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/py_torch_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/sklearn_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/sklearn_model_schema.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/sklearn_serialization_format.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/source.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/source1.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/spa_cy_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/stats_models_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/stop.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/subject.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/subject_type.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/tensor_flow_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/text.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/transformers_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/true_foundry_artifact_source.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/url.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/xg_boost_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/xg_boost_model_schema.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/models/xg_boost_serialization_format.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/client/rest.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/models/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/models/exceptions.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/models/schema.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/models/signature.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/autogen/models/utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/cli/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/cli/cli.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/cli/commands/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/cli/commands/download.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/cli/commands/model_init.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/cli/utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/clients/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/constants.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/entities.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/enums.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/exceptions.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/git_info.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/internal_namespace.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/image/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/image/constants.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/image/image.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/image/types.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/plot.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/pydantic_base.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/log_types/utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/logger.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/mlfoundry_api.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/mlfoundry_run.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/model_framework.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/run_utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/session.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/ml/validation_utils.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/pydantic_v1.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/version.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/container_task.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/example/deploy.sh +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/example/hello_world_package/workflow.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/example/package/test_workflow.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/example/truefoundry.yaml +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/example/workflow.yaml +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/map_task.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/python_task.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/task.py +0 -0
- {truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/workflow/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "truefoundry"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.5"
|
|
4
4
|
description = "Truefoundry CLI"
|
|
5
5
|
authors = ["Abhishek Choudhary <abhishek@truefoundry.com>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -139,7 +139,6 @@ warn_unused_ignores = true
|
|
|
139
139
|
packages = [
|
|
140
140
|
"truefoundry.common",
|
|
141
141
|
"truefoundry.ml",
|
|
142
|
-
"truefoundry.gateway",
|
|
143
142
|
]
|
|
144
143
|
exclude = [
|
|
145
144
|
"^truefoundry/ml/autogen",
|
|
@@ -9,6 +9,10 @@ from truefoundry.deploy.auto_gen.models import (
|
|
|
9
9
|
Kustomize,
|
|
10
10
|
ParamType,
|
|
11
11
|
Protocol,
|
|
12
|
+
SparkDriverConfig,
|
|
13
|
+
SparkExecutorConfig,
|
|
14
|
+
SparkExecutorDynamicScaling,
|
|
15
|
+
SparkExecutorFixedInstances,
|
|
12
16
|
WorkbenchImage,
|
|
13
17
|
)
|
|
14
18
|
from truefoundry.deploy.lib.dao.application import (
|
|
@@ -36,11 +40,12 @@ from truefoundry.deploy.v2.lib.deployable_patched_models import (
|
|
|
36
40
|
Application,
|
|
37
41
|
ApplicationSet,
|
|
38
42
|
AsyncService,
|
|
39
|
-
Codeserver,
|
|
40
43
|
Helm,
|
|
41
44
|
Job,
|
|
42
45
|
Notebook,
|
|
46
|
+
RStudio,
|
|
43
47
|
Service,
|
|
48
|
+
SparkJob,
|
|
44
49
|
SSHServer,
|
|
45
50
|
Volume,
|
|
46
51
|
Workflow,
|
|
@@ -110,7 +115,9 @@ from truefoundry.deploy.v2.lib.patched_models import (
|
|
|
110
115
|
StaticVolumeConfig,
|
|
111
116
|
StringDataMount,
|
|
112
117
|
TPUType,
|
|
113
|
-
|
|
118
|
+
TrueFoundryArtifactSource,
|
|
119
|
+
TruefoundryArtifactSource, # deprecated, kept for backwards compatibility
|
|
120
|
+
TrueFoundryInteractiveLogin,
|
|
114
121
|
VolumeBrowser,
|
|
115
122
|
VolumeMount,
|
|
116
123
|
WorkerConfig,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: application.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2025-01-20T07:24:00+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -659,6 +659,10 @@ class Profile(str, Enum):
|
|
|
659
659
|
|
|
660
660
|
class NvidiaMIGGPU(BaseModel):
|
|
661
661
|
type: Literal["nvidia_mig_gpu"] = Field(..., description="+value=nvidia_mig_gpu")
|
|
662
|
+
name: Optional[str] = Field(
|
|
663
|
+
None,
|
|
664
|
+
description="+label=GPU Name\n+usage=Name of the Nvidia GPU. One of [P4, P100, V100, T4, A10G, A100_40GB, A100_80GB]\nThis field is required for Node Selector and can be ignored in Nodepool Selector.\nOne instance of the card contains the following amount of memory -\nP4: 8 GB, P100: 16 GB, V100: 16 GB, T4: 16 GB, A10G: 24 GB, A100_40GB: 40GB, A100_80GB: 80 GB",
|
|
665
|
+
)
|
|
662
666
|
profile: Profile = Field(
|
|
663
667
|
...,
|
|
664
668
|
description="+label=MIG Profile\n+usage=Name of the MIG profile to use. One of [1g.5gb, 2g.10gb, 3g.20gb, 1g.10gb, 2g.20gb, 3g.40gb]",
|
|
@@ -669,6 +673,10 @@ class NvidiaTimeslicingGPU(BaseModel):
|
|
|
669
673
|
type: Literal["nvidia_timeslicing_gpu"] = Field(
|
|
670
674
|
..., description="+value=nvidia_timeslicing_gpu"
|
|
671
675
|
)
|
|
676
|
+
name: Optional[str] = Field(
|
|
677
|
+
None,
|
|
678
|
+
description="+label=GPU Name\n+usage=Name of the Nvidia GPU. One of [P4, P100, V100, T4, A10G, A100_40GB, A100_80GB]\nThis field is required for Node Selector and can be ignored in Nodepool Selector.\nOne instance of the card contains the following amount of memory -\nP4: 8 GB, P100: 16 GB, V100: 16 GB, T4: 16 GB, A10G: 24 GB, A100_40GB: 40GB, A100_80GB: 80 GB",
|
|
679
|
+
)
|
|
672
680
|
gpu_memory: conint(ge=1, le=200000) = Field(
|
|
673
681
|
...,
|
|
674
682
|
description="+label=GPU Memory (MB)\n+usage=Amount of GPU memory (in MB) to allocate. Please note, this limit is not being enforced today but will be in future. Applications are expected to operate in co-opertative mode",
|
|
@@ -735,45 +743,6 @@ class AppProtocol(str, Enum):
|
|
|
735
743
|
tcp = "tcp"
|
|
736
744
|
|
|
737
745
|
|
|
738
|
-
class Port(BaseModel):
|
|
739
|
-
"""
|
|
740
|
-
+docs=Describes the ports the service should be exposed to.
|
|
741
|
-
"""
|
|
742
|
-
|
|
743
|
-
port: conint(ge=1, le=65535) = Field(
|
|
744
|
-
80, description="+usage=Port number to expose."
|
|
745
|
-
)
|
|
746
|
-
protocol: Protocol = Field("TCP", description="+usage=Protocol for the port.")
|
|
747
|
-
expose: bool = Field(True, description="+usage=Expose the port")
|
|
748
|
-
app_protocol: AppProtocol = Field(
|
|
749
|
-
"http",
|
|
750
|
-
description="+label=Application Protocol\n+usage=Application Protocol for the port.\nSelect the application protocol used by your service. For most use cases, this should be `http`(HTTP/1.1).\nIf you are running a gRPC server, select the `grpc` option.\nThis is only applicable if `expose=true`.",
|
|
751
|
-
)
|
|
752
|
-
host: Optional[
|
|
753
|
-
constr(
|
|
754
|
-
regex=r"^((([a-zA-Z0-9\-]{1,63}\.)([a-zA-Z0-9\-]{1,63}\.)*([A-Za-z]{1,63}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))$"
|
|
755
|
-
)
|
|
756
|
-
] = Field(
|
|
757
|
-
None,
|
|
758
|
-
description="+usage=Host e.g. ai.example.com, app.truefoundry.com\n+message=Upto 253 characters, each part of host should be at most 63 characters long, can contain alphabets, digits and hypen, must begin and end with an alphanumeric characters. Parts must be separated by periods (.)",
|
|
759
|
-
)
|
|
760
|
-
path: Optional[
|
|
761
|
-
constr(regex=r"^(/([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_\.]*[a-zA-Z0-9]))*/$")
|
|
762
|
-
] = Field(
|
|
763
|
-
None,
|
|
764
|
-
description="+usage=Path e.g. /v1/api/ml/, /v2/docs/\n+message=Should begin and end with a forward slash (/). Each part can can contain alphabets, digits and hypen, must begin and end with an alphanumeric characters. Parts should be separated by forward slashes (/)",
|
|
765
|
-
)
|
|
766
|
-
rewrite_path_to: Optional[
|
|
767
|
-
constr(regex=r"^(/([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_\.]*[a-zA-Z0-9]))*/$")
|
|
768
|
-
] = Field(
|
|
769
|
-
None,
|
|
770
|
-
description="+label=Rewrite Path to\n+usage=Rewrite the path prefix to a different path.\nIf `path` is `/v1/api` and `rewrite_path_to` is `/api`. The URI in the HTTP request `http://0.0.0.0:8080/v1/api/houses` will be rewritten to `http://0.0.0.0:8080/api/houses` before the request is forwarded your service.\nDefaults to `/`.\nThis is only applicable if `path` is given.\n+message=Should begin and end with a forward slash (/). Each part can can contain alphabets, digits and hypen, must begin and end with an alphanumeric characters. Parts should be separated by forward slashes (/)",
|
|
771
|
-
)
|
|
772
|
-
auth: Optional[Union[BasicAuthCreds, JwtAuthCreds]] = Field(
|
|
773
|
-
None, description="+usage=Username and Password for service auth"
|
|
774
|
-
)
|
|
775
|
-
|
|
776
|
-
|
|
777
746
|
class PythonBuild(BaseModel):
|
|
778
747
|
"""
|
|
779
748
|
+docs=Describes that we are using python to build a container image with a specific python version and pip packages installed.
|
|
@@ -1021,6 +990,42 @@ class ServiceAutoscaling(BaseAutoscaling):
|
|
|
1021
990
|
)
|
|
1022
991
|
|
|
1023
992
|
|
|
993
|
+
class SparkDriverConfig(BaseModel):
|
|
994
|
+
"""
|
|
995
|
+
+label=Driver Config
|
|
996
|
+
"""
|
|
997
|
+
|
|
998
|
+
ui_endpoint: Endpoint
|
|
999
|
+
resources: Optional[Resources] = None
|
|
1000
|
+
|
|
1001
|
+
|
|
1002
|
+
class SparkExecutorDynamicScaling(BaseModel):
|
|
1003
|
+
"""
|
|
1004
|
+
+label=Dynamic Scaling
|
|
1005
|
+
"""
|
|
1006
|
+
|
|
1007
|
+
type: Literal["dynamic"] = Field(..., description="+value=dynamic")
|
|
1008
|
+
min: conint(ge=0, le=500) = Field(
|
|
1009
|
+
1,
|
|
1010
|
+
description="+label=Min Instances\n+usage=Minimum number of instances to start / scale down to\n+sort=100",
|
|
1011
|
+
)
|
|
1012
|
+
max: conint(ge=0, le=500) = Field(
|
|
1013
|
+
1,
|
|
1014
|
+
description="+label=Max Instances\n+usage=Maximum number of instances to scale up to\n+sort=200",
|
|
1015
|
+
)
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
class SparkExecutorFixedInstances(BaseModel):
|
|
1019
|
+
"""
|
|
1020
|
+
+label=Fixed Instances
|
|
1021
|
+
"""
|
|
1022
|
+
|
|
1023
|
+
type: Literal["fixed"] = Field(..., description="+value=fixed")
|
|
1024
|
+
count: conint(ge=0, le=500) = Field(
|
|
1025
|
+
1, description="+label=Instances Count\n+usage=Number of instances to start"
|
|
1026
|
+
)
|
|
1027
|
+
|
|
1028
|
+
|
|
1024
1029
|
class StaticVolumeConfig(BaseModel):
|
|
1025
1030
|
"""
|
|
1026
1031
|
+label=Static Volume Config
|
|
@@ -1106,6 +1111,16 @@ class TaskPythonBuild(BaseModel):
|
|
|
1106
1111
|
)
|
|
1107
1112
|
|
|
1108
1113
|
|
|
1114
|
+
class TrueFoundryInteractiveLogin(BaseModel):
|
|
1115
|
+
"""
|
|
1116
|
+
+label=Login with truefoundry
|
|
1117
|
+
"""
|
|
1118
|
+
|
|
1119
|
+
type: Literal["truefoundry_oauth"] = Field(
|
|
1120
|
+
..., description="+value=truefoundry_oauth"
|
|
1121
|
+
)
|
|
1122
|
+
|
|
1123
|
+
|
|
1109
1124
|
class TruefoundryArtifactSource(BaseModel):
|
|
1110
1125
|
"""
|
|
1111
1126
|
+docs=Input for Artifact from Truefoundry Artifact Registry
|
|
@@ -1279,9 +1294,8 @@ class Codeserver(BaseWorkbenchInput):
|
|
|
1279
1294
|
+docs=Describes the configuration for the code server
|
|
1280
1295
|
"""
|
|
1281
1296
|
|
|
1282
|
-
type: Literal["codeserver"] = Field(..., description="+value=
|
|
1297
|
+
type: Literal["codeserver"] = Field(..., description="+value=codeserver")
|
|
1283
1298
|
image: WorkbenchImage
|
|
1284
|
-
auth: Optional[BasicAuthCreds] = None
|
|
1285
1299
|
|
|
1286
1300
|
|
|
1287
1301
|
class ContainerTaskConfig(BaseModel):
|
|
@@ -1549,13 +1563,51 @@ class Notebook(BaseWorkbenchInput):
|
|
|
1549
1563
|
|
|
1550
1564
|
type: Literal["notebook"] = Field(..., description="+value=notebook")
|
|
1551
1565
|
image: WorkbenchImage
|
|
1552
|
-
auth: Optional[BasicAuthCreds] = None
|
|
1553
1566
|
cull_timeout: conint(ge=5) = Field(
|
|
1554
1567
|
30,
|
|
1555
1568
|
description="+label=Stop after (minutes of inactivity)\n+usage=Stop the notebook instance after this much time in minutes of inactivity.\nThe notebook instance will be stopped even if the notebook is open in your browser, but nothing is running on the notebook.\n+sort=5",
|
|
1556
1569
|
)
|
|
1557
1570
|
|
|
1558
1571
|
|
|
1572
|
+
class Port(BaseModel):
|
|
1573
|
+
"""
|
|
1574
|
+
+docs=Describes the ports the service should be exposed to.
|
|
1575
|
+
"""
|
|
1576
|
+
|
|
1577
|
+
port: conint(ge=1, le=65535) = Field(
|
|
1578
|
+
80, description="+usage=Port number to expose."
|
|
1579
|
+
)
|
|
1580
|
+
protocol: Protocol = Field("TCP", description="+usage=Protocol for the port.")
|
|
1581
|
+
expose: bool = Field(True, description="+usage=Expose the port")
|
|
1582
|
+
app_protocol: AppProtocol = Field(
|
|
1583
|
+
"http",
|
|
1584
|
+
description="+label=Application Protocol\n+usage=Application Protocol for the port.\nSelect the application protocol used by your service. For most use cases, this should be `http`(HTTP/1.1).\nIf you are running a gRPC server, select the `grpc` option.\nThis is only applicable if `expose=true`.",
|
|
1585
|
+
)
|
|
1586
|
+
host: Optional[
|
|
1587
|
+
constr(
|
|
1588
|
+
regex=r"^((([a-zA-Z0-9\-]{1,63}\.)([a-zA-Z0-9\-]{1,63}\.)*([A-Za-z]{1,63}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))$"
|
|
1589
|
+
)
|
|
1590
|
+
] = Field(
|
|
1591
|
+
None,
|
|
1592
|
+
description="+usage=Host e.g. ai.example.com, app.truefoundry.com\n+message=Upto 253 characters, each part of host should be at most 63 characters long, can contain alphabets, digits and hypen, must begin and end with an alphanumeric characters. Parts must be separated by periods (.)",
|
|
1593
|
+
)
|
|
1594
|
+
path: Optional[
|
|
1595
|
+
constr(regex=r"^(/([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_\.]*[a-zA-Z0-9]))*/$")
|
|
1596
|
+
] = Field(
|
|
1597
|
+
None,
|
|
1598
|
+
description="+usage=Path e.g. /v1/api/ml/, /v2/docs/\n+message=Should begin and end with a forward slash (/). Each part can can contain alphabets, digits and hypen, must begin and end with an alphanumeric characters. Parts should be separated by forward slashes (/)",
|
|
1599
|
+
)
|
|
1600
|
+
rewrite_path_to: Optional[
|
|
1601
|
+
constr(regex=r"^(/([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_\.]*[a-zA-Z0-9]))*/$")
|
|
1602
|
+
] = Field(
|
|
1603
|
+
None,
|
|
1604
|
+
description="+label=Rewrite Path to\n+usage=Rewrite the path prefix to a different path.\nIf `path` is `/v1/api` and `rewrite_path_to` is `/api`. The URI in the HTTP request `http://0.0.0.0:8080/v1/api/houses` will be rewritten to `http://0.0.0.0:8080/api/houses` before the request is forwarded your service.\nDefaults to `/`.\nThis is only applicable if `path` is given.\n+message=Should begin and end with a forward slash (/). Each part can can contain alphabets, digits and hypen, must begin and end with an alphanumeric characters. Parts should be separated by forward slashes (/)",
|
|
1605
|
+
)
|
|
1606
|
+
auth: Optional[Union[BasicAuthCreds, JwtAuthCreds, TrueFoundryInteractiveLogin]] = (
|
|
1607
|
+
Field(None, description="+usage=Authentication method for inbound traffic")
|
|
1608
|
+
)
|
|
1609
|
+
|
|
1610
|
+
|
|
1559
1611
|
class PythonTaskConfig(BaseModel):
|
|
1560
1612
|
"""
|
|
1561
1613
|
+docs=Describes the configuration for the python function task
|
|
@@ -1582,17 +1634,83 @@ class PythonTaskConfig(BaseModel):
|
|
|
1582
1634
|
)
|
|
1583
1635
|
|
|
1584
1636
|
|
|
1637
|
+
class RStudio(BaseWorkbenchInput):
|
|
1638
|
+
"""
|
|
1639
|
+
+docs=Describes the configuration for the Rstudio server
|
|
1640
|
+
"""
|
|
1641
|
+
|
|
1642
|
+
type: Literal["rstudio"] = Field(..., description="+value=rstudio")
|
|
1643
|
+
image: WorkbenchImage
|
|
1644
|
+
|
|
1645
|
+
|
|
1585
1646
|
class SSHServer(BaseWorkbenchInput):
|
|
1586
1647
|
"""
|
|
1587
1648
|
+docs=Describes the configuration for the ssh server
|
|
1588
1649
|
"""
|
|
1589
1650
|
|
|
1590
|
-
type: Literal["ssh-server"] = Field(..., description="+value=
|
|
1651
|
+
type: Literal["ssh-server"] = Field(..., description="+value=ssh-server")
|
|
1591
1652
|
image: WorkbenchImage
|
|
1592
1653
|
ssh_public_key: str = Field(
|
|
1593
1654
|
...,
|
|
1594
1655
|
description="+label: SSH Public Key\n+usage=Add Your SSH Public Key, this will be used to authenticate you to the SSH Server. \\\nYou can find it using `cat ~/.ssh/id_rsa.pub` in Mac/Linux or `type $home\\.ssh\\id_rsa.pub` in Windows Powershell. \\\nYou can also generate a new SSH key pair using `ssh-keygen -t rsa` in your local terminal. (same for both Mac/Linux and Windows Powershell)\n+uiType=TextArea\n+sort=4",
|
|
1595
1656
|
)
|
|
1657
|
+
cull_timeout: Optional[conint(ge=5)] = Field(
|
|
1658
|
+
None,
|
|
1659
|
+
description="+label=Stop after (minutes of inactivity)\n+usage=Stop the SSH Server instance after this much time in minutes of inactivity. \\\nThe instance is considered active if there is at least one active SSH connection (a client connected to the SSH server), \\\nor if a background job is running using tmux or screen, or if the pod has restarted.\n+sort=5",
|
|
1660
|
+
)
|
|
1661
|
+
|
|
1662
|
+
|
|
1663
|
+
class SparkExecutorConfig(BaseModel):
|
|
1664
|
+
"""
|
|
1665
|
+
+label=Executor Config
|
|
1666
|
+
"""
|
|
1667
|
+
|
|
1668
|
+
instances: Union[SparkExecutorFixedInstances, SparkExecutorDynamicScaling] = Field(
|
|
1669
|
+
{"type": "fixed", "count": 1}, description="+label=Executor Instances"
|
|
1670
|
+
)
|
|
1671
|
+
resources: Optional[Resources] = None
|
|
1672
|
+
|
|
1673
|
+
|
|
1674
|
+
class SparkJob(BaseModel):
|
|
1675
|
+
type: Literal["spark-job"] = Field(..., description="+value=spark-job\n+sort=1")
|
|
1676
|
+
name: constr(regex=r"^[a-z][a-z0-9\-]{1,30}[a-z0-9]$") = Field(
|
|
1677
|
+
...,
|
|
1678
|
+
description="+label=Name\n+usage=Name of the job\n+message=3 to 32 lower case characters long alphanumeric word, may contain - in between, cannot start with a number\n+sort=2",
|
|
1679
|
+
)
|
|
1680
|
+
image: Image
|
|
1681
|
+
spark_version: str = Field(
|
|
1682
|
+
"3.5.2",
|
|
1683
|
+
description="+label=Spark Version\n+usage=Spark version should match the spark version installed in the image.\n+sort=2000",
|
|
1684
|
+
)
|
|
1685
|
+
main_application_file: str = Field(
|
|
1686
|
+
...,
|
|
1687
|
+
description="+label=Main Application File\n+usage=The main application file to be executed by the spark job.\n+sort=3000",
|
|
1688
|
+
)
|
|
1689
|
+
arguments: Optional[str] = Field(
|
|
1690
|
+
None,
|
|
1691
|
+
description="+label=Arguments\n+usage=Arguments to be passed to the main application file.\n+sort=4000",
|
|
1692
|
+
)
|
|
1693
|
+
driver_config: SparkDriverConfig
|
|
1694
|
+
executor_config: SparkExecutorConfig
|
|
1695
|
+
env: Optional[Dict[str, Any]] = Field(
|
|
1696
|
+
None,
|
|
1697
|
+
description="+label=Environment Variables\n+usage=Configure environment variables to be injected in the service either as plain text. [Docs](https://docs.truefoundry.com/docs/env-variables)\n+icon=fa-globe\n+sort=21000",
|
|
1698
|
+
)
|
|
1699
|
+
mounts: Optional[List[VolumeMount]] = Field(
|
|
1700
|
+
None,
|
|
1701
|
+
description="+label=Mounts\n+usage=Configure volumes to be mounted to driver and executors. [Docs](https://docs.truefoundry.com/docs/mounting-volumes-job)\n+sort=22000\n+uiType=Mounts",
|
|
1702
|
+
)
|
|
1703
|
+
retries: conint(ge=0, le=10) = Field(
|
|
1704
|
+
0,
|
|
1705
|
+
description="+label=Retries\n+usage=Specify the maximum number of attempts to retry a job before it is marked as failed.\n+icon=fa-repeat\n+sort=23000",
|
|
1706
|
+
)
|
|
1707
|
+
service_account: Optional[str] = Field(
|
|
1708
|
+
None, description="+label=Service Account\n+sort=24000"
|
|
1709
|
+
)
|
|
1710
|
+
workspace_fqn: Optional[str] = Field(
|
|
1711
|
+
None,
|
|
1712
|
+
description="+label=Workspace FQN\n+docs=Fully qualified name of the workspace\n+uiType=Hidden",
|
|
1713
|
+
)
|
|
1596
1714
|
|
|
1597
1715
|
|
|
1598
1716
|
class Volume(BaseModel):
|
|
@@ -1780,8 +1898,10 @@ class Application(BaseModel):
|
|
|
1780
1898
|
Notebook,
|
|
1781
1899
|
Codeserver,
|
|
1782
1900
|
SSHServer,
|
|
1901
|
+
RStudio,
|
|
1783
1902
|
Helm,
|
|
1784
1903
|
Volume,
|
|
1785
1904
|
ApplicationSet,
|
|
1786
1905
|
Workflow,
|
|
1906
|
+
SparkJob,
|
|
1787
1907
|
]
|
{truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/lib/clients/servicefoundry_client.py
RENAMED
|
@@ -4,7 +4,7 @@ import json
|
|
|
4
4
|
import os
|
|
5
5
|
import time
|
|
6
6
|
from datetime import datetime, timezone
|
|
7
|
-
from typing import TYPE_CHECKING, Any, Dict, List,
|
|
7
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Optional
|
|
8
8
|
from urllib.parse import urljoin
|
|
9
9
|
|
|
10
10
|
import requests
|
|
@@ -43,7 +43,6 @@ from truefoundry.deploy.v2.lib.models import (
|
|
|
43
43
|
BuildResponse,
|
|
44
44
|
DeploymentFqnResponse,
|
|
45
45
|
)
|
|
46
|
-
from truefoundry.gateway.lib.entities import ProviderModels
|
|
47
46
|
from truefoundry.logger import logger
|
|
48
47
|
from truefoundry.pydantic_v1 import parse_obj_as
|
|
49
48
|
|
|
@@ -708,25 +707,3 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
|
|
|
708
707
|
)
|
|
709
708
|
response_data = request_handling(response)
|
|
710
709
|
return response_data
|
|
711
|
-
|
|
712
|
-
def get_gateway_models(
|
|
713
|
-
self, model_type: Optional[Literal["chat", "completion", "embedding"]] = None
|
|
714
|
-
) -> ProviderModels:
|
|
715
|
-
url = f"{self._api_server_url}/{VERSION_PREFIX}/llm-gateway/model/enabled"
|
|
716
|
-
params = {}
|
|
717
|
-
if model_type:
|
|
718
|
-
params["modelType"] = model_type
|
|
719
|
-
response = session_with_retries().get(
|
|
720
|
-
url, headers=self._get_header(), params=params
|
|
721
|
-
)
|
|
722
|
-
response = request_handling(response)
|
|
723
|
-
return parse_obj_as(ProviderModels, response)
|
|
724
|
-
|
|
725
|
-
def create_pat(self, name: str):
|
|
726
|
-
url = f"{self._api_server_url}/{VERSION_PREFIX}/service-account/pat"
|
|
727
|
-
body = {"name": name}
|
|
728
|
-
response = session_with_retries().post(
|
|
729
|
-
url, headers=self._get_header(), json=body
|
|
730
|
-
)
|
|
731
|
-
response = request_handling(response)
|
|
732
|
-
return response
|
|
@@ -8,6 +8,7 @@ from truefoundry.common.constants import TFY_API_KEY_ENV_KEY, TFY_HOST_ENV_KEY
|
|
|
8
8
|
from truefoundry.common.credential_file_manager import CredentialsFileManager
|
|
9
9
|
from truefoundry.common.credential_provider import EnvCredentialProvider
|
|
10
10
|
from truefoundry.common.entities import CredentialsFileContent, Token
|
|
11
|
+
from truefoundry.common.session import Session
|
|
11
12
|
from truefoundry.common.utils import relogin_error_message, resolve_tfy_host
|
|
12
13
|
from truefoundry.deploy.io.output_callback import OutputCallBack
|
|
13
14
|
from truefoundry.deploy.lib.const import (
|
|
@@ -98,6 +99,12 @@ def logout(
|
|
|
98
99
|
output_hook.print_line(PROMPT_ALREADY_LOGGED_OUT)
|
|
99
100
|
|
|
100
101
|
|
|
102
|
+
def get_access_token():
|
|
103
|
+
# Create a new session which handles token refresh
|
|
104
|
+
session = Session.new()
|
|
105
|
+
return session.access_token
|
|
106
|
+
|
|
107
|
+
|
|
101
108
|
def _login_with_device_code(
|
|
102
109
|
base_url: str,
|
|
103
110
|
auth_service: AuthServiceClient,
|
|
@@ -74,10 +74,12 @@ def _handle_if_local_source(component: Component, workspace_fqn: str) -> Compone
|
|
|
74
74
|
else:
|
|
75
75
|
# We'll build image on TrueFoundry servers, upload the source and update image.build_source
|
|
76
76
|
logger.info("Uploading code for %s '%s'", component.type, component.name)
|
|
77
|
+
client = ServiceFoundryServiceClient()
|
|
77
78
|
new_component.image.build_source = local_source_to_remote_source(
|
|
78
79
|
local_source=component.image.build_source,
|
|
79
80
|
workspace_fqn=workspace_fqn,
|
|
80
81
|
component_name=component.name,
|
|
82
|
+
upload_code_package=client.upload_code_package,
|
|
81
83
|
)
|
|
82
84
|
logger.debug("Uploaded code for %s '%s'", component.type, component.name)
|
|
83
85
|
return new_component
|
{truefoundry-0.5.3rc5 → truefoundry-0.5.5}/truefoundry/deploy/v2/lib/deployable_patched_models.py
RENAMED
|
@@ -30,6 +30,10 @@ class Job(models.Job, DeployablePatchedModelBase):
|
|
|
30
30
|
resources: models.Resources = Field(default_factory=models.Resources)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
class SparkJob(models.SparkJob, DeployablePatchedModelBase):
|
|
34
|
+
type: Literal["spark-job"] = "spark-job"
|
|
35
|
+
|
|
36
|
+
|
|
33
37
|
class Notebook(models.Notebook, DeployablePatchedModelBase):
|
|
34
38
|
type: Literal["notebook"] = "notebook"
|
|
35
39
|
resources: models.Resources = Field(default_factory=models.Resources)
|
|
@@ -37,6 +41,12 @@ class Notebook(models.Notebook, DeployablePatchedModelBase):
|
|
|
37
41
|
|
|
38
42
|
class Codeserver(models.Codeserver, DeployablePatchedModelBase):
|
|
39
43
|
type: Literal["codeserver"] = "codeserver"
|
|
44
|
+
resources: models.Resources = Field(default_factory=models.Resources)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class RStudio(models.RStudio, DeployablePatchedModelBase):
|
|
48
|
+
type: Literal["rstudio"] = "rstudio"
|
|
49
|
+
resources: models.Resources = Field(default_factory=models.Resources)
|
|
40
50
|
|
|
41
51
|
|
|
42
52
|
class Helm(models.Helm, DeployablePatchedModelBase):
|
|
@@ -256,6 +256,10 @@ class JwtAuthCreds(models.JwtAuthCreds, PatchedModelBase):
|
|
|
256
256
|
type: Literal["jwt_auth"] = "jwt_auth"
|
|
257
257
|
|
|
258
258
|
|
|
259
|
+
class TrueFoundryInteractiveLogin(models.TrueFoundryInteractiveLogin, PatchedModelBase):
|
|
260
|
+
type: Literal["truefoundry_oauth"] = "truefoundry_oauth"
|
|
261
|
+
|
|
262
|
+
|
|
259
263
|
class HealthProbe(models.HealthProbe, PatchedModelBase):
|
|
260
264
|
pass
|
|
261
265
|
|
|
@@ -504,6 +508,10 @@ class TruefoundryArtifactSource(models.TruefoundryArtifactSource, PatchedModelBa
|
|
|
504
508
|
type: Literal["truefoundry-artifact"] = "truefoundry-artifact"
|
|
505
509
|
|
|
506
510
|
|
|
511
|
+
# TODO: When we do the renaming in CUE, we will make TruefoundryArtifactSource the alias and mark it deprecated
|
|
512
|
+
TrueFoundryArtifactSource = TruefoundryArtifactSource
|
|
513
|
+
|
|
514
|
+
|
|
507
515
|
class ArtifactsDownload(models.ArtifactsDownload, PatchedModelBase):
|
|
508
516
|
pass
|
|
509
517
|
|
|
@@ -136,6 +136,7 @@ def local_source_to_remote_source(
|
|
|
136
136
|
local_source: models.LocalSource,
|
|
137
137
|
workspace_fqn: str,
|
|
138
138
|
component_name: str,
|
|
139
|
+
upload_code_package: Callable[[str, str, str], str],
|
|
139
140
|
) -> RemoteSource:
|
|
140
141
|
with tempfile.TemporaryDirectory() as local_dir:
|
|
141
142
|
package_local_path = os.path.join(local_dir, "build.tar.gz")
|
|
@@ -164,8 +165,7 @@ def local_source_to_remote_source(
|
|
|
164
165
|
logger.exception("Failed to calculate code archive size")
|
|
165
166
|
|
|
166
167
|
logger.debug("Uploading code archive.")
|
|
167
|
-
|
|
168
|
-
remote_uri = client.upload_code_package(
|
|
168
|
+
remote_uri = upload_code_package(
|
|
169
169
|
workspace_fqn=workspace_fqn,
|
|
170
170
|
component_name=component_name,
|
|
171
171
|
package_local_path=package_local_path,
|
|
@@ -184,8 +184,8 @@ from truefoundry.ml.autogen.client.models.finalize_artifact_version_request_dto
|
|
|
184
184
|
FinalizeArtifactVersionRequestDto,
|
|
185
185
|
)
|
|
186
186
|
from truefoundry.ml.autogen.client.models.framework import Framework
|
|
187
|
-
from truefoundry.ml.autogen.client.models.
|
|
188
|
-
|
|
187
|
+
from truefoundry.ml.autogen.client.models.get_artifact_version_aliases_response_dto import (
|
|
188
|
+
GetArtifactVersionAliasesResponseDto,
|
|
189
189
|
)
|
|
190
190
|
from truefoundry.ml.autogen.client.models.get_experiment_response_dto import (
|
|
191
191
|
GetExperimentResponseDto,
|
|
@@ -79,8 +79,8 @@ from truefoundry.ml.autogen.client.models.export_deployment_files_request_dto im
|
|
|
79
79
|
from truefoundry.ml.autogen.client.models.finalize_artifact_version_request_dto import (
|
|
80
80
|
FinalizeArtifactVersionRequestDto,
|
|
81
81
|
)
|
|
82
|
-
from truefoundry.ml.autogen.client.models.
|
|
83
|
-
|
|
82
|
+
from truefoundry.ml.autogen.client.models.get_artifact_version_aliases_response_dto import (
|
|
83
|
+
GetArtifactVersionAliasesResponseDto,
|
|
84
84
|
)
|
|
85
85
|
from truefoundry.ml.autogen.client.models.get_signed_url_for_dataset_write_request_dto import (
|
|
86
86
|
GetSignedURLForDatasetWriteRequestDto,
|
|
@@ -5342,15 +5342,15 @@ class MlfoundryArtifactsApi:
|
|
|
5342
5342
|
)
|
|
5343
5343
|
|
|
5344
5344
|
@validate_arguments
|
|
5345
|
-
def
|
|
5345
|
+
def get_version_aliases_for_artifact_get(
|
|
5346
5346
|
self, artifact_id: StrictStr, **kwargs
|
|
5347
|
-
) ->
|
|
5348
|
-
"""Get
|
|
5347
|
+
) -> GetArtifactVersionAliasesResponseDto: # noqa: E501
|
|
5348
|
+
"""Get Version Aliases For Artifact # noqa: E501
|
|
5349
5349
|
|
|
5350
5350
|
This method makes a synchronous HTTP request by default. To make an
|
|
5351
5351
|
asynchronous HTTP request, please pass async_req=True
|
|
5352
5352
|
|
|
5353
|
-
>>> thread = api.
|
|
5353
|
+
>>> thread = api.get_version_aliases_for_artifact_get(artifact_id, async_req=True)
|
|
5354
5354
|
>>> result = thread.get()
|
|
5355
5355
|
|
|
5356
5356
|
:param artifact_id: (required)
|
|
@@ -5364,24 +5364,26 @@ class MlfoundryArtifactsApi:
|
|
|
5364
5364
|
:return: Returns the result object.
|
|
5365
5365
|
If the method is called asynchronously,
|
|
5366
5366
|
returns the request thread.
|
|
5367
|
-
:rtype:
|
|
5367
|
+
:rtype: GetArtifactVersionAliasesResponseDto
|
|
5368
5368
|
"""
|
|
5369
5369
|
kwargs["_return_http_data_only"] = True
|
|
5370
5370
|
if "_preload_content" in kwargs:
|
|
5371
|
-
message = "Error! Please call the
|
|
5371
|
+
message = "Error! Please call the get_version_aliases_for_artifact_get_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
|
5372
5372
|
raise ValueError(message)
|
|
5373
|
-
return self.
|
|
5373
|
+
return self.get_version_aliases_for_artifact_get_with_http_info(
|
|
5374
|
+
artifact_id, **kwargs
|
|
5375
|
+
) # noqa: E501
|
|
5374
5376
|
|
|
5375
5377
|
@validate_arguments
|
|
5376
|
-
def
|
|
5378
|
+
def get_version_aliases_for_artifact_get_with_http_info(
|
|
5377
5379
|
self, artifact_id: StrictStr, **kwargs
|
|
5378
5380
|
) -> ApiResponse: # noqa: E501
|
|
5379
|
-
"""Get
|
|
5381
|
+
"""Get Version Aliases For Artifact # noqa: E501
|
|
5380
5382
|
|
|
5381
5383
|
This method makes a synchronous HTTP request by default. To make an
|
|
5382
5384
|
asynchronous HTTP request, please pass async_req=True
|
|
5383
5385
|
|
|
5384
|
-
>>> thread = api.
|
|
5386
|
+
>>> thread = api.get_version_aliases_for_artifact_get_with_http_info(artifact_id, async_req=True)
|
|
5385
5387
|
>>> result = thread.get()
|
|
5386
5388
|
|
|
5387
5389
|
:param artifact_id: (required)
|
|
@@ -5408,7 +5410,7 @@ class MlfoundryArtifactsApi:
|
|
|
5408
5410
|
:return: Returns the result object.
|
|
5409
5411
|
If the method is called asynchronously,
|
|
5410
5412
|
returns the request thread.
|
|
5411
|
-
:rtype: tuple(
|
|
5413
|
+
:rtype: tuple(GetArtifactVersionAliasesResponseDto, status_code(int), headers(HTTPHeaderDict))
|
|
5412
5414
|
"""
|
|
5413
5415
|
|
|
5414
5416
|
_params = locals()
|
|
@@ -5431,7 +5433,7 @@ class MlfoundryArtifactsApi:
|
|
|
5431
5433
|
if _key not in _all_params:
|
|
5432
5434
|
raise ApiTypeError(
|
|
5433
5435
|
"Got an unexpected keyword argument '%s'"
|
|
5434
|
-
" to method
|
|
5436
|
+
" to method get_version_aliases_for_artifact_get" % _key
|
|
5435
5437
|
)
|
|
5436
5438
|
_params[_key] = _val
|
|
5437
5439
|
del _params["kwargs"]
|
|
@@ -5462,12 +5464,12 @@ class MlfoundryArtifactsApi:
|
|
|
5462
5464
|
_auth_settings = ["HTTPBearer", "APIKeyCookie"] # noqa: E501
|
|
5463
5465
|
|
|
5464
5466
|
_response_types_map = {
|
|
5465
|
-
"200": "
|
|
5467
|
+
"200": "GetArtifactVersionAliasesResponseDto",
|
|
5466
5468
|
"422": "HTTPValidationError",
|
|
5467
5469
|
}
|
|
5468
5470
|
|
|
5469
5471
|
return self.api_client.call_api(
|
|
5470
|
-
"/api/2.0/mlflow/mlfoundry-artifacts/artifacts/get-
|
|
5472
|
+
"/api/2.0/mlflow/mlfoundry-artifacts/artifacts/get-version-aliases",
|
|
5471
5473
|
"GET",
|
|
5472
5474
|
_path_params,
|
|
5473
5475
|
_query_params,
|
|
@@ -155,8 +155,8 @@ from truefoundry.ml.autogen.client.models.finalize_artifact_version_request_dto
|
|
|
155
155
|
FinalizeArtifactVersionRequestDto,
|
|
156
156
|
)
|
|
157
157
|
from truefoundry.ml.autogen.client.models.framework import Framework
|
|
158
|
-
from truefoundry.ml.autogen.client.models.
|
|
159
|
-
|
|
158
|
+
from truefoundry.ml.autogen.client.models.get_artifact_version_aliases_response_dto import (
|
|
159
|
+
GetArtifactVersionAliasesResponseDto,
|
|
160
160
|
)
|
|
161
161
|
from truefoundry.ml.autogen.client.models.get_experiment_response_dto import (
|
|
162
162
|
GetExperimentResponseDto,
|