truefoundry 0.4.3__tar.gz → 0.4.4rc1__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.3 → truefoundry-0.4.4rc1}/PKG-INFO +1 -1
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/pyproject.toml +2 -2
- truefoundry-0.4.4rc1/truefoundry/common/constants.py +33 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/credential_provider.py +4 -2
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/request_utils.py +1 -1
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/servicefoundry_client.py +4 -2
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/utils.py +4 -5
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/auto_gen/models.py +39 -4
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +2 -4
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/clients/servicefoundry_client.py +2 -1
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/model/entity.py +0 -4
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +16 -10
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/artifacts/artifact.py +0 -5
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/artifacts/dataset.py +0 -5
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/artifacts/model.py +0 -5
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/mlfoundry_api.py +7 -2
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/session.py +3 -1
- truefoundry-0.4.3/truefoundry/common/constants.py +0 -15
- truefoundry-0.4.3/truefoundry/ml/env_vars.py +0 -9
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/README.md +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/agents/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/agents/base.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/agents/developer.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/agents/tester.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/cli.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/constants.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/exception.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/logger.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/ask.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/base.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/commit.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/docker_build.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/docker_run.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/list_files.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/read_file.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/send_request.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/tools/write_file.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/utils/client.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/utils/diff.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/cli/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/cli/__main__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/auth_service_client.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/credential_file_manager.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/entities.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/common/exceptions.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/builders/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/constants.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/docker_service.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/builder/utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/cli.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/build_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/build_logs_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/create_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/get_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/list_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/login_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/config.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/console.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/const.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/display_util.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/util.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/core/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/core/login.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/core/logout.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/__main__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/app.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/build.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/remote/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/remote/context.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/remote/method.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/remote/remote.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/route.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/service.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/function_service/utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/io/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/io/output_callback.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/io/rich_output_callback.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/json_util.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/auth/servicefoundry_session.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/clients/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/const.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/dao/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/dao/application.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/dao/apply.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/dao/version.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/dao/workspace.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/exceptions.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/logs_utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/messages.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/model/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/session.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/util.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/win32.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/python_deploy_codegen.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/lib/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/lib/deploy.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/lib/models.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/v2/lib/source.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/langchain/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/langchain/deprecated.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/langchain/truefoundry_chat.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/langchain/truefoundry_embeddings.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/langchain/truefoundry_llm.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/langchain/utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/logger.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/artifact/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/health_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/python_deployment_config_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api_client.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/api_response.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/configuration.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/exceptions.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/agent.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/content.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/content1.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/content2.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/feature_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/feature_value_type.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/list_seed_experiments_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/method.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/model_schema_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/prediction_type.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/stop.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/text.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/url.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client/rest.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/client_README.md +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/autogen/entities/artifacts.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/cli/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/cli/cli.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/cli/commands/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/cli/commands/download.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/clients/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/clients/entities.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/clients/utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/constants.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/entities.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/enums.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/exceptions.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/git_info.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/internal_namespace.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/artifacts/model_extras.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/image/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/image/constants.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/image/image.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/image/types.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/plot.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/pydantic_base.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/log_types/utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/logger.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/mlfoundry_run.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/run_utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/validation_utils.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/pydantic_v1.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/version.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/__init__.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/container_task.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/example/deploy.sh +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/example/hello_world_package/workflow.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/example/package/test_workflow.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/example/truefoundry.yaml +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/example/workflow.yaml +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/map_task.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/python_task.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/task.py +0 -0
- {truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/workflow/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "truefoundry"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.4rc1"
|
|
4
4
|
description = "Truefoundry CLI"
|
|
5
5
|
authors = ["Abhishek Choudhary <abhishek@truefoundry.com>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -158,5 +158,5 @@ warn_required_dynamic_aliases = true
|
|
|
158
158
|
|
|
159
159
|
[tool.pytest.ini_options]
|
|
160
160
|
env = [
|
|
161
|
-
"
|
|
161
|
+
"TFY_PYTHONBUILD_PYTHON_IMAGE_REPO=docker.io/truefoundrycloud/test/python",
|
|
162
162
|
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from truefoundry.pydantic_v1 import BaseSettings, Field, SecretStr
|
|
6
|
+
|
|
7
|
+
TFY_CONFIG_DIR = Path.home() / ".truefoundry"
|
|
8
|
+
CREDENTIAL_FILEPATH = TFY_CONFIG_DIR / "credentials.json"
|
|
9
|
+
|
|
10
|
+
# These keys are kept separately because we use them in error messages and some checks
|
|
11
|
+
TFY_HOST_ENV_KEY = "TFY_HOST"
|
|
12
|
+
TFY_API_KEY_ENV_KEY = "TFY_API_KEY"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class TrueFoundrySdkEnv(BaseSettings):
|
|
16
|
+
# Note: Every field in this class should have a default value
|
|
17
|
+
# Never expect the user to set these values
|
|
18
|
+
TFY_HOST: Optional[str] = Field(default=None, env=TFY_HOST_ENV_KEY)
|
|
19
|
+
TFY_API_KEY: Optional[SecretStr] = Field(default=None, env=TFY_API_KEY_ENV_KEY)
|
|
20
|
+
TFY_ARTIFACTS_DOWNLOAD_CHUNK_SIZE_BYTES: int = 100 * 1000 * 1000
|
|
21
|
+
TFY_ARTIFACTS_DOWNLOAD_MAX_WORKERS: int = max(min(32, (os.cpu_count() or 2) * 2), 4)
|
|
22
|
+
TFY_ARTIFACTS_UPLOAD_MAX_WORKERS: int = max(min(32, (os.cpu_count() or 2) * 2), 4)
|
|
23
|
+
TFY_ARTIFACTS_DISABLE_MULTIPART_UPLOAD: bool = False
|
|
24
|
+
TFY_ARTIFACTS_DOWNLOAD_FSYNC_CHUNKS: bool = False
|
|
25
|
+
TFY_CLI_LOCAL_DEV_MODE: bool = False
|
|
26
|
+
TFY_PYTHONBUILD_PYTHON_IMAGE_REPO: str = "public.ecr.aws/docker/library/python"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
ENV_VARS = TrueFoundrySdkEnv()
|
|
30
|
+
API_SERVER_RELATIVE_PATH = "api/svc"
|
|
31
|
+
MLFOUNDRY_SERVER_RELATIVE_PATH = "api/ml"
|
|
32
|
+
VERSION_PREFIX = "v1"
|
|
33
|
+
SERVICEFOUNDRY_CLIENT_MAX_RETRIES = 2
|
|
@@ -3,7 +3,7 @@ import threading
|
|
|
3
3
|
from abc import ABC, abstractmethod
|
|
4
4
|
|
|
5
5
|
from truefoundry.common.auth_service_client import AuthServiceClient
|
|
6
|
-
from truefoundry.common.constants import TFY_API_KEY_ENV_KEY
|
|
6
|
+
from truefoundry.common.constants import ENV_VARS, 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
9
|
from truefoundry.common.utils import resolve_tfy_host
|
|
@@ -30,7 +30,9 @@ class CredentialProvider(ABC):
|
|
|
30
30
|
class EnvCredentialProvider(CredentialProvider):
|
|
31
31
|
def __init__(self) -> None:
|
|
32
32
|
logger.debug("Using env var credential provider")
|
|
33
|
-
api_key =
|
|
33
|
+
api_key = (
|
|
34
|
+
ENV_VARS.TFY_API_KEY.get_secret_value() if ENV_VARS.TFY_API_KEY else None
|
|
35
|
+
)
|
|
34
36
|
if not api_key:
|
|
35
37
|
raise Exception(
|
|
36
38
|
f"Value of {TFY_API_KEY_ENV_KEY} env var should be non-empty string"
|
|
@@ -51,7 +51,7 @@ def urllib3_retry(
|
|
|
51
51
|
def requests_retry_session(
|
|
52
52
|
retries: int = 2,
|
|
53
53
|
backoff_factor: float = 0.3,
|
|
54
|
-
status_forcelist=(408, 429, 500, 502, 503, 504, 524),
|
|
54
|
+
status_forcelist=(408, 429, 417, 500, 502, 503, 504, 524),
|
|
55
55
|
method_whitelist=frozenset({"GET", "POST"}),
|
|
56
56
|
raise_on_status: bool = False,
|
|
57
57
|
session: Optional[requests.Session] = None,
|
|
@@ -43,8 +43,10 @@ def check_min_cli_version(fn):
|
|
|
43
43
|
return inner
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
def session_with_retries(
|
|
47
|
-
|
|
46
|
+
def session_with_retries(
|
|
47
|
+
retries: int = SERVICEFOUNDRY_CLIENT_MAX_RETRIES,
|
|
48
|
+
) -> requests.Session:
|
|
49
|
+
return requests_retry_session(retries=retries)
|
|
48
50
|
|
|
49
51
|
|
|
50
52
|
@timed_lru_cache(seconds=30 * 60)
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import os
|
|
2
1
|
import time
|
|
3
2
|
from functools import lru_cache, wraps
|
|
4
3
|
from time import monotonic_ns
|
|
@@ -7,8 +6,8 @@ from urllib.parse import urljoin, urlparse
|
|
|
7
6
|
|
|
8
7
|
from truefoundry.common.constants import (
|
|
9
8
|
API_SERVER_RELATIVE_PATH,
|
|
9
|
+
ENV_VARS,
|
|
10
10
|
MLFOUNDRY_SERVER_RELATIVE_PATH,
|
|
11
|
-
TFY_CLI_LOCAL_DEV_MODE_ENV_KEY,
|
|
12
11
|
TFY_HOST_ENV_KEY,
|
|
13
12
|
)
|
|
14
13
|
from truefoundry.pydantic_v1 import BaseSettings
|
|
@@ -41,7 +40,7 @@ _tfy_servers_config = None
|
|
|
41
40
|
def get_tfy_servers_config(base_url: str) -> _TFYServersConfig:
|
|
42
41
|
global _tfy_servers_config
|
|
43
42
|
if _tfy_servers_config is None:
|
|
44
|
-
if
|
|
43
|
+
if ENV_VARS.TFY_CLI_LOCAL_DEV_MODE:
|
|
45
44
|
_tfy_servers_config = _TFYServersConfig() # type: ignore[call-arg]
|
|
46
45
|
else:
|
|
47
46
|
_tfy_servers_config = _TFYServersConfig.from_base_url(base_url)
|
|
@@ -95,11 +94,11 @@ def validate_tfy_host(tfy_host: str) -> None:
|
|
|
95
94
|
|
|
96
95
|
|
|
97
96
|
def resolve_tfy_host(tfy_host: Optional[str] = None) -> str:
|
|
98
|
-
if not tfy_host and not
|
|
97
|
+
if not tfy_host and not ENV_VARS.TFY_HOST:
|
|
99
98
|
raise ValueError(
|
|
100
99
|
f"Either `host` should be provided using `--host <value>`, or `{TFY_HOST_ENV_KEY}` env must be set"
|
|
101
100
|
)
|
|
102
|
-
tfy_host = tfy_host or
|
|
101
|
+
tfy_host = tfy_host or ENV_VARS.TFY_HOST
|
|
103
102
|
tfy_host = tfy_host.strip("/")
|
|
104
103
|
validate_tfy_host(tfy_host)
|
|
105
104
|
return tfy_host
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: application.json
|
|
3
|
-
# timestamp: 2024-10-
|
|
3
|
+
# timestamp: 2024-10-16T17:06:03+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -362,13 +362,17 @@ class HelmRepo(BaseModel):
|
|
|
362
362
|
...,
|
|
363
363
|
description="+label=Helm repository URL\n+sort=1\n+message=Needs to be a valid URL.",
|
|
364
364
|
)
|
|
365
|
+
integration_fqn: Optional[str] = Field(
|
|
366
|
+
None,
|
|
367
|
+
description='+docs=FQN of the helm repo integration. You can use the FQN of your desired helm integration (or add one)\nin the Integrations page[Integrations](https://app.truefoundry.tech/integrations) page\n+label=Helm repo integration\n+sort=2\n+usage=FQN of the helm repo integration. If you can\'t find your integration here,\nadd it through the [Integrations](/integrations) page\n+uiType=IntegrationSelect\n+uiProps={"integrationType":"helm-repo"}',
|
|
368
|
+
)
|
|
365
369
|
chart: str = Field(
|
|
366
370
|
...,
|
|
367
|
-
description='+label=Chart name\n+sort=
|
|
371
|
+
description='+label=Chart name\n+sort=3\n+usage=The helm chart name\n+uiType=InputSelect\n+uiProps={"creatable":true, "searchable":true}',
|
|
368
372
|
)
|
|
369
373
|
version: str = Field(
|
|
370
374
|
...,
|
|
371
|
-
description='+label=Version\n+sort=
|
|
375
|
+
description='+label=Version\n+sort=4\n+usage=Helm chart version\n+uiType=InputSelect\n+uiProps={"creatable":true, "searchable":true}',
|
|
372
376
|
)
|
|
373
377
|
|
|
374
378
|
|
|
@@ -472,6 +476,31 @@ class JobAlert(BaseModel):
|
|
|
472
476
|
)
|
|
473
477
|
|
|
474
478
|
|
|
479
|
+
class Claim(BaseModel):
|
|
480
|
+
key: str
|
|
481
|
+
values: List[str]
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
class JwtAuthCreds(BaseModel):
|
|
485
|
+
"""
|
|
486
|
+
+label=JWT Authentication
|
|
487
|
+
+usage=Configure JWT-based authentication using JWKS
|
|
488
|
+
"""
|
|
489
|
+
|
|
490
|
+
type: Literal["jwt_auth"] = Field(..., description="+value=jwt_auth")
|
|
491
|
+
issuer: str = Field(
|
|
492
|
+
..., description="+label=Issuer\n+usage=The issuer of the JWT tokens"
|
|
493
|
+
)
|
|
494
|
+
jwksUri: str = Field(
|
|
495
|
+
...,
|
|
496
|
+
description="+label=JWKS URI\n+usage=The URI of the JSON Web Key Set (JWKS) containing the public keys",
|
|
497
|
+
)
|
|
498
|
+
claims: Optional[List[Claim]] = Field(
|
|
499
|
+
None,
|
|
500
|
+
description="+label=Claims\n+usage=List of key-value pairs of claims to verify in the JWT token",
|
|
501
|
+
)
|
|
502
|
+
|
|
503
|
+
|
|
475
504
|
class KafkaMetricConfig(BaseModel):
|
|
476
505
|
type: Literal["kafka"] = Field(..., description="+value=kafka")
|
|
477
506
|
lag_threshold: conint(ge=1) = Field(
|
|
@@ -655,6 +684,10 @@ class OCIRepo(BaseModel):
|
|
|
655
684
|
oci_chart_url: constr(
|
|
656
685
|
regex=r"^(((oci):\/\/)?(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$"
|
|
657
686
|
) = Field(..., description="+label=OCI chart URL\n+message=Need to be a valid URL.")
|
|
687
|
+
integration_fqn: Optional[str] = Field(
|
|
688
|
+
None,
|
|
689
|
+
description='+docs=FQN of the container registry. You can use the FQN of your desired container registry (or add one)\nin the Integrations page[Integrations](https://app.truefoundry.tech/integrations) page\n+label=Container Registry\n+usage=FQN of the container registry. If you can\'t find your registry here,\nadd it through the [Integrations](/integrations) page\n+uiType=IntegrationSelect\n+uiProps={"integrationType":"docker-registry"}',
|
|
690
|
+
)
|
|
658
691
|
version: str = Field(..., description="+label=Version\n+usage=Helm chart version")
|
|
659
692
|
|
|
660
693
|
|
|
@@ -736,7 +769,9 @@ class Port(BaseModel):
|
|
|
736
769
|
None,
|
|
737
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 (/)",
|
|
738
771
|
)
|
|
739
|
-
auth: Optional[BasicAuthCreds] =
|
|
772
|
+
auth: Optional[Union[BasicAuthCreds, JwtAuthCreds]] = Field(
|
|
773
|
+
None, description="+usage=Username and Password for service auth"
|
|
774
|
+
)
|
|
740
775
|
|
|
741
776
|
|
|
742
777
|
class PythonBuild(BaseModel):
|
|
@@ -3,7 +3,7 @@ from typing import Dict, List, Optional
|
|
|
3
3
|
|
|
4
4
|
from mako.template import Template
|
|
5
5
|
|
|
6
|
-
from truefoundry.common.constants import
|
|
6
|
+
from truefoundry.common.constants import ENV_VARS
|
|
7
7
|
from truefoundry.deploy.auto_gen.models import PythonBuild
|
|
8
8
|
from truefoundry.deploy.builder.constants import (
|
|
9
9
|
PIP_CONF_BUILDKIT_SECRET_MOUNT,
|
|
@@ -156,9 +156,7 @@ def generate_dockerfile_content(
|
|
|
156
156
|
apt_packages=build_configuration.apt_packages
|
|
157
157
|
)
|
|
158
158
|
template_args = {
|
|
159
|
-
"python_image_repo":
|
|
160
|
-
TFY_CLI_PYTHONBUILD_PYTHON_IMAGE_REPO_ENV_KEY, DEFAULT_PYTHON_IMAGE_REPO
|
|
161
|
-
),
|
|
159
|
+
"python_image_repo": ENV_VARS.TFY_PYTHONBUILD_PYTHON_IMAGE_REPO,
|
|
162
160
|
"python_version": build_configuration.python_version,
|
|
163
161
|
"apt_install_command": apt_install_command,
|
|
164
162
|
"requirements_path": requirements_path,
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/lib/clients/servicefoundry_client.py
RENAMED
|
@@ -48,6 +48,7 @@ from truefoundry.pydantic_v1 import parse_obj_as
|
|
|
48
48
|
|
|
49
49
|
DEPLOYMENT_LOGS_SUBSCRIBE_MESSAGE = "DEPLOYMENT_LOGS"
|
|
50
50
|
BUILD_LOGS_SUBSCRIBE_MESSAGE = "BUILD_LOGS"
|
|
51
|
+
MAX_RETRIES_WORKFLOW_TRIGGER = 3
|
|
51
52
|
|
|
52
53
|
if TYPE_CHECKING:
|
|
53
54
|
from truefoundry.deploy.auto_gen.models import Application
|
|
@@ -597,7 +598,7 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
|
|
|
597
598
|
def trigger_workflow(self, application_id: str, inputs: Dict[str, Any]):
|
|
598
599
|
url = f"{self._api_server_url}/{VERSION_PREFIX}/workflow/{application_id}/executions"
|
|
599
600
|
body = {"inputs": inputs}
|
|
600
|
-
response = session_with_retries().post(
|
|
601
|
+
response = session_with_retries(retries=MAX_RETRIES_WORKFLOW_TRIGGER).post(
|
|
601
602
|
url, json=body, headers=self._get_header()
|
|
602
603
|
)
|
|
603
604
|
response = request_handling(response)
|
|
@@ -32,7 +32,6 @@ class Base(BaseModel):
|
|
|
32
32
|
class Entity(Base):
|
|
33
33
|
createdAt: datetime.datetime = Field(repr=False)
|
|
34
34
|
updatedAt: datetime.datetime = Field(repr=False)
|
|
35
|
-
createdBy: str = Field(repr=False)
|
|
36
35
|
|
|
37
36
|
|
|
38
37
|
class Workspace(Entity):
|
|
@@ -56,7 +55,6 @@ class Workspace(Entity):
|
|
|
56
55
|
"cluster_fqn": self.clusterId,
|
|
57
56
|
"created_at": self.createdAt,
|
|
58
57
|
"updated_at": self.updatedAt,
|
|
59
|
-
"created_by": self.createdBy,
|
|
60
58
|
}
|
|
61
59
|
|
|
62
60
|
|
|
@@ -161,7 +159,6 @@ class Deployment(Entity):
|
|
|
161
159
|
"cluster_fqn": cluster_fqn,
|
|
162
160
|
"created_at": self.createdAt,
|
|
163
161
|
"updated_at": self.updatedAt,
|
|
164
|
-
"created_by": self.createdBy,
|
|
165
162
|
}
|
|
166
163
|
|
|
167
164
|
class Config:
|
|
@@ -208,7 +205,6 @@ class Application(Entity):
|
|
|
208
205
|
"cluster_fqn": self.workspace.clusterId,
|
|
209
206
|
"created_at": self.createdAt,
|
|
210
207
|
"updated_at": self.updatedAt,
|
|
211
|
-
"created_by": self.createdBy,
|
|
212
208
|
}
|
|
213
209
|
|
|
214
210
|
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/ml/artifact/truefoundry_artifact_repo.py
RENAMED
|
@@ -34,6 +34,7 @@ from rich.progress import (
|
|
|
34
34
|
)
|
|
35
35
|
from tqdm.utils import CallbackIOWrapper
|
|
36
36
|
|
|
37
|
+
from truefoundry.common.constants import ENV_VARS
|
|
37
38
|
from truefoundry.ml.autogen.client import ( # type: ignore[attr-defined]
|
|
38
39
|
ApiClient,
|
|
39
40
|
CreateMultiPartUploadForDatasetRequestDto,
|
|
@@ -58,14 +59,12 @@ from truefoundry.ml.clients.utils import (
|
|
|
58
59
|
augmented_raise_for_status,
|
|
59
60
|
cloud_storage_http_request,
|
|
60
61
|
)
|
|
61
|
-
from truefoundry.ml.env_vars import DISABLE_MULTIPART_UPLOAD
|
|
62
62
|
from truefoundry.ml.exceptions import MlFoundryException
|
|
63
63
|
from truefoundry.ml.logger import logger
|
|
64
64
|
from truefoundry.ml.session import _get_api_client
|
|
65
65
|
from truefoundry.pydantic_v1 import BaseModel, root_validator
|
|
66
66
|
|
|
67
67
|
_MIN_BYTES_REQUIRED_FOR_MULTIPART = 100 * 1024 * 1024
|
|
68
|
-
_MULTIPART_DISABLED = os.getenv(DISABLE_MULTIPART_UPLOAD, "").lower() == "true"
|
|
69
68
|
# GCP/S3 Maximum number of parts per upload 10,000
|
|
70
69
|
# Maximum number of blocks in a block blob 50,000 blocks
|
|
71
70
|
# TODO: This number is artificially limited now. Later
|
|
@@ -84,9 +83,6 @@ _MAX_NUM_PARTS_FOR_MULTIPART = 1000
|
|
|
84
83
|
# Azure Maximum size of a block in a block blob 4000 MiB
|
|
85
84
|
# GCP/S3 Maximum size of an individual part in a multipart upload 5 GiB
|
|
86
85
|
_MAX_PART_SIZE_BYTES_FOR_MULTIPART = 4 * 1024 * 1024 * 1000
|
|
87
|
-
_cpu_count = os.cpu_count() or 2
|
|
88
|
-
_MAX_WORKERS_FOR_UPLOAD = max(min(32, _cpu_count * 2), 4)
|
|
89
|
-
_MAX_WORKERS_FOR_DOWNLOAD = max(min(32, _cpu_count * 2), 4)
|
|
90
86
|
_LIST_FILES_PAGE_SIZE = 500
|
|
91
87
|
_GENERATE_SIGNED_URL_BATCH_SIZE = 50
|
|
92
88
|
DEFAULT_PRESIGNED_URL_EXPIRY_TIME = 3600
|
|
@@ -199,7 +195,10 @@ class _FileMultiPartInfo(NamedTuple):
|
|
|
199
195
|
|
|
200
196
|
def _decide_file_parts(file_path: str) -> _FileMultiPartInfo:
|
|
201
197
|
file_size = os.path.getsize(file_path)
|
|
202
|
-
if
|
|
198
|
+
if (
|
|
199
|
+
file_size < _MIN_BYTES_REQUIRED_FOR_MULTIPART
|
|
200
|
+
or ENV_VARS.TFY_ARTIFACTS_DISABLE_MULTIPART_UPLOAD
|
|
201
|
+
):
|
|
203
202
|
return _FileMultiPartInfo(1, part_size=file_size, file_size=file_size)
|
|
204
203
|
|
|
205
204
|
ideal_num_parts = math.ceil(file_size / _PART_SIZE_BYTES_FOR_MULTIPART)
|
|
@@ -262,7 +261,7 @@ def _signed_url_upload_file(
|
|
|
262
261
|
def _download_file_using_http_uri(
|
|
263
262
|
http_uri,
|
|
264
263
|
download_path,
|
|
265
|
-
chunk_size=
|
|
264
|
+
chunk_size=ENV_VARS.TFY_ARTIFACTS_DOWNLOAD_CHUNK_SIZE_BYTES,
|
|
266
265
|
callback: Optional[Callable[[int, int], Any]] = None,
|
|
267
266
|
):
|
|
268
267
|
"""
|
|
@@ -283,6 +282,9 @@ def _download_file_using_http_uri(
|
|
|
283
282
|
if not chunk:
|
|
284
283
|
break
|
|
285
284
|
output_file.write(chunk)
|
|
285
|
+
if ENV_VARS.TFY_ARTIFACTS_DOWNLOAD_FSYNC_CHUNKS:
|
|
286
|
+
output_file.flush()
|
|
287
|
+
os.fsync(output_file.fileno())
|
|
286
288
|
|
|
287
289
|
|
|
288
290
|
class _CallbackIOWrapperForMultiPartUpload(CallbackIOWrapper):
|
|
@@ -608,7 +610,7 @@ class MlFoundryArtifactsRepository:
|
|
|
608
610
|
disable=not show_progress,
|
|
609
611
|
expand=True,
|
|
610
612
|
) as progress_bar, ThreadPoolExecutor(
|
|
611
|
-
max_workers=
|
|
613
|
+
max_workers=ENV_VARS.TFY_ARTIFACTS_UPLOAD_MAX_WORKERS
|
|
612
614
|
) as executor:
|
|
613
615
|
futures: List[Future] = []
|
|
614
616
|
# Note: While this batching is beneficial when there is a large number of files, there is also
|
|
@@ -763,7 +765,9 @@ class MlFoundryArtifactsRepository:
|
|
|
763
765
|
)
|
|
764
766
|
|
|
765
767
|
if not executor_for_multipart_upload:
|
|
766
|
-
with ThreadPoolExecutor(
|
|
768
|
+
with ThreadPoolExecutor(
|
|
769
|
+
max_workers=ENV_VARS.TFY_ARTIFACTS_UPLOAD_MAX_WORKERS
|
|
770
|
+
) as executor:
|
|
767
771
|
return self._multipart_upload(
|
|
768
772
|
local_file=local_file,
|
|
769
773
|
artifact_path=artifact_path,
|
|
@@ -899,7 +903,9 @@ class MlFoundryArtifactsRepository:
|
|
|
899
903
|
)
|
|
900
904
|
file_paths.append((file_path, download_dest_path))
|
|
901
905
|
|
|
902
|
-
with ThreadPoolExecutor(
|
|
906
|
+
with ThreadPoolExecutor(
|
|
907
|
+
max_workers=ENV_VARS.TFY_ARTIFACTS_DOWNLOAD_MAX_WORKERS
|
|
908
|
+
) as executor:
|
|
903
909
|
# Note: While this batching is beneficial when there is a large number of files, there is also
|
|
904
910
|
# a rare case risk of the signed url expiring before a request is made to it
|
|
905
911
|
batch_size = _GENERATE_SIGNED_URL_BATCH_SIZE
|
|
@@ -184,11 +184,6 @@ class ArtifactVersion:
|
|
|
184
184
|
_validate_artifact_metadata(value)
|
|
185
185
|
self._metadata = value
|
|
186
186
|
|
|
187
|
-
@property
|
|
188
|
-
def created_by(self) -> str:
|
|
189
|
-
"""Get the information about who created the artifact"""
|
|
190
|
-
return self._artifact_version.created_by
|
|
191
|
-
|
|
192
187
|
@property
|
|
193
188
|
def created_at(self) -> datetime.datetime:
|
|
194
189
|
"""Get the time at which artifact was created"""
|
|
@@ -124,11 +124,6 @@ class DataDirectory:
|
|
|
124
124
|
_validate_artifact_metadata(value)
|
|
125
125
|
self._metadata = value
|
|
126
126
|
|
|
127
|
-
@property
|
|
128
|
-
def created_by(self) -> str:
|
|
129
|
-
"""Get the information about who created the DataDirectory"""
|
|
130
|
-
return self._dataset.created_by
|
|
131
|
-
|
|
132
127
|
@property
|
|
133
128
|
def created_at(self) -> datetime.datetime:
|
|
134
129
|
"""Get the time at which DataDirectory was created"""
|
|
@@ -219,11 +219,6 @@ class ModelVersion:
|
|
|
219
219
|
metrics_as_kv[metric.key] = metric.value
|
|
220
220
|
return metrics_as_kv
|
|
221
221
|
|
|
222
|
-
@property
|
|
223
|
-
def created_by(self) -> str:
|
|
224
|
-
"""Get the information about who created the model version"""
|
|
225
|
-
return self._model_version.created_by
|
|
226
|
-
|
|
227
222
|
@property
|
|
228
223
|
def created_at(self) -> datetime.datetime:
|
|
229
224
|
"""Get the time at which model version was created"""
|
|
@@ -8,7 +8,7 @@ import coolname
|
|
|
8
8
|
import pandas as pd
|
|
9
9
|
|
|
10
10
|
from truefoundry.common.utils import relogin_error_message
|
|
11
|
-
from truefoundry.ml import constants
|
|
11
|
+
from truefoundry.ml import constants
|
|
12
12
|
from truefoundry.ml.autogen.client import ( # type: ignore[attr-defined]
|
|
13
13
|
ArtifactDto,
|
|
14
14
|
ArtifactType,
|
|
@@ -59,10 +59,15 @@ from truefoundry.ml.validation_utils import (
|
|
|
59
59
|
|
|
60
60
|
_SEARCH_MAX_RESULTS_DEFAULT = 1000
|
|
61
61
|
|
|
62
|
+
_INTERNAL_ENV_VARS = [
|
|
63
|
+
"TFY_INTERNAL_APPLICATION_ID",
|
|
64
|
+
"TFY_INTERNAL_JOB_RUN_NAME",
|
|
65
|
+
]
|
|
66
|
+
|
|
62
67
|
|
|
63
68
|
def _get_internal_env_vars_values() -> Dict[str, str]:
|
|
64
69
|
env = {}
|
|
65
|
-
for env_var_name in
|
|
70
|
+
for env_var_name in _INTERNAL_ENV_VARS:
|
|
66
71
|
value = os.getenv(env_var_name)
|
|
67
72
|
if value:
|
|
68
73
|
env[env_var_name] = value
|
|
@@ -113,6 +113,8 @@ def _get_api_client(
|
|
|
113
113
|
session: Optional[Session] = None,
|
|
114
114
|
allow_anonymous: bool = False,
|
|
115
115
|
) -> ApiClient:
|
|
116
|
+
from truefoundry.version import __version__
|
|
117
|
+
|
|
116
118
|
session = session or get_active_session()
|
|
117
119
|
if session is None:
|
|
118
120
|
if allow_anonymous:
|
|
@@ -131,7 +133,7 @@ def _get_api_client(
|
|
|
131
133
|
)
|
|
132
134
|
configuration.retries = urllib3_retry(retries=2)
|
|
133
135
|
api_client = ApiClient(configuration=configuration)
|
|
134
|
-
api_client.user_agent = "truefoundry-cli"
|
|
136
|
+
api_client.user_agent = f"truefoundry-cli/{__version__}"
|
|
135
137
|
return api_client
|
|
136
138
|
|
|
137
139
|
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
|
|
3
|
-
TFY_CONFIG_DIR = Path.home() / ".truefoundry"
|
|
4
|
-
CREDENTIAL_FILEPATH = TFY_CONFIG_DIR / "credentials.json"
|
|
5
|
-
|
|
6
|
-
TFY_HOST_ENV_KEY = "TFY_HOST"
|
|
7
|
-
TFY_API_KEY_ENV_KEY = "TFY_API_KEY"
|
|
8
|
-
TFY_CLI_LOCAL_DEV_MODE_ENV_KEY = "TFY_CLI_LOCAL_DEV_MODE"
|
|
9
|
-
TFY_CLI_PYTHONBUILD_PYTHON_IMAGE_REPO_ENV_KEY = "TFY_CLI_PYTHONBUILD_PYTHON_IMAGE_REPO"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
API_SERVER_RELATIVE_PATH = "api/svc"
|
|
13
|
-
MLFOUNDRY_SERVER_RELATIVE_PATH = "api/ml"
|
|
14
|
-
VERSION_PREFIX = "v1"
|
|
15
|
-
SERVICEFOUNDRY_CLIENT_MAX_RETRIES = 2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/build_logs_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/create_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/delete_command.py
RENAMED
|
File without changes
|
{truefoundry-0.4.3 → truefoundry-0.4.4rc1}/truefoundry/deploy/cli/commands/deploy_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|