truefoundry 0.4.1rc1__tar.gz → 0.4.2rc2__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.4.1rc1 → truefoundry-0.4.2rc2}/PKG-INFO +1 -1
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/pyproject.toml +1 -1
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/auth_service_client.py +14 -5
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/credential_file_manager.py +4 -3
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/credential_provider.py +4 -5
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/servicefoundry_client.py +1 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/utils.py +26 -4
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/auto_gen/models.py +11 -5
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/auth/servicefoundry_session.py +4 -2
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/clients/servicefoundry_client.py +1 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/session.py +6 -6
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/clients/servicefoundry_client.py +1 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/mlfoundry_api.py +4 -2
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/mlfoundry_run.py +33 -16
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/session.py +8 -4
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/README.md +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/agents/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/agents/base.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/agents/developer.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/agents/tester.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/cli.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/constants.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/exception.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/logger.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/ask.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/base.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/commit.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/docker_build.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/docker_run.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/list_files.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/read_file.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/send_request.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/write_file.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/utils/client.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/utils/diff.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/cli/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/cli/__main__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/constants.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/entities.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/exceptions.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/common/request_utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/docker_service.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/cli.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/build_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/build_logs_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/create_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/get_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/list_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/login_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/config.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/console.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/const.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/display_util.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/util.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/core/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/core/login.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/core/logout.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/__main__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/app.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/build.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/remote/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/remote/context.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/remote/method.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/remote/remote.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/route.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/service.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/function_service/utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/io/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/io/output_callback.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/io/rich_output_callback.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/json_util.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/clients/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/clients/shell_client.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/const.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/dao/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/dao/application.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/dao/apply.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/dao/version.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/dao/workspace.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/exceptions.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/logs_utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/messages.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/model/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/model/entity.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/util.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/win32.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/python_deploy_codegen.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/lib/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/lib/deploy.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/lib/models.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/v2/lib/source.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/langchain/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/langchain/deprecated.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/langchain/truefoundry_chat.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/langchain/truefoundry_embeddings.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/langchain/truefoundry_llm.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/langchain/utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/logger.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/artifact/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/health_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/python_deployment_config_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api_client.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/api_response.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/configuration.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/exceptions.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/agent.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/content.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/content1.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/content2.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/feature_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/feature_value_type.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/list_seed_experiments_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/method.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/model_schema_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/prediction_type.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/stop.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/text.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/url.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client/rest.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/client_README.md +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/autogen/entities/artifacts.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/cli/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/cli/cli.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/cli/commands/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/cli/commands/download.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/clients/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/clients/entities.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/clients/utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/constants.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/entities.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/enums.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/env_vars.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/exceptions.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/git_info.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/internal_namespace.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/artifacts/model.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/artifacts/model_extras.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/image/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/image/constants.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/image/image.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/image/types.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/plot.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/pydantic_base.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/log_types/utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/logger.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/run_utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/validation_utils.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/pydantic_v1.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/version.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/__init__.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/container_task.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/example/deploy.sh +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/example/hello_world_package/workflow.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/example/package/test_workflow.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/example/truefoundry.yaml +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/example/workflow.yaml +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/map_task.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/python_task.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/task.py +0 -0
- {truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/workflow/workflow.py +0 -0
|
@@ -8,7 +8,7 @@ from truefoundry.common.constants import VERSION_PREFIX
|
|
|
8
8
|
from truefoundry.common.entities import DeviceCode, Token
|
|
9
9
|
from truefoundry.common.exceptions import BadRequestException
|
|
10
10
|
from truefoundry.common.request_utils import request_handling, requests_retry_session
|
|
11
|
-
from truefoundry.common.utils import poll_for_function
|
|
11
|
+
from truefoundry.common.utils import poll_for_function, relogin_error_message
|
|
12
12
|
from truefoundry.logger import logger
|
|
13
13
|
|
|
14
14
|
|
|
@@ -16,6 +16,7 @@ class AuthServiceClient(ABC):
|
|
|
16
16
|
def __init__(self, tenant_name: str):
|
|
17
17
|
self._tenant_name = tenant_name
|
|
18
18
|
|
|
19
|
+
# TODO (chiragjn): Rename base_url to tfy_host
|
|
19
20
|
@classmethod
|
|
20
21
|
def from_base_url(cls, base_url: str) -> "AuthServiceClient":
|
|
21
22
|
from truefoundry.common.servicefoundry_client import (
|
|
@@ -54,7 +55,9 @@ class ServiceFoundryServerAuthServiceClient(AuthServiceClient):
|
|
|
54
55
|
if not token.refresh_token:
|
|
55
56
|
# TODO: Add a way to propagate error messages without traceback to the output interface side
|
|
56
57
|
raise Exception(
|
|
57
|
-
|
|
58
|
+
relogin_error_message(
|
|
59
|
+
"Unable to resume login session.", host=host_arg_str
|
|
60
|
+
)
|
|
58
61
|
)
|
|
59
62
|
url = f"{self._api_server_url}/{VERSION_PREFIX}/oauth2/token"
|
|
60
63
|
data = {
|
|
@@ -70,7 +73,9 @@ class ServiceFoundryServerAuthServiceClient(AuthServiceClient):
|
|
|
70
73
|
return Token.parse_obj(response_data)
|
|
71
74
|
except BadRequestException as ex:
|
|
72
75
|
raise Exception(
|
|
73
|
-
|
|
76
|
+
relogin_error_message(
|
|
77
|
+
"Unable to resume login session.", host=host_arg_str
|
|
78
|
+
)
|
|
74
79
|
) from ex
|
|
75
80
|
|
|
76
81
|
def get_device_code(self) -> DeviceCode:
|
|
@@ -127,7 +132,9 @@ class AuthServerServiceClient(AuthServiceClient):
|
|
|
127
132
|
if not token.refresh_token:
|
|
128
133
|
# TODO: Add a way to propagate error messages without traceback to the output interface side
|
|
129
134
|
raise Exception(
|
|
130
|
-
|
|
135
|
+
relogin_error_message(
|
|
136
|
+
"Unable to resume login session.", host=host_arg_str
|
|
137
|
+
)
|
|
131
138
|
)
|
|
132
139
|
url = f"{self._auth_server_url}/api/{VERSION_PREFIX}/oauth/token/refresh"
|
|
133
140
|
data = {
|
|
@@ -141,7 +148,9 @@ class AuthServerServiceClient(AuthServiceClient):
|
|
|
141
148
|
return Token.parse_obj(response_data)
|
|
142
149
|
except BadRequestException as ex:
|
|
143
150
|
raise Exception(
|
|
144
|
-
|
|
151
|
+
relogin_error_message(
|
|
152
|
+
"Unable to resume login session.", host=host_arg_str
|
|
153
|
+
)
|
|
145
154
|
) from ex
|
|
146
155
|
|
|
147
156
|
def get_device_code(self) -> DeviceCode:
|
|
@@ -10,6 +10,7 @@ from filelock import FileLock, Timeout
|
|
|
10
10
|
|
|
11
11
|
from truefoundry.common.constants import CREDENTIAL_FILEPATH
|
|
12
12
|
from truefoundry.common.entities import CredentialsFileContent
|
|
13
|
+
from truefoundry.common.utils import relogin_error_message
|
|
13
14
|
from truefoundry.logger import logger
|
|
14
15
|
|
|
15
16
|
|
|
@@ -87,9 +88,9 @@ class CredentialsFileManager:
|
|
|
87
88
|
return CredentialsFileContent.parse_file(self._credentials_file_path)
|
|
88
89
|
except Exception as ex:
|
|
89
90
|
raise Exception(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
relogin_error_message(
|
|
92
|
+
f"Error while reading the credentials file {self._credentials_file_path}"
|
|
93
|
+
)
|
|
93
94
|
) from ex
|
|
94
95
|
|
|
95
96
|
@_ensure_lock_taken
|
|
@@ -6,7 +6,7 @@ from truefoundry.common.auth_service_client import AuthServiceClient
|
|
|
6
6
|
from truefoundry.common.constants import TFY_API_KEY_ENV_KEY
|
|
7
7
|
from truefoundry.common.credential_file_manager import CredentialsFileManager
|
|
8
8
|
from truefoundry.common.entities import CredentialsFileContent, Token
|
|
9
|
-
from truefoundry.common.utils import
|
|
9
|
+
from truefoundry.common.utils import resolve_tfy_host
|
|
10
10
|
from truefoundry.logger import logger
|
|
11
11
|
|
|
12
12
|
TOKEN_REFRESH_LOCK = threading.RLock()
|
|
@@ -17,6 +17,7 @@ class CredentialProvider(ABC):
|
|
|
17
17
|
@abstractmethod
|
|
18
18
|
def token(self) -> Token: ...
|
|
19
19
|
|
|
20
|
+
# TODO (chiragjn): Rename base_url to tfy_host
|
|
20
21
|
@property
|
|
21
22
|
@abstractmethod
|
|
22
23
|
def base_url(self) -> str: ...
|
|
@@ -34,10 +35,8 @@ class EnvCredentialProvider(CredentialProvider):
|
|
|
34
35
|
raise Exception(
|
|
35
36
|
f"Value of {TFY_API_KEY_ENV_KEY} env var should be non-empty string"
|
|
36
37
|
)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
self._host = base_url
|
|
40
|
-
self._auth_service = AuthServiceClient.from_base_url(base_url=base_url)
|
|
38
|
+
self._host = resolve_tfy_host()
|
|
39
|
+
self._auth_service = AuthServiceClient.from_base_url(base_url=self._host)
|
|
41
40
|
self._token: Token = Token(access_token=api_key, refresh_token=None) # type: ignore[call-arg]
|
|
42
41
|
|
|
43
42
|
@staticmethod
|
|
@@ -68,6 +68,7 @@ def _cached_get_python_sdk_config(api_server_url: str) -> PythonSDKConfig:
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
class ServiceFoundryServiceClient:
|
|
71
|
+
# TODO (chiragjn): Rename base_url to tfy_host
|
|
71
72
|
def __init__(self, base_url: str):
|
|
72
73
|
self._base_url = base_url.strip("/")
|
|
73
74
|
self._api_server_url = append_servicefoundry_path_to_base_url(self._base_url)
|
|
@@ -14,6 +14,17 @@ from truefoundry.common.constants import (
|
|
|
14
14
|
T = TypeVar("T")
|
|
15
15
|
|
|
16
16
|
|
|
17
|
+
def relogin_error_message(message: str, host: str = "HOST") -> str:
|
|
18
|
+
suffix = ""
|
|
19
|
+
if host == "HOST":
|
|
20
|
+
suffix = " where HOST is TrueFoundry platform URL"
|
|
21
|
+
return (
|
|
22
|
+
f"{message}\n"
|
|
23
|
+
f"Please login again using `tfy login --host {host} --relogin` "
|
|
24
|
+
f"or `truefoundry.login(host={host!r}, relogin=True)` function" + suffix
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
17
28
|
def timed_lru_cache(
|
|
18
29
|
seconds: int = 300, maxsize: Optional[int] = None
|
|
19
30
|
) -> Callable[[Callable[..., T]], Callable[..., T]]:
|
|
@@ -42,14 +53,25 @@ def poll_for_function(
|
|
|
42
53
|
time.sleep(poll_after_secs)
|
|
43
54
|
|
|
44
55
|
|
|
45
|
-
def
|
|
46
|
-
if not
|
|
56
|
+
def validate_tfy_host(tfy_host: str) -> str:
|
|
57
|
+
if not (tfy_host.startswith("https://") or tfy_host.startswith("http://")):
|
|
58
|
+
raise ValueError(
|
|
59
|
+
f"Invalid host {tfy_host!r}. It should start with https:// or http://"
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def resolve_tfy_host(tfy_host: Optional[str] = None) -> str:
|
|
64
|
+
if not tfy_host and not os.getenv(TFY_HOST_ENV_KEY):
|
|
47
65
|
raise ValueError(
|
|
48
|
-
f"Either `host` should be provided
|
|
66
|
+
f"Either `host` should be provided using `--host <value>`, or `{TFY_HOST_ENV_KEY}` env must be set"
|
|
49
67
|
)
|
|
50
|
-
|
|
68
|
+
tfy_host = tfy_host or os.getenv(TFY_HOST_ENV_KEY)
|
|
69
|
+
tfy_host = tfy_host.strip("/")
|
|
70
|
+
validate_tfy_host(tfy_host)
|
|
71
|
+
return tfy_host
|
|
51
72
|
|
|
52
73
|
|
|
74
|
+
# TODO (chiragjn): Rename base_url to tfy_host
|
|
53
75
|
def append_servicefoundry_path_to_base_url(base_url: str):
|
|
54
76
|
if urlsplit(base_url).netloc.startswith("localhost"):
|
|
55
77
|
return os.getenv(SERVICEFOUNDRY_SERVER_URL_ENV_KEY)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: application.json
|
|
3
|
-
# timestamp: 2024-
|
|
3
|
+
# timestamp: 2024-10-09T13:00:44+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -363,10 +363,12 @@ class HelmRepo(BaseModel):
|
|
|
363
363
|
description="+label=Helm repository URL\n+sort=1\n+message=Needs to be a valid URL.",
|
|
364
364
|
)
|
|
365
365
|
chart: str = Field(
|
|
366
|
-
...,
|
|
366
|
+
...,
|
|
367
|
+
description='+label=Chart name\n+sort=2\n+usage=The helm chart name\n+uiType=InputSelect\n+uiProps={"creatable":true, "searchable":true}',
|
|
367
368
|
)
|
|
368
369
|
version: str = Field(
|
|
369
|
-
...,
|
|
370
|
+
...,
|
|
371
|
+
description='+label=Version\n+sort=3\n+usage=Helm chart version\n+uiType=InputSelect\n+uiProps={"creatable":true, "searchable":true}',
|
|
370
372
|
)
|
|
371
373
|
|
|
372
374
|
|
|
@@ -448,10 +450,14 @@ class JobAlert(BaseModel):
|
|
|
448
450
|
+label=Alert
|
|
449
451
|
"""
|
|
450
452
|
|
|
451
|
-
notification_channel:
|
|
453
|
+
notification_channel: constr(min_length=1) = Field(
|
|
452
454
|
...,
|
|
453
455
|
description='+label=Notification Channel\n+usage=Specify the notification channel to send alerts to\n+uiType=IntegrationSelect\n+uiProps={"integrationType":"notification-channel"}\n+sort=660',
|
|
454
456
|
)
|
|
457
|
+
to_emails: Optional[List[constr(min_length=1)]] = Field(
|
|
458
|
+
None,
|
|
459
|
+
description="+label=To Emails\n+usage=List of recipients' email addresses if the notification channel is Email.\n+docs=Specify the emails to send alerts to\n+sort=665",
|
|
460
|
+
)
|
|
455
461
|
on_start: bool = Field(
|
|
456
462
|
False,
|
|
457
463
|
description="+label=On Start\n+usage=Send an alert when the job starts\n+sort=670",
|
|
@@ -1546,7 +1552,7 @@ class SSHServer(BaseWorkbenchInput):
|
|
|
1546
1552
|
image: WorkbenchImage
|
|
1547
1553
|
ssh_public_key: str = Field(
|
|
1548
1554
|
...,
|
|
1549
|
-
description="+label: SSH Public Key\n+usage=Add Your SSH Public Key, this will be used to authenticate you to the SSH Server.
|
|
1555
|
+
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",
|
|
1550
1556
|
)
|
|
1551
1557
|
|
|
1552
1558
|
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/lib/auth/servicefoundry_session.py
RENAMED
|
@@ -8,6 +8,7 @@ from truefoundry.common.credential_provider import (
|
|
|
8
8
|
FileCredentialProvider,
|
|
9
9
|
)
|
|
10
10
|
from truefoundry.common.entities import UserInfo
|
|
11
|
+
from truefoundry.common.utils import relogin_error_message
|
|
11
12
|
from truefoundry.logger import logger
|
|
12
13
|
|
|
13
14
|
ACTIVE_SESSION: Optional[ServiceFoundrySession] = None
|
|
@@ -41,8 +42,9 @@ class ServiceFoundrySession:
|
|
|
41
42
|
break
|
|
42
43
|
if final_cred_provider is None:
|
|
43
44
|
raise Exception(
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
relogin_error_message(
|
|
46
|
+
"No active session found. Perhaps you are not logged in?",
|
|
47
|
+
)
|
|
46
48
|
)
|
|
47
49
|
return final_cred_provider
|
|
48
50
|
|
|
@@ -76,6 +76,7 @@ def _upload_packaged_code(metadata, package_file):
|
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
|
|
79
|
+
# TODO (chiragjn): Rename base_url to tfy_host
|
|
79
80
|
def __init__(self, init_session: bool = True, base_url: Optional[str] = None):
|
|
80
81
|
self._session: Optional[ServiceFoundrySession] = None
|
|
81
82
|
if init_session:
|
|
@@ -8,7 +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.utils import
|
|
11
|
+
from truefoundry.common.utils import relogin_error_message, resolve_tfy_host
|
|
12
12
|
from truefoundry.deploy.io.output_callback import OutputCallBack
|
|
13
13
|
from truefoundry.deploy.lib.const import (
|
|
14
14
|
RICH_OUTPUT_CALLBACK,
|
|
@@ -43,7 +43,7 @@ def login(
|
|
|
43
43
|
"Login will just save the credentials on disk."
|
|
44
44
|
)
|
|
45
45
|
|
|
46
|
-
host =
|
|
46
|
+
host = resolve_tfy_host(host)
|
|
47
47
|
|
|
48
48
|
with CredentialsFileManager() as cred_file:
|
|
49
49
|
if not relogin and cred_file.exists():
|
|
@@ -58,10 +58,10 @@ def login(
|
|
|
58
58
|
user_info = cred_file_content.to_token().to_user_info()
|
|
59
59
|
user_name_display_info = user_info.email or user_info.user_type.value
|
|
60
60
|
output_hook.print_line(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
relogin_error_message(
|
|
62
|
+
f"Already logged in to {cred_file_content.host!r} as {user_info.user_id!r} ({user_name_display_info})",
|
|
63
|
+
host=host,
|
|
64
|
+
)
|
|
65
65
|
)
|
|
66
66
|
return False
|
|
67
67
|
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/ml/clients/servicefoundry_client.py
RENAMED
|
@@ -16,6 +16,7 @@ from truefoundry.ml.run_utils import append_servicefoundry_path_to_tracking_uri
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
|
|
19
|
+
# TODO (chiragjn): Rename tracking_uri to tfy_host
|
|
19
20
|
def __init__(self, tracking_uri: str, token: Optional[str] = None):
|
|
20
21
|
super().__init__(base_url=tracking_uri)
|
|
21
22
|
self.host_creds = HostCreds(
|
|
@@ -7,6 +7,7 @@ from typing import Any, Dict, Iterator, List, Optional, Sequence, Tuple, Union
|
|
|
7
7
|
import coolname
|
|
8
8
|
import pandas as pd
|
|
9
9
|
|
|
10
|
+
from truefoundry.common.utils import relogin_error_message
|
|
10
11
|
from truefoundry.ml import constants, env_vars
|
|
11
12
|
from truefoundry.ml.autogen.client import ( # type: ignore[attr-defined]
|
|
12
13
|
ArtifactDto,
|
|
@@ -213,8 +214,9 @@ class MlFoundry:
|
|
|
213
214
|
session = get_active_session()
|
|
214
215
|
if session is None:
|
|
215
216
|
raise MlFoundryException(
|
|
216
|
-
|
|
217
|
-
|
|
217
|
+
relogin_error_message(
|
|
218
|
+
"No active session found. Perhaps you are not logged in?",
|
|
219
|
+
)
|
|
218
220
|
)
|
|
219
221
|
servicefoundry_client = ServiceFoundryServiceClient(
|
|
220
222
|
tracking_uri=self.get_tracking_uri(),
|
|
@@ -19,6 +19,7 @@ from typing import (
|
|
|
19
19
|
from urllib.parse import urljoin, urlsplit
|
|
20
20
|
|
|
21
21
|
from truefoundry import version
|
|
22
|
+
from truefoundry.common.utils import relogin_error_message
|
|
22
23
|
from truefoundry.ml import constants, enums
|
|
23
24
|
from truefoundry.ml.autogen.client import ( # type: ignore[attr-defined]
|
|
24
25
|
ArtifactType,
|
|
@@ -51,6 +52,8 @@ from truefoundry.ml.run_utils import ParamsType, flatten_dict, process_params
|
|
|
51
52
|
from truefoundry.ml.session import ACTIVE_RUNS, _get_api_client, get_active_session
|
|
52
53
|
from truefoundry.ml.validation_utils import (
|
|
53
54
|
MAX_ENTITY_KEY_LENGTH,
|
|
55
|
+
MAX_METRICS_PER_BATCH,
|
|
56
|
+
MAX_PARAMS_TAGS_PER_BATCH,
|
|
54
57
|
_validate_batch_log_data,
|
|
55
58
|
)
|
|
56
59
|
|
|
@@ -222,8 +225,9 @@ class MlFoundryRun:
|
|
|
222
225
|
session = get_active_session()
|
|
223
226
|
if session is None:
|
|
224
227
|
raise MlFoundryException(
|
|
225
|
-
|
|
226
|
-
|
|
228
|
+
relogin_error_message(
|
|
229
|
+
"No active session found. Perhaps you are not logged in?",
|
|
230
|
+
)
|
|
227
231
|
)
|
|
228
232
|
base_url = "{uri.scheme}://{uri.netloc}/".format(
|
|
229
233
|
uri=urlsplit(session.tracking_uri)
|
|
@@ -636,12 +640,16 @@ class MlFoundryRun:
|
|
|
636
640
|
return
|
|
637
641
|
|
|
638
642
|
try:
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
+
for i in range(0, len(metrics), MAX_METRICS_PER_BATCH):
|
|
644
|
+
metrics_batch = metrics[i : i + MAX_METRICS_PER_BATCH]
|
|
645
|
+
|
|
646
|
+
_validate_batch_log_data(metrics=metrics_batch, params=[], tags=[])
|
|
647
|
+
|
|
648
|
+
self._runs_api.log_run_batch_post(
|
|
649
|
+
log_batch_request_dto=LogBatchRequestDto(
|
|
650
|
+
run_id=self.run_id, metrics=metrics_batch, params=[], tags=[]
|
|
651
|
+
)
|
|
643
652
|
)
|
|
644
|
-
)
|
|
645
653
|
except Exception as e:
|
|
646
654
|
raise MlFoundryException(str(e)) from e
|
|
647
655
|
|
|
@@ -723,12 +731,17 @@ class MlFoundryRun:
|
|
|
723
731
|
if len(params) == 0:
|
|
724
732
|
logger.warning("Cannot log empty params dictionary")
|
|
725
733
|
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
734
|
+
for i in range(0, len(params), MAX_PARAMS_TAGS_PER_BATCH):
|
|
735
|
+
params_batch = params[i : i + MAX_PARAMS_TAGS_PER_BATCH]
|
|
736
|
+
|
|
737
|
+
_validate_batch_log_data(metrics=[], params=params_batch, tags=[])
|
|
738
|
+
logger.debug("Logging parameters: %s", params_batch)
|
|
739
|
+
|
|
740
|
+
self._runs_api.log_run_batch_post(
|
|
741
|
+
log_batch_request_dto=LogBatchRequestDto(
|
|
742
|
+
run_id=self.run_id, metrics=[], params=params_batch, tags=[]
|
|
743
|
+
)
|
|
730
744
|
)
|
|
731
|
-
)
|
|
732
745
|
except Exception as e:
|
|
733
746
|
raise MlFoundryException(str(e)) from e
|
|
734
747
|
logger.info("Parameters logged successfully")
|
|
@@ -765,11 +778,15 @@ class MlFoundryRun:
|
|
|
765
778
|
tags_arr = [
|
|
766
779
|
RunTagDto(key=key, value=str(value)) for key, value in tags.items()
|
|
767
780
|
]
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
781
|
+
for i in range(0, len(tags_arr), MAX_PARAMS_TAGS_PER_BATCH):
|
|
782
|
+
tags_batch = tags_arr[i : i + MAX_PARAMS_TAGS_PER_BATCH]
|
|
783
|
+
|
|
784
|
+
_validate_batch_log_data(metrics=[], params=[], tags=tags_batch)
|
|
785
|
+
self._runs_api.log_run_batch_post(
|
|
786
|
+
log_batch_request_dto=LogBatchRequestDto(
|
|
787
|
+
run_id=self.run_id, metrics=[], params=[], tags=tags_batch
|
|
788
|
+
)
|
|
771
789
|
)
|
|
772
|
-
)
|
|
773
790
|
except Exception as e:
|
|
774
791
|
raise MlFoundryException(str(e)) from e
|
|
775
792
|
logger.info("Tags set successfully")
|
|
@@ -10,6 +10,7 @@ from truefoundry.common.credential_provider import (
|
|
|
10
10
|
)
|
|
11
11
|
from truefoundry.common.entities import Token, UserInfo
|
|
12
12
|
from truefoundry.common.request_utils import urllib3_retry
|
|
13
|
+
from truefoundry.common.utils import relogin_error_message
|
|
13
14
|
from truefoundry.ml.autogen.client import ( # type: ignore[attr-defined]
|
|
14
15
|
ApiClient,
|
|
15
16
|
Configuration,
|
|
@@ -83,6 +84,7 @@ class Session:
|
|
|
83
84
|
self._assert_not_closed()
|
|
84
85
|
return self._user_info
|
|
85
86
|
|
|
87
|
+
# TODO (chiragjn): Rename tracking_uri to tfy_host
|
|
86
88
|
@property
|
|
87
89
|
def tracking_uri(self) -> str:
|
|
88
90
|
return self._cred_provider.base_url
|
|
@@ -120,8 +122,9 @@ def _get_api_client(
|
|
|
120
122
|
return ApiClient()
|
|
121
123
|
else:
|
|
122
124
|
raise MlFoundryException(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
+
relogin_error_message(
|
|
126
|
+
"No active session found. Perhaps you are not logged in?",
|
|
127
|
+
)
|
|
125
128
|
)
|
|
126
129
|
|
|
127
130
|
creds = session.get_host_creds()
|
|
@@ -144,8 +147,9 @@ def init_session() -> Session:
|
|
|
144
147
|
break
|
|
145
148
|
if final_cred_provider is None:
|
|
146
149
|
raise MlFoundryException(
|
|
147
|
-
|
|
148
|
-
|
|
150
|
+
relogin_error_message(
|
|
151
|
+
"No active session found. Perhaps you are not logged in?",
|
|
152
|
+
)
|
|
149
153
|
)
|
|
150
154
|
new_session = Session(cred_provider=final_cred_provider)
|
|
151
155
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/agents/project_identifier.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
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/tools/file_type_counts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/autodeploy/utils/pydantic_compat.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
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/__init__.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/builder/builders/dockerfile.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
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/apply_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/build_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/build_logs_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/create_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/delete_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/deploy_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/get_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/list_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/login_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/logout_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/logs_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/patch_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/redeploy_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/terminate_comand.py
RENAMED
|
File without changes
|
{truefoundry-0.4.1rc1 → truefoundry-0.4.2rc2}/truefoundry/deploy/cli/commands/trigger_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|