truefoundry 0.11.2__tar.gz → 0.11.3.dev0__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.11.2 → truefoundry-0.11.3.dev0}/PKG-INFO +5 -2
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/pyproject.toml +8 -2
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/_autogen/models.py +82 -35
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/trigger_command.py +21 -2
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/clients/servicefoundry_client.py +4 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/dao/application.py +2 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/lib/patched_models.py +33 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/__init__.py +2 -0
- truefoundry-0.11.3.dev0/truefoundry/workflow/spark_task.py +91 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/.gitignore +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/README.md +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/_ask/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/_ask/cli.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/_ask/client.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/_ask/llm_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/_client.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/agents/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/agents/base.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/agents/developer.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/agents/tester.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/cli.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/constants.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/exception.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/logger.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/ask.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/base.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/commit.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/docker_build.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/docker_run.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/list_files.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/read_file.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/send_request.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/tools/write_file.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/utils/client.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/utils/diff.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/cli/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/cli/__main__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/cli/config.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/cli/console.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/cli/const.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/cli/display_util.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/cli/util.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/auth_service_client.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/constants.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/credential_file_manager.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/credential_provider.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/entities.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/exceptions.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/request_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/servicefoundry_client.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/session.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/storage_provider_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/types.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/warnings.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/tfy_spark_buildpack/tfy_execute_notebook.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/constants.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/docker_service.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/build_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/get_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/k8s_exec_credential_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/kubeconfig_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/login_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/core/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/core/login.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/core/logout.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/io/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/io/no_output_callback.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/io/output_callback.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/io/rich_output_callback.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/clients/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/const.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/dao/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/dao/apply.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/dao/delete.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/dao/version.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/dao/workspace.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/diff_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/logs_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/messages.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/model/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/model/entity.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/session.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/util.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/lib/win32.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/python_deploy_codegen.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/lib/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/lib/deploy.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/lib/models.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/v2/lib/source.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/logger.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/auth_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/deprecated_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/experiments_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/generate_code_snippet_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/health_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/metrics_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/mlfoundry_artifacts_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/run_artifacts_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api/runs_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api_client.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/api_response.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/configuration.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/exceptions.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/agent_app.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/agent_manifest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_manifest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/agent_with_fqn.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/apply_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/apply_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_manifest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_path.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_type.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_version_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_version_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_version_serialization_format.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/artifact_version_status.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/assistant_message.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/blob_storage_reference.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/body_get_search_runs_get.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/chat_prompt_manifest_messages_inner.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/columns_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/command.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/content.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/content1.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/content2.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/content2_any_of_inner.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_artifact_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_artifact_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_artifact_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_artifact_version_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_dataset_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_experiment_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_experiment_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_model_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_run_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_run_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/data_directory_manifest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/dataset_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/dataset_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/delete_dataset_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/delete_model_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/delete_run_request.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/delete_tag_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/experiment_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/experiment_id_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/experiment_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/experiment_tag_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/export_deployment_files_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/external_blob_storage_source.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/fast_ai_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/file_info_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_experiment_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_latest_run_log_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_metric_history_response.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/get_tenant_id_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/gluon_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/h2_o_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/http_validation_error.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/image_content_part.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/image_url.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/infer_method_name.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/keras_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/latest_run_log_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/library_name.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/light_gbm_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_artifacts_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_artifacts_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_colums_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_datasets_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_datasets_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_experiments_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_metric_history_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_metric_history_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_model_version_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_model_versions_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_models_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_models_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_run_artifacts_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/list_run_logs_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/local_artifact_source.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/local_model_source.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/log_batch_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/log_metric_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/log_param_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/manifest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/manifest1.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/manifest2.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/method.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/metric_collection_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/metric_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/mime_type.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_configuration.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_manifest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_server.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_version_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_version_environment.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/model_version_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/multi_part_upload_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/multi_part_upload_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/multi_part_upload_storage_provider.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/onnx_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/openapi_spec.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/paddle_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/param_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/parameters.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/py_torch_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/resolve_agent_app_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/restore_run_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/run_data_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/run_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/run_info_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/run_log_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/run_log_input_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/run_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/run_tag_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/search_runs_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/search_runs_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/set_experiment_tag_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/set_tag_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/signed_url_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/sklearn_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/sklearn_model_schema.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/sklearn_serialization_format.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/source.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/source1.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/source2.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/spa_cy_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/stats_models_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/stop.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/store_run_logs_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/subject.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/subject_type.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/system_message.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/tensor_flow_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/text.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/text_content_part.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/transformers_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/true_foundry_managed_source.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/update_artifact_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/update_dataset_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/update_experiment_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/update_model_version_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/update_run_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/update_run_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/url.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/user_message.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/validation_error.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/validation_error_loc_inner.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/xg_boost_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/xg_boost_model_schema.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/models/xg_boost_serialization_format.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client/rest.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/client_README.md +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/entities/artifacts.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/models/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/models/exceptions.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/models/schema.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/models/signature.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/_autogen/models/utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/artifact/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/cli/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/cli/cli.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/cli/commands/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/cli/commands/download.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/cli/commands/model_init.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/cli/utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/clients/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/constants.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/entities.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/enums.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/exceptions.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/git_info.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/internal_namespace.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/artifacts/model.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/image/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/image/constants.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/image/image.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/image/types.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/plot.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/pydantic_base.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/log_types/utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/logger.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/mlfoundry_api.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/mlfoundry_run.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/model_framework.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/prompt_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/run_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/session.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/ml/validation_utils.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/pydantic_v1.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/version.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/container_task.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/map_task.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/python_task.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/task.py +0 -0
- {truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/workflow/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: truefoundry
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.3.dev0
|
|
4
4
|
Summary: TrueFoundry CLI
|
|
5
5
|
Author-email: TrueFoundry Team <abhishek@truefoundry.com>
|
|
6
6
|
Requires-Python: <3.14,>=3.8.1
|
|
@@ -36,8 +36,11 @@ Requires-Dist: urllib3<3,>=1.26.18
|
|
|
36
36
|
Requires-Dist: yq<4.0.0,>=3.1.0
|
|
37
37
|
Provides-Extra: ai
|
|
38
38
|
Requires-Dist: mcp==1.9.4; (python_version >= '3.10') and extra == 'ai'
|
|
39
|
+
Provides-Extra: spark
|
|
40
|
+
Requires-Dist: flytekit==1.15.3; (python_version >= '3.9' and python_version <= '3.12') and extra == 'spark'
|
|
41
|
+
Requires-Dist: flytekitplugins-spark==1.15.3; (python_version >= '3.9' and python_version <= '3.12') and extra == 'spark'
|
|
39
42
|
Provides-Extra: workflow
|
|
40
|
-
Requires-Dist: flytekit==1.15.3; (python_version >= '3.9' and python_version
|
|
43
|
+
Requires-Dist: flytekit==1.15.3; (python_version >= '3.9' and python_version <= '3.12') and extra == 'workflow'
|
|
41
44
|
Description-Content-Type: text/markdown
|
|
42
45
|
|
|
43
46
|
# TrueFoundry
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "truefoundry"
|
|
3
|
-
version = "0.11.
|
|
3
|
+
version = "0.11.3.dev0" # This is a placeholder version, it will be replaced when releasing
|
|
4
4
|
requires-python = ">=3.8.1,<3.14"
|
|
5
5
|
description = "TrueFoundry CLI"
|
|
6
6
|
authors = [{ name = "TrueFoundry Team", email = "abhishek@truefoundry.com" }]
|
|
@@ -41,7 +41,13 @@ dependencies = [
|
|
|
41
41
|
]
|
|
42
42
|
|
|
43
43
|
[project.optional-dependencies]
|
|
44
|
-
workflow = [
|
|
44
|
+
workflow = [
|
|
45
|
+
"flytekit==1.15.3; python_version >= '3.9' and python_version <= '3.12'",
|
|
46
|
+
]
|
|
47
|
+
spark = [
|
|
48
|
+
"flytekit==1.15.3; python_version >= '3.9' and python_version <= '3.12'",
|
|
49
|
+
"flytekitplugins-spark==1.15.3; python_version >= '3.9' and python_version <= '3.12'",
|
|
50
|
+
]
|
|
45
51
|
ai = [
|
|
46
52
|
"mcp==1.9.4 ; python_version >= '3.10'",
|
|
47
53
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: application.json
|
|
3
|
-
# timestamp: 2025-
|
|
3
|
+
# timestamp: 2025-07-16T09:53:23+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -989,6 +989,34 @@ class TaskDockerFileBuild(BaseModel):
|
|
|
989
989
|
build_args: Optional[Dict[str, str]] = Field(None, description="")
|
|
990
990
|
|
|
991
991
|
|
|
992
|
+
class TaskPySparkBuild(BaseModel):
|
|
993
|
+
"""
|
|
994
|
+
Describes the configuration for the PySpark build for a task
|
|
995
|
+
"""
|
|
996
|
+
|
|
997
|
+
type: Literal["task-pyspark-build"] = Field(..., description="")
|
|
998
|
+
spark_version: str = Field(
|
|
999
|
+
"3.5.2",
|
|
1000
|
+
description="Spark version should match the spark version installed in the image.",
|
|
1001
|
+
)
|
|
1002
|
+
docker_registry: Optional[str] = Field(
|
|
1003
|
+
None,
|
|
1004
|
+
description="FQN of the container registry. If you can't find your registry here,\nadd it through the [Integrations](/integrations?tab=docker-registry) page",
|
|
1005
|
+
)
|
|
1006
|
+
requirements_path: Optional[str] = Field(
|
|
1007
|
+
None,
|
|
1008
|
+
description="Path to `requirements.txt` relative to\n`Path to build context`",
|
|
1009
|
+
)
|
|
1010
|
+
pip_packages: Optional[List[str]] = Field(
|
|
1011
|
+
None,
|
|
1012
|
+
description='Define pip package requirements.\nIn Python/YAML E.g. ["fastapi>=0.90,<1.0", "uvicorn"]',
|
|
1013
|
+
)
|
|
1014
|
+
apt_packages: Optional[List[str]] = Field(
|
|
1015
|
+
None,
|
|
1016
|
+
description='Debian packages to install via `apt get`.\nIn Python/YAML E.g. ["git", "ffmpeg", "htop"]',
|
|
1017
|
+
)
|
|
1018
|
+
|
|
1019
|
+
|
|
992
1020
|
class TaskPythonBuild(BaseModel):
|
|
993
1021
|
"""
|
|
994
1022
|
Describes the configuration for the python build for a task
|
|
@@ -1200,7 +1228,7 @@ class ContainerTaskConfig(BaseModel):
|
|
|
1200
1228
|
description="Configure environment variables to be injected in the task either as plain text or secrets. [Docs](https://docs.truefoundry.com/docs/env-variables)",
|
|
1201
1229
|
)
|
|
1202
1230
|
resources: Optional[Resources] = None
|
|
1203
|
-
mounts: Optional[List[
|
|
1231
|
+
mounts: Optional[List[VolumeMount]] = Field(
|
|
1204
1232
|
None, description="Configure data to be mounted to Workflow pod(s) as a volume."
|
|
1205
1233
|
)
|
|
1206
1234
|
service_account: Optional[str] = Field(None, description="")
|
|
@@ -1567,15 +1595,6 @@ class FlyteLaunchPlan(BaseModel):
|
|
|
1567
1595
|
closure: Any
|
|
1568
1596
|
|
|
1569
1597
|
|
|
1570
|
-
class FlyteTaskCustom(BaseModel):
|
|
1571
|
-
truefoundry: Union[PythonTaskConfig, ContainerTaskConfig]
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
class FlyteTaskTemplate(BaseModel):
|
|
1575
|
-
id: FlyteTaskID
|
|
1576
|
-
custom: FlyteTaskCustom
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
1598
|
class JobAlert(BaseModel):
|
|
1580
1599
|
"""
|
|
1581
1600
|
Describes the configuration for the job alerts
|
|
@@ -1594,6 +1613,25 @@ class JobAlert(BaseModel):
|
|
|
1594
1613
|
on_failure: bool = Field(True, description="Send an alert when the job fails")
|
|
1595
1614
|
|
|
1596
1615
|
|
|
1616
|
+
class PySparkTaskConfig(BaseModel):
|
|
1617
|
+
type: Literal["pyspark-task-config"] = Field(..., description="")
|
|
1618
|
+
image: TaskPySparkBuild
|
|
1619
|
+
driver_config: SparkDriverConfig
|
|
1620
|
+
executor_config: SparkExecutorConfig
|
|
1621
|
+
spark_conf: Optional[Dict[str, Any]] = Field(
|
|
1622
|
+
None,
|
|
1623
|
+
description="Extra configuration properties to be passed to the spark job. [Docs](https://spark.apache.org/docs/latest/configuration.html)",
|
|
1624
|
+
)
|
|
1625
|
+
env: Optional[Dict[str, str]] = Field(
|
|
1626
|
+
None,
|
|
1627
|
+
description="Configure environment variables to be injected in the task either as plain text or secrets. [Docs](https://docs.truefoundry.com/docs/env-variables)",
|
|
1628
|
+
)
|
|
1629
|
+
mounts: Optional[List[Union[SecretMount, StringDataMount, VolumeMount]]] = Field(
|
|
1630
|
+
None, description="Configure data to be mounted to Workflow pod(s) as a volume."
|
|
1631
|
+
)
|
|
1632
|
+
service_account: Optional[str] = Field(None, description="")
|
|
1633
|
+
|
|
1634
|
+
|
|
1597
1635
|
class Service(BaseService):
|
|
1598
1636
|
"""
|
|
1599
1637
|
Describes the configuration for the service
|
|
@@ -1630,9 +1668,13 @@ class AsyncService(BaseService):
|
|
|
1630
1668
|
sidecar: Optional[AsyncProcessorSidecar] = None
|
|
1631
1669
|
|
|
1632
1670
|
|
|
1633
|
-
class
|
|
1634
|
-
|
|
1635
|
-
|
|
1671
|
+
class FlyteTaskCustom(BaseModel):
|
|
1672
|
+
truefoundry: Union[PythonTaskConfig, ContainerTaskConfig, PySparkTaskConfig]
|
|
1673
|
+
|
|
1674
|
+
|
|
1675
|
+
class FlyteTaskTemplate(BaseModel):
|
|
1676
|
+
id: FlyteTaskID
|
|
1677
|
+
custom: FlyteTaskCustom
|
|
1636
1678
|
|
|
1637
1679
|
|
|
1638
1680
|
class Job(BaseModel):
|
|
@@ -1688,27 +1730,6 @@ class Job(BaseModel):
|
|
|
1688
1730
|
)
|
|
1689
1731
|
|
|
1690
1732
|
|
|
1691
|
-
class Workflow(BaseModel):
|
|
1692
|
-
"""
|
|
1693
|
-
Describes the configuration for the worflow
|
|
1694
|
-
"""
|
|
1695
|
-
|
|
1696
|
-
type: Literal["workflow"] = Field(..., description="")
|
|
1697
|
-
name: constr(regex=r"^[a-z](?:[a-z0-9]|-(?!-)){1,30}[a-z0-9]$") = Field(
|
|
1698
|
-
..., description="Name of the workflow"
|
|
1699
|
-
)
|
|
1700
|
-
source: Union[LocalSource, RemoteSource] = Field(
|
|
1701
|
-
..., description="Source Code for the workflow, either local or remote"
|
|
1702
|
-
)
|
|
1703
|
-
workflow_file_path: str = Field(
|
|
1704
|
-
..., description="Path to the workflow file relative to the project root path"
|
|
1705
|
-
)
|
|
1706
|
-
flyte_entities: Optional[List[Union[FlyteTask, FlyteWorkflow, FlyteLaunchPlan]]] = (
|
|
1707
|
-
Field(None, description="")
|
|
1708
|
-
)
|
|
1709
|
-
alerts: Optional[List[WorkflowAlert]] = Field(None, description="")
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
1733
|
class ApplicationSet(BaseModel):
|
|
1713
1734
|
"""
|
|
1714
1735
|
Describes the configuration for the application set
|
|
@@ -1735,6 +1756,32 @@ class ApplicationSet(BaseModel):
|
|
|
1735
1756
|
)
|
|
1736
1757
|
|
|
1737
1758
|
|
|
1759
|
+
class FlyteTask(BaseModel):
|
|
1760
|
+
template: FlyteTaskTemplate
|
|
1761
|
+
description: Optional[Any] = None
|
|
1762
|
+
|
|
1763
|
+
|
|
1764
|
+
class Workflow(BaseModel):
|
|
1765
|
+
"""
|
|
1766
|
+
Describes the configuration for the worflow
|
|
1767
|
+
"""
|
|
1768
|
+
|
|
1769
|
+
type: Literal["workflow"] = Field(..., description="")
|
|
1770
|
+
name: constr(regex=r"^[a-z](?:[a-z0-9]|-(?!-)){1,30}[a-z0-9]$") = Field(
|
|
1771
|
+
..., description="Name of the workflow"
|
|
1772
|
+
)
|
|
1773
|
+
source: Union[LocalSource, RemoteSource] = Field(
|
|
1774
|
+
..., description="Source Code for the workflow, either local or remote"
|
|
1775
|
+
)
|
|
1776
|
+
workflow_file_path: str = Field(
|
|
1777
|
+
..., description="Path to the workflow file relative to the project root path"
|
|
1778
|
+
)
|
|
1779
|
+
flyte_entities: Optional[List[Union[FlyteTask, FlyteWorkflow, FlyteLaunchPlan]]] = (
|
|
1780
|
+
Field(None, description="")
|
|
1781
|
+
)
|
|
1782
|
+
alerts: Optional[List[WorkflowAlert]] = Field(None, description="")
|
|
1783
|
+
|
|
1784
|
+
|
|
1738
1785
|
class Application(BaseModel):
|
|
1739
1786
|
__root__: Union[
|
|
1740
1787
|
Service,
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/trigger_command.py
RENAMED
|
@@ -35,8 +35,20 @@ def trigger_command():
|
|
|
35
35
|
nargs=-1,
|
|
36
36
|
required=False,
|
|
37
37
|
)
|
|
38
|
+
@click.option(
|
|
39
|
+
"--run-name-alias",
|
|
40
|
+
"--run_name_alias",
|
|
41
|
+
type=click.STRING,
|
|
42
|
+
required=False,
|
|
43
|
+
help="Alias for the job run name.",
|
|
44
|
+
)
|
|
38
45
|
@handle_exception_wrapper
|
|
39
|
-
def trigger_job(
|
|
46
|
+
def trigger_job(
|
|
47
|
+
application_fqn: str,
|
|
48
|
+
params,
|
|
49
|
+
command: Optional[Sequence[str]],
|
|
50
|
+
run_name_alias: Optional[str],
|
|
51
|
+
):
|
|
40
52
|
"""
|
|
41
53
|
Trigger a Job on TrueFoundry asynchronously
|
|
42
54
|
|
|
@@ -54,6 +66,10 @@ def trigger_job(application_fqn: str, command: Optional[Sequence[str]], params):
|
|
|
54
66
|
Passing params:
|
|
55
67
|
|
|
56
68
|
[b]tfy trigger job --application-fqn "my-cluster:my-workspace:my-job" -- --param1_name param1_value --param2_name param2_value ...[/]
|
|
69
|
+
\n
|
|
70
|
+
|
|
71
|
+
passing run_name_alias:
|
|
72
|
+
[b]tfy trigger job --application-fqn "my-cluster:my-workspace:my-job" --run_name_alias "my_run_alias"[/]
|
|
57
73
|
"""
|
|
58
74
|
if params:
|
|
59
75
|
params_dict = {}
|
|
@@ -78,7 +94,10 @@ def trigger_job(application_fqn: str, command: Optional[Sequence[str]], params):
|
|
|
78
94
|
params_dict[key] = value
|
|
79
95
|
|
|
80
96
|
application.trigger_job(
|
|
81
|
-
application_fqn=application_fqn,
|
|
97
|
+
application_fqn=application_fqn,
|
|
98
|
+
command=command,
|
|
99
|
+
params=params,
|
|
100
|
+
run_name_alias=run_name_alias,
|
|
82
101
|
)
|
|
83
102
|
|
|
84
103
|
|
|
@@ -578,6 +578,7 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
|
|
|
578
578
|
def trigger_job(
|
|
579
579
|
self,
|
|
580
580
|
deployment_id: str,
|
|
581
|
+
run_name_alias: Optional[str] = None,
|
|
581
582
|
command: Optional[str] = None,
|
|
582
583
|
params: Optional[Dict[str, str]] = None,
|
|
583
584
|
) -> TriggerJobResult:
|
|
@@ -585,11 +586,14 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
|
|
|
585
586
|
body = {
|
|
586
587
|
"deploymentId": deployment_id,
|
|
587
588
|
"input": {},
|
|
589
|
+
"metadata": {},
|
|
588
590
|
}
|
|
589
591
|
if command:
|
|
590
592
|
body["input"]["command"] = command
|
|
591
593
|
if params:
|
|
592
594
|
body["input"]["params"] = params
|
|
595
|
+
if run_name_alias:
|
|
596
|
+
body["metadata"]["job_run_name_alias"] = run_name_alias
|
|
593
597
|
response = session_with_retries().post(
|
|
594
598
|
url, json=body, headers=self._get_headers()
|
|
595
599
|
)
|
|
@@ -117,6 +117,7 @@ def trigger_job(
|
|
|
117
117
|
application_fqn: str,
|
|
118
118
|
command: Optional[Union[str, Sequence[str]]] = None,
|
|
119
119
|
params: Optional[Dict[str, str]] = None,
|
|
120
|
+
run_name_alias: Optional[str] = None,
|
|
120
121
|
) -> TriggerJobResult:
|
|
121
122
|
"""
|
|
122
123
|
Trigger a Job on TrueFoundry platform
|
|
@@ -178,6 +179,7 @@ def trigger_job(
|
|
|
178
179
|
deployment_id=application_info.activeDeploymentId,
|
|
179
180
|
command=command_str if command_str else None,
|
|
180
181
|
params=params if params else None,
|
|
182
|
+
run_name_alias=run_name_alias.strip() if run_name_alias else None,
|
|
181
183
|
)
|
|
182
184
|
jobRunName = result.jobRunName
|
|
183
185
|
previous_runs_url = f"{client.tfy_host.strip('/')}/deployments/{application_info.id}?tab=previousRuns"
|
|
@@ -526,3 +526,36 @@ class SparkJobPythonNotebookEntrypoint(
|
|
|
526
526
|
models.SparkJobPythonNotebookEntrypoint, PatchedModelBase
|
|
527
527
|
):
|
|
528
528
|
type: Literal["python-notebook"] = "python-notebook"
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
class PySparkTaskConfig(models.PySparkTaskConfig, PatchedModelBase):
|
|
532
|
+
type: Literal["pyspark-task-config"] = "pyspark-task-config"
|
|
533
|
+
|
|
534
|
+
def __init__(self, *args, **kwargs):
|
|
535
|
+
super().__init__(*args, **kwargs)
|
|
536
|
+
try:
|
|
537
|
+
import truefoundry.workflow.spark_task as _ # noqa: F401
|
|
538
|
+
except ImportError as e:
|
|
539
|
+
raise ImportError(
|
|
540
|
+
"truefoundry.workflow.spark_task is not installed. Please install it with `pip install truefoundry[workflow,spark]`"
|
|
541
|
+
) from e
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
class SparkDriverConfig(models.SparkDriverConfig, PatchedModelBase):
|
|
545
|
+
type: Literal["spark-driver-config"] = "spark-driver-config"
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
class SparkExecutorConfig(models.SparkExecutorConfig, PatchedModelBase):
|
|
549
|
+
type: Literal["spark-executor-config"] = "spark-executor-config"
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
class SparkExecutorFixedInstances(models.SparkExecutorFixedInstances, PatchedModelBase):
|
|
553
|
+
type: Literal["fixed"] = "fixed"
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
class SparkExecutorDynamicScaling(models.SparkExecutorDynamicScaling, PatchedModelBase):
|
|
557
|
+
type: Literal["dynamic"] = "dynamic"
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
class TaskPySparkBuild(models.TaskPySparkBuild, PatchedModelBase):
|
|
561
|
+
type: Literal["task-pyspark-build"] = "task-pyspark-build"
|
|
@@ -15,6 +15,7 @@ from flytekit.types.file import FlyteFile
|
|
|
15
15
|
from truefoundry.common.constants import ENV_VARS
|
|
16
16
|
from truefoundry.deploy.v2.lib.patched_models import (
|
|
17
17
|
ContainerTaskConfig,
|
|
18
|
+
PySparkTaskConfig,
|
|
18
19
|
PythonTaskConfig,
|
|
19
20
|
TaskDockerFileBuild,
|
|
20
21
|
TaskPythonBuild,
|
|
@@ -41,6 +42,7 @@ __all__ = [
|
|
|
41
42
|
"ExecutionConfig",
|
|
42
43
|
"FlyteFile",
|
|
43
44
|
"FlyteError",
|
|
45
|
+
"PySparkTaskConfig",
|
|
44
46
|
]
|
|
45
47
|
|
|
46
48
|
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import shutil
|
|
3
|
+
from typing import Any, Callable, Dict, Optional
|
|
4
|
+
|
|
5
|
+
from flytekit import FlyteContextManager, PythonFunctionTask, lazy_module
|
|
6
|
+
from flytekit.configuration import SerializationSettings
|
|
7
|
+
from flytekit.core.context_manager import ExecutionParameters
|
|
8
|
+
from flytekit.extend import ExecutionState, TaskPlugins
|
|
9
|
+
from flytekit.extend.backend.base_agent import AsyncAgentExecutorMixin
|
|
10
|
+
|
|
11
|
+
from truefoundry.deploy.v2.lib.patched_models import PySparkTaskConfig
|
|
12
|
+
|
|
13
|
+
pyspark_sql = lazy_module("pyspark.sql")
|
|
14
|
+
SparkSession = pyspark_sql.SparkSession
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class TfySparkFunctionTask(
|
|
18
|
+
AsyncAgentExecutorMixin, PythonFunctionTask[PySparkTaskConfig]
|
|
19
|
+
):
|
|
20
|
+
"""
|
|
21
|
+
Actual Plugin that transforms the local python code for execution within a spark context
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
_SPARK_TASK_TYPE = "spark"
|
|
25
|
+
|
|
26
|
+
def __init__(
|
|
27
|
+
self,
|
|
28
|
+
task_config: PySparkTaskConfig,
|
|
29
|
+
task_function: Callable,
|
|
30
|
+
**kwargs,
|
|
31
|
+
):
|
|
32
|
+
self.sess: Optional[SparkSession] = None # type: ignore
|
|
33
|
+
|
|
34
|
+
task_type = self._SPARK_TASK_TYPE
|
|
35
|
+
|
|
36
|
+
super(TfySparkFunctionTask, self).__init__(
|
|
37
|
+
task_config=task_config,
|
|
38
|
+
task_type=task_type,
|
|
39
|
+
task_function=task_function,
|
|
40
|
+
**kwargs,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
def get_custom(self, settings: SerializationSettings) -> Dict[str, Any]:
|
|
44
|
+
return {"truefoundry": self._task_config.dict()}
|
|
45
|
+
|
|
46
|
+
def pre_execute(self, user_params: ExecutionParameters) -> ExecutionParameters:
|
|
47
|
+
import pyspark as _pyspark
|
|
48
|
+
|
|
49
|
+
ctx = FlyteContextManager.current_context()
|
|
50
|
+
sess_builder = _pyspark.sql.SparkSession.builder.appName(
|
|
51
|
+
f"FlyteSpark: {user_params.execution_id}"
|
|
52
|
+
)
|
|
53
|
+
if not (
|
|
54
|
+
ctx.execution_state
|
|
55
|
+
and ctx.execution_state.mode == ExecutionState.Mode.TASK_EXECUTION
|
|
56
|
+
):
|
|
57
|
+
# If either of above cases is not true, then we are in local execution of this task
|
|
58
|
+
# Add system spark-conf for local/notebook based execution.
|
|
59
|
+
spark_conf = _pyspark.SparkConf()
|
|
60
|
+
spark_conf.set("spark.driver.bindAddress", "127.0.0.1")
|
|
61
|
+
for k, v in self.task_config.spark_conf.items():
|
|
62
|
+
spark_conf.set(k, v)
|
|
63
|
+
# In local execution, propagate PYTHONPATH to executors too. This makes the spark
|
|
64
|
+
# execution hermetic to the execution environment. For example, it allows running
|
|
65
|
+
# Spark applications using Bazel, without major changes.
|
|
66
|
+
if "PYTHONPATH" in os.environ:
|
|
67
|
+
spark_conf.setExecutorEnv("PYTHONPATH", os.environ["PYTHONPATH"])
|
|
68
|
+
sess_builder = sess_builder.config(conf=spark_conf)
|
|
69
|
+
|
|
70
|
+
self.sess = sess_builder.getOrCreate()
|
|
71
|
+
|
|
72
|
+
if (
|
|
73
|
+
ctx.serialization_settings
|
|
74
|
+
and ctx.serialization_settings.fast_serialization_settings
|
|
75
|
+
and ctx.serialization_settings.fast_serialization_settings.enabled
|
|
76
|
+
and ctx.execution_state
|
|
77
|
+
and ctx.execution_state.mode == ExecutionState.Mode.TASK_EXECUTION
|
|
78
|
+
):
|
|
79
|
+
file_name = "flyte_wf"
|
|
80
|
+
file_format = "zip"
|
|
81
|
+
shutil.make_archive(file_name, file_format, os.getcwd())
|
|
82
|
+
self.sess.sparkContext.addPyFile(f"{file_name}.{file_format}")
|
|
83
|
+
|
|
84
|
+
return user_params.builder().add_attr("SPARK_SESSION", self.sess).build()
|
|
85
|
+
|
|
86
|
+
def execute(self, **kwargs) -> Any:
|
|
87
|
+
return PythonFunctionTask.execute(self, **kwargs)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# Inject the Spark plugin into flytekits dynamic plugin loading system
|
|
91
|
+
TaskPlugins.register_pythontask_plugin(PySparkTaskConfig, TfySparkFunctionTask)
|
|
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.11.2 → truefoundry-0.11.3.dev0}/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.11.2 → truefoundry-0.11.3.dev0}/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.11.2 → truefoundry-0.11.3.dev0}/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
|
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/common/credential_file_manager.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
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/builder/builders/__init__.py
RENAMED
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/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
|
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/apply_command.py
RENAMED
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/build_command.py
RENAMED
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/delete_command.py
RENAMED
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/deploy_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/get_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{truefoundry-0.11.2 → truefoundry-0.11.3.dev0}/truefoundry/deploy/cli/commands/kubeconfig_command.py
RENAMED
|
File without changes
|