truefoundry 0.5.8rc2__tar.gz → 0.5.8rc3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of truefoundry might be problematic. Click here for more details.
- truefoundry-0.5.8rc3/PKG-INFO +79 -0
- truefoundry-0.5.8rc3/pyproject.toml +173 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/entities.py +13 -11
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/session.py +1 -2
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/docker_service.py +1 -1
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/clients/servicefoundry_client.py +1 -1
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/session.py +2 -4
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/deploy.py +3 -3
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/plot.py +2 -2
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/mlfoundry_run.py +1 -1
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/session.py +1 -2
- truefoundry-0.5.8rc2/.github/workflows/lint-and-test.yml +0 -132
- truefoundry-0.5.8rc2/.github/workflows/release.yml +0 -29
- truefoundry-0.5.8rc2/.gitignore +0 -152
- truefoundry-0.5.8rc2/.pre-commit-config.yaml +0 -28
- truefoundry-0.5.8rc2/.pylintrc +0 -6
- truefoundry-0.5.8rc2/.tfy-cli-local.env.example +0 -9
- truefoundry-0.5.8rc2/DEVELOPMENT.md +0 -45
- truefoundry-0.5.8rc2/PKG-INFO +0 -72
- truefoundry-0.5.8rc2/enable_dynamic_versioning.py +0 -15
- truefoundry-0.5.8rc2/pyproject.toml +0 -178
- truefoundry-0.5.8rc2/run_mypy.sh +0 -24
- truefoundry-0.5.8rc2/tests/examples/README.md +0 -14
- truefoundry-0.5.8rc2/tests/examples/application-set/app.py +0 -14
- truefoundry-0.5.8rc2/tests/examples/application-set/application-set.yaml +0 -45
- truefoundry-0.5.8rc2/tests/examples/application-set/requirements.txt +0 -2
- truefoundry-0.5.8rc2/tests/examples/application-set/work.py +0 -3
- truefoundry-0.5.8rc2/tests/examples/job.yaml +0 -28
- truefoundry-0.5.8rc2/tests/examples/service-local-build.yaml +0 -44
- truefoundry-0.5.8rc2/tests/examples/service-remote-build.yaml +0 -44
- truefoundry-0.5.8rc2/tests/examples/service.yaml +0 -35
- truefoundry-0.5.8rc2/tests/examples/workflow/deploy.sh +0 -3
- truefoundry-0.5.8rc2/tests/examples/workflow/hello_world_package/workflow.py +0 -20
- truefoundry-0.5.8rc2/tests/examples/workflow/package/test_workflow.py +0 -151
- truefoundry-0.5.8rc2/tests/examples/workflow/truefoundry.yaml +0 -9
- truefoundry-0.5.8rc2/tests/examples/workflow/workflow.yaml +0 -116
- truefoundry-0.5.8rc2/tests/ml/data/test_model_1.joblib +0 -0
- truefoundry-0.5.8rc2/tests/ml/data/xgboost-model.joblib +0 -0
- truefoundry-0.5.8rc2/tests/ml/end_to_end/end_to_end.py +0 -788
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/folder-1/config.json +0 -16
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/folder-2/file.txt +0 -1
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_artifact/root.yaml +0 -6
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file1.txt +0 -1
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file2.txt +0 -1
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/file3.txt +0 -1
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_data_directory/folder1/file4.txt +0 -1
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_model/config.json +0 -4
- truefoundry-0.5.8rc2/tests/ml/end_to_end/test_model/nested_folder/file.txt +0 -1
- truefoundry-0.5.8rc2/tests/ml/models/test_model_signature.py +0 -53
- truefoundry-0.5.8rc2/tests/ml/test_model_framework.py +0 -339
- truefoundry-0.5.8rc2/tests/test_dockerfile_generation.py +0 -213
- truefoundry-0.5.8rc2/tests/test_service_parse.py +0 -70
- truefoundry-0.5.8rc2/truefoundry/ml/autogen/__init__.py +0 -0
- truefoundry-0.5.8rc2/truefoundry/ml/cli/__init__.py +0 -0
- truefoundry-0.5.8rc2/truefoundry/ml/clients/__init__.py +0 -0
- truefoundry-0.5.8rc2/uv.lock +0 -6347
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/README.md +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/__init__.py +0 -0
- {truefoundry-0.5.8rc2/tests → truefoundry-0.5.8rc3/truefoundry/autodeploy}/__init__.py +0 -0
- {truefoundry-0.5.8rc2/tests/ml/end_to_end → truefoundry-0.5.8rc3/truefoundry/autodeploy/agents}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/base.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/developer.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/project_identifier.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/agents/tester.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/cli.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/constants.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/exception.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/logger.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/ask.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/base.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/commit.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/docker_build.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/docker_run.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/file_type_counts.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/list_files.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/read_file.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/send_request.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/tools/write_file.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/utils/client.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/utils/diff.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/autodeploy/utils/pydantic_compat.py +0 -0
- {truefoundry-0.5.8rc2/tests/ml/models → truefoundry-0.5.8rc3/truefoundry/cli}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/__main__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/config.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/console.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/const.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/display_util.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/cli/util.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/autodeploy → truefoundry-0.5.8rc3/truefoundry/common}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/auth_service_client.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/constants.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/credential_file_manager.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/credential_provider.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/exceptions.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/request_utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/servicefoundry_client.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/storage_provider_utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/types.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/common/warnings.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/auto_gen/models.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/dockerfile.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/constants.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/builder/utils.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/autodeploy/agents → truefoundry-0.5.8rc3/truefoundry/deploy/cli}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/apply_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/build_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/create_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/delete_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/deploy_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/deploy_init_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/get_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/list_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/login_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/logout_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/logs_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/patch_application_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/patch_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/redeploy_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/terminate_comand.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/cli/commands/trigger_command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/core/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/core/login.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/core/logout.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/cli → truefoundry-0.5.8rc3/truefoundry/deploy/io}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/io/output_callback.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/io/rich_output_callback.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/common → truefoundry-0.5.8rc3/truefoundry/deploy/lib}/__init__.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/deploy/cli → truefoundry-0.5.8rc3/truefoundry/deploy/lib/clients}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/const.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/deploy/io → truefoundry-0.5.8rc3/truefoundry/deploy/lib/dao}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/application.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/apply.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/version.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/dao/workspace.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/logs_utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/messages.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/deploy/lib → truefoundry-0.5.8rc3/truefoundry/deploy/lib/model}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/model/entity.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/util.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/lib/win32.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/python_deploy_codegen.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/deploy/lib/clients → truefoundry-0.5.8rc3/truefoundry/deploy/v2}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/deploy_workflow.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/deployable_patched_models.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/models.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/patched_models.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/deploy/v2/lib/source.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/logger.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/__init__.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/deploy/lib/dao → truefoundry-0.5.8rc3/truefoundry/ml/artifact}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/artifact/truefoundry_artifact_repo.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/deploy/lib/model → truefoundry-0.5.8rc3/truefoundry/ml/autogen}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/auth_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/deprecated_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/experiments_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/generate_code_snippet_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/health_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/metrics_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/run_artifacts_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api/runs_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api_client.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/api_response.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/configuration.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/exceptions.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_app.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_open_api_tool.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/agent_with_fqn.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_type.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_manifest.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_serialization_format.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/artifact_version_status.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/assistant_message.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/blob_storage_reference.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/body_get_search_runs_get.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/chat_prompt.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/chat_prompt_messages_inner.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/columns_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/command.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content1.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content2.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/content2_any_of_inner.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_dataset_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_experiment_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_experiment_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_model_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_run_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_run_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/create_workflow_task_config_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/dataset_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/dataset_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_run_request.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/delete_tag_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_id_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/experiment_tag_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/export_deployment_files_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/external_blob_storage_source.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/fast_ai_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/file_info_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_artifact_version_aliases_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_experiment_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_metric_history_response.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/gluon_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/h2_o_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/http_validation_error.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/image_content_part.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/image_url.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/infer_method_name.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/internal_metadata.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/keras_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/latest_run_log_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/library_name.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/light_gbm_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifact_versions_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifacts_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_artifacts_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_colums_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_datasets_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_datasets_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_experiments_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_artifact_versions_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_dataset_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_files_for_dataset_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_latest_run_logs_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_metric_history_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_metric_history_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_model_version_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_model_versions_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_models_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_models_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_run_artifacts_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/list_run_logs_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/log_batch_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/log_metric_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/log_param_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/manifest.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/method.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/metric_collection_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/metric_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/mime_type.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_configuration.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_server.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_environment.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_manifest.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/model_version_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/multi_part_upload_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/multi_part_upload_storage_provider.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/notify_artifact_version_failure_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/onnx_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/openapi_spec.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/paddle_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/param_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/parameters.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/py_torch_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/restore_run_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_data_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_info_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_log_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_log_input_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/run_tag_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/search_runs_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/search_runs_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/set_experiment_tag_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/set_tag_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/signed_url_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/sklearn_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/sklearn_model_schema.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/sklearn_serialization_format.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/source.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/source1.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/spa_cy_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/stats_models_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/stop.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/store_run_logs_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/subject.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/subject_type.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/system_message.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/tensor_flow_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/text.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/text_content_part.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/transformers_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/trigger_job_run_config_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/trigger_job_run_config_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/true_foundry_managed_source.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_artifact_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_dataset_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_experiment_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_model_version_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_run_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/update_run_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/url.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/user_message.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validate_external_storage_root_request_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validate_external_storage_root_response_dto.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validation_error.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/validation_error_loc_inner.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/xg_boost_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/xg_boost_model_schema.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/models/xg_boost_serialization_format.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client/rest.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/client_README.md +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/entities/artifacts.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/exceptions.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/schema.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/signature.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/autogen/models/utils.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/deploy/v2 → truefoundry-0.5.8rc3/truefoundry/ml/cli}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/cli.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/commands/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/commands/download.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/commands/model_init.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/cli/utils.py +0 -0
- {truefoundry-0.5.8rc2/truefoundry/ml/artifact → truefoundry-0.5.8rc3/truefoundry/ml/clients}/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/clients/servicefoundry_client.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/constants.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/entities.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/enums.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/exceptions.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/git_info.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/internal_namespace.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/artifact.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/constants.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/dataset.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/general_artifact.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/model.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/artifacts/utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/constants.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/image.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/image_normalizer.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/image/types.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/pydantic_base.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/log_types/utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/logger.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/mlfoundry_api.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/model_framework.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/run_utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/ml/validation_utils.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/pydantic_v1.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/version.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/container_task.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/map_task.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/python_task.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/__init__.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/logger.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/task.py +0 -0
- {truefoundry-0.5.8rc2 → truefoundry-0.5.8rc3}/truefoundry/workflow/workflow.py +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: truefoundry
|
|
3
|
+
Version: 0.5.8rc3
|
|
4
|
+
Summary: TrueFoundry CLI
|
|
5
|
+
Author: Abhishek Choudhary
|
|
6
|
+
Author-email: abhishek@truefoundry.com
|
|
7
|
+
Requires-Python: >=3.8.1,<3.13
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Provides-Extra: workflow
|
|
14
|
+
Requires-Dist: GitPython (>=3.1.43,<4.0.0)
|
|
15
|
+
Requires-Dist: Mako (>=1.1.6,<2.0.0)
|
|
16
|
+
Requires-Dist: PyJWT (>=2.0.0,<3.0.0)
|
|
17
|
+
Requires-Dist: PyYAML (>=6.0.0,<7.0.0)
|
|
18
|
+
Requires-Dist: aenum (>=3.0.0,<4.0.0)
|
|
19
|
+
Requires-Dist: click (>=7.0.0,<9.0.0)
|
|
20
|
+
Requires-Dist: coolname (>=1.1.0,<2.0.0)
|
|
21
|
+
Requires-Dist: docker (>=6.1.2,<8.0.0)
|
|
22
|
+
Requires-Dist: filelock (>=3.8.0,<4.0.0)
|
|
23
|
+
Requires-Dist: flytekit (==1.13.13) ; extra == "workflow"
|
|
24
|
+
Requires-Dist: gitignorefile (>=1.1.2,<2.0.0)
|
|
25
|
+
Requires-Dist: importlib-metadata (>=4.11.3,<9.0.0)
|
|
26
|
+
Requires-Dist: importlib-resources (>=5.2.0,<7.0.0)
|
|
27
|
+
Requires-Dist: numpy (>=1.23.0,<2.0.0) ; python_version < "3.12"
|
|
28
|
+
Requires-Dist: numpy (>=1.26.0,<2.0.0) ; python_version >= "3.12"
|
|
29
|
+
Requires-Dist: openai (>=1.16.2,<2.0.0)
|
|
30
|
+
Requires-Dist: packaging (>=20.0,<25.0)
|
|
31
|
+
Requires-Dist: pydantic (>=1.8.2,<3.0.0)
|
|
32
|
+
Requires-Dist: pygments (>=2.12.0,<3.0.0)
|
|
33
|
+
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
|
|
34
|
+
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
35
|
+
Requires-Dist: python-socketio[client] (>=5.5.2,<6.0.0)
|
|
36
|
+
Requires-Dist: questionary (>=1.10.0,<2.0.0)
|
|
37
|
+
Requires-Dist: requests (>=2.18.0,<3.0.0)
|
|
38
|
+
Requires-Dist: requirements-parser (>=0.11.0,<0.12.0)
|
|
39
|
+
Requires-Dist: rich (>=13.7.1,<14.0.0)
|
|
40
|
+
Requires-Dist: rich-click (>=1.2.1,<2.0.0)
|
|
41
|
+
Requires-Dist: scipy (>=1.12.0,<2.0.0) ; python_version >= "3.12"
|
|
42
|
+
Requires-Dist: scipy (>=1.5.0,<2.0.0) ; python_version < "3.12"
|
|
43
|
+
Requires-Dist: tqdm (>=4.0.0,<5.0.0)
|
|
44
|
+
Requires-Dist: typing-extensions (>=4.0)
|
|
45
|
+
Requires-Dist: urllib3 (>=1.26.18,<3)
|
|
46
|
+
Requires-Dist: yq (>=3.1.0,<4.0.0)
|
|
47
|
+
Description-Content-Type: text/markdown
|
|
48
|
+
|
|
49
|
+
# TrueFoundry
|
|
50
|
+
|
|
51
|
+
TrueFoundry library to help you interact with the platform programmatically by
|
|
52
|
+
|
|
53
|
+
- Interacting with the deployments side of TrueFoundry, enabling you to manage workspaces, deployments, applications, and view logs.
|
|
54
|
+
- Providing experiment tracking capabilities, allowing you to track ML experiments and interact with ML repositories within TrueFoundry.
|
|
55
|
+
|
|
56
|
+
You can access the health of your service, monitoring links, deployed endpoints and track metadata and artifacts by logging on to TrueFoundry's dashboard.
|
|
57
|
+
|
|
58
|
+
## Installation
|
|
59
|
+
|
|
60
|
+
To install the `TrueFoundry CLI`, you can use pip:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pip install truefoundry
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
To install the `TrueFoundry CLI` with Workflow deployment features, you can use pip:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
pip install truefoundry[workflow]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Examples
|
|
73
|
+
|
|
74
|
+
https://github.com/truefoundry/getting-started-examples
|
|
75
|
+
|
|
76
|
+
## Documentation
|
|
77
|
+
|
|
78
|
+
https://docs.truefoundry.com/
|
|
79
|
+
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "truefoundry"
|
|
3
|
+
version = "0.5.8rc3"
|
|
4
|
+
description = "TrueFoundry CLI"
|
|
5
|
+
authors = ["Abhishek Choudhary <abhishek@truefoundry.com>"]
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
|
|
8
|
+
[tool.poetry.dependencies]
|
|
9
|
+
python = ">=3.8.1,<3.13"
|
|
10
|
+
aenum = ">=3.0.0,<4.0.0"
|
|
11
|
+
click = ">=7.0.0,<9.0.0"
|
|
12
|
+
coolname = ">=1.1.0,<2.0.0"
|
|
13
|
+
docker = ">=6.1.2,<8.0.0"
|
|
14
|
+
filelock = ">=3.8.0,<4.0.0"
|
|
15
|
+
flytekit = { version = "1.13.13", optional = true }
|
|
16
|
+
gitignorefile = ">=1.1.2,<2.0.0"
|
|
17
|
+
GitPython = ">=3.1.43,<4.0.0"
|
|
18
|
+
importlib-metadata = ">=4.11.3,<9.0.0"
|
|
19
|
+
importlib-resources = ">=5.2.0,<7.0.0"
|
|
20
|
+
Mako = ">=1.1.6,<2.0.0"
|
|
21
|
+
openai = ">=1.16.2,<2.0.0"
|
|
22
|
+
packaging = ">=20.0,<25.0"
|
|
23
|
+
pydantic = ">=1.8.2,<3.0.0"
|
|
24
|
+
pygments = ">=2.12.0,<3.0.0"
|
|
25
|
+
PyJWT = ">=2.0.0,<3.0.0"
|
|
26
|
+
python-dateutil = ">=2.8.2,<3.0.0"
|
|
27
|
+
python-dotenv = ">=1.0.1,<2.0.0"
|
|
28
|
+
python-socketio = { version = ">=5.5.2,<6.0.0", extras = ["client"] }
|
|
29
|
+
PyYAML = ">=6.0.0,<7.0.0"
|
|
30
|
+
questionary = ">=1.10.0,<2.0.0"
|
|
31
|
+
requests = ">=2.18.0,<3.0.0"
|
|
32
|
+
requirements-parser = ">=0.11.0,<0.12.0"
|
|
33
|
+
rich = ">=13.7.1,<14.0.0"
|
|
34
|
+
rich-click = ">=1.2.1,<2.0.0"
|
|
35
|
+
tqdm = ">=4.0.0,<5.0.0"
|
|
36
|
+
typing-extensions = ">=4.0"
|
|
37
|
+
urllib3 = ">=1.26.18,<3"
|
|
38
|
+
yq = ">=3.1.0,<4.0.0"
|
|
39
|
+
# Check and try to eliminate libs below this comment
|
|
40
|
+
scipy = [
|
|
41
|
+
# This is split into two because poetry will select a version which has no wheel on python >= 3.12 :/
|
|
42
|
+
{ version = ">=1.5.0,<2.0.0", python = "<3.12" },
|
|
43
|
+
{ version = ">=1.12.0,<2.0.0", python = ">=3.12" },
|
|
44
|
+
]
|
|
45
|
+
numpy = [
|
|
46
|
+
# This is split into two because poetry will select a version which has no wheel on python >= 3.12 :/
|
|
47
|
+
{ version = ">=1.23.0,<2.0.0", python = "<3.12" },
|
|
48
|
+
{ version = ">=1.26.0,<2.0.0", python = ">=3.12" },
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
[tool.poetry.extras]
|
|
53
|
+
workflow = ["flytekit"]
|
|
54
|
+
|
|
55
|
+
[tool.poetry.group.dev.dependencies]
|
|
56
|
+
Pillow = ">=9.1.1,<11.0.0"
|
|
57
|
+
ipykernel = ">=6.16.0"
|
|
58
|
+
ipywidgets = ">=8.0.0"
|
|
59
|
+
ipython = ">=7.10.0"
|
|
60
|
+
langchain = ">=0.2.0,<0.3.0"
|
|
61
|
+
matplotlib = ">=3.0.0,<4.0.0"
|
|
62
|
+
mypy = ">=1.14.1"
|
|
63
|
+
plotly = ">=5.8.2,<6.0.0"
|
|
64
|
+
pandas = [
|
|
65
|
+
# This is split into two because poetry will select a version which has no wheel on python >= 3.10 :/
|
|
66
|
+
{ version = ">=1.0.0,<3.0.0", python = "<3.10" },
|
|
67
|
+
{ version = ">=1.4.0,<3.0.0", python = ">=3.10" },
|
|
68
|
+
]
|
|
69
|
+
pre-commit = ">=3.5.0,<4.0.0"
|
|
70
|
+
pytest = ">=8.2.2,<9.0.0"
|
|
71
|
+
pytest-env = ">=1.1.5,<2.0.0"
|
|
72
|
+
ruff = ">=0.9.4"
|
|
73
|
+
seaborn = ">=0.13.0,<0.14.0"
|
|
74
|
+
scikit-learn = ">=1.3.0,<2.0.0"
|
|
75
|
+
shap = [
|
|
76
|
+
{ version = ">=0.40.0", python = "<3.12" },
|
|
77
|
+
{ version = ">=0.45.0", python = ">=3.12" },
|
|
78
|
+
]
|
|
79
|
+
xgboost = "^2.1.3"
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
[tool.poetry-dynamic-versioning]
|
|
83
|
+
enable = false
|
|
84
|
+
|
|
85
|
+
[build-system]
|
|
86
|
+
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
|
|
87
|
+
build-backend = "poetry_dynamic_versioning.backend"
|
|
88
|
+
|
|
89
|
+
[tool.poetry.plugins."console_scripts"]
|
|
90
|
+
tfy = "truefoundry.cli.__main__:main"
|
|
91
|
+
truefoundry = "truefoundry.cli.__main__:main"
|
|
92
|
+
|
|
93
|
+
[tool.ruff]
|
|
94
|
+
lint.select = [
|
|
95
|
+
"E", # pycodestyle errors
|
|
96
|
+
"W", # pycodestyle warnings
|
|
97
|
+
"F", # pyflakes
|
|
98
|
+
"C", # flake8-comprehensions
|
|
99
|
+
"B", # flake8-bugbear
|
|
100
|
+
"Q", # flake8-quotes
|
|
101
|
+
"I",
|
|
102
|
+
"T10",
|
|
103
|
+
"ASYNC",
|
|
104
|
+
]
|
|
105
|
+
lint.ignore = [
|
|
106
|
+
"E501",
|
|
107
|
+
]
|
|
108
|
+
exclude = [
|
|
109
|
+
".venv",
|
|
110
|
+
"venv",
|
|
111
|
+
"repos",
|
|
112
|
+
"truefoundry/ml/autogen/**",
|
|
113
|
+
"truefoundry/deploy/auto_gen/**",
|
|
114
|
+
]
|
|
115
|
+
|
|
116
|
+
[tool.ruff.lint.per-file-ignores]
|
|
117
|
+
"__init__.py" = ["F401"]
|
|
118
|
+
"truefoundry/ml/autogen/client/*" = ["B028", "B904", "C901", "C409", "F841"]
|
|
119
|
+
"truefoundry/ml/autogen/client/models/*" = ["F821"]
|
|
120
|
+
"truefoundry/ml/autogen/client/api_client.py" = ["E721"]
|
|
121
|
+
|
|
122
|
+
[tool.mypy]
|
|
123
|
+
plugins = [
|
|
124
|
+
"pydantic.v1.mypy"
|
|
125
|
+
]
|
|
126
|
+
install_types = true
|
|
127
|
+
non_interactive = true
|
|
128
|
+
|
|
129
|
+
allow_redefinition = false
|
|
130
|
+
allow_untyped_globals = false
|
|
131
|
+
check_untyped_defs = true
|
|
132
|
+
disallow_any_generics = true
|
|
133
|
+
disallow_incomplete_defs = true
|
|
134
|
+
disallow_subclassing_any = true
|
|
135
|
+
disallow_untyped_calls = true
|
|
136
|
+
disallow_untyped_decorators = true
|
|
137
|
+
disallow_untyped_defs = true
|
|
138
|
+
follow_imports = "silent"
|
|
139
|
+
force_uppercase_builtins = true
|
|
140
|
+
no_implicit_optional = true
|
|
141
|
+
no_implicit_reexport = true
|
|
142
|
+
strict_equality = true
|
|
143
|
+
strict_optional = true
|
|
144
|
+
warn_no_return = true
|
|
145
|
+
warn_redundant_casts = true
|
|
146
|
+
warn_return_any = true
|
|
147
|
+
warn_unreachable = true
|
|
148
|
+
warn_unused_ignores = true
|
|
149
|
+
|
|
150
|
+
packages = [
|
|
151
|
+
"truefoundry",
|
|
152
|
+
]
|
|
153
|
+
exclude = [
|
|
154
|
+
"^truefoundry/ml/autogen",
|
|
155
|
+
"^truefoundry/deploy/auto_gen",
|
|
156
|
+
"^truefoundry/pydantic_v1.py$",
|
|
157
|
+
"^truefoundry/autodeploy/",
|
|
158
|
+
]
|
|
159
|
+
disable_error_code = [
|
|
160
|
+
"import-untyped",
|
|
161
|
+
"method-assign",
|
|
162
|
+
]
|
|
163
|
+
|
|
164
|
+
[tool.pydantic-mypy]
|
|
165
|
+
init_forbid_extra = true
|
|
166
|
+
init_typed = true
|
|
167
|
+
warn_required_dynamic_aliases = true
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
[tool.pytest.ini_options]
|
|
171
|
+
env = [
|
|
172
|
+
"TFY_PYTHONBUILD_PYTHON_IMAGE_REPO=docker.io/truefoundrycloud/test/python",
|
|
173
|
+
]
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import time
|
|
2
|
-
from enum import Enum
|
|
3
2
|
from typing import Optional
|
|
4
3
|
|
|
5
4
|
import jwt
|
|
@@ -8,18 +7,12 @@ from typing_extensions import NotRequired, TypedDict
|
|
|
8
7
|
from truefoundry.pydantic_v1 import BaseModel, Field, NonEmptyStr, validator
|
|
9
8
|
|
|
10
9
|
|
|
11
|
-
class UserType(Enum):
|
|
12
|
-
user = "user"
|
|
13
|
-
serviceaccount = "serviceaccount"
|
|
14
|
-
|
|
15
|
-
|
|
16
10
|
class UserInfo(BaseModel):
|
|
17
11
|
class Config:
|
|
18
12
|
allow_population_by_field_name = True
|
|
19
13
|
allow_mutation = False
|
|
20
14
|
|
|
21
15
|
user_id: NonEmptyStr
|
|
22
|
-
user_type: UserType = UserType.user
|
|
23
16
|
email: Optional[str] = None
|
|
24
17
|
tenant_name: NonEmptyStr = Field(alias="tenantName")
|
|
25
18
|
|
|
@@ -27,9 +20,16 @@ class UserInfo(BaseModel):
|
|
|
27
20
|
class _DecodedToken(TypedDict):
|
|
28
21
|
tenantName: str
|
|
29
22
|
exp: int
|
|
30
|
-
username: str
|
|
23
|
+
username: NotRequired[str]
|
|
31
24
|
email: NotRequired[str]
|
|
32
|
-
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def _user_slug(decoded_token: _DecodedToken) -> str:
|
|
28
|
+
return (
|
|
29
|
+
decoded_token.get("username")
|
|
30
|
+
or decoded_token.get("email")
|
|
31
|
+
or "--user-slug-missing--"
|
|
32
|
+
)
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class Token(BaseModel):
|
|
@@ -55,19 +55,21 @@ class Token(BaseModel):
|
|
|
55
55
|
|
|
56
56
|
@property
|
|
57
57
|
def tenant_name(self) -> str:
|
|
58
|
+
assert self.decoded_value is not None
|
|
58
59
|
return self.decoded_value["tenantName"]
|
|
59
60
|
|
|
60
61
|
def is_going_to_be_expired(self, buffer_in_seconds: int = 120) -> bool:
|
|
62
|
+
assert self.decoded_value is not None
|
|
61
63
|
exp = int(self.decoded_value["exp"])
|
|
62
64
|
return (exp - time.time()) < buffer_in_seconds
|
|
63
65
|
|
|
64
66
|
def to_user_info(self) -> UserInfo:
|
|
67
|
+
assert self.decoded_value is not None
|
|
65
68
|
return UserInfo(
|
|
66
|
-
user_id=self.decoded_value
|
|
69
|
+
user_id=_user_slug(self.decoded_value),
|
|
67
70
|
email=self.decoded_value["email"]
|
|
68
71
|
if "email" in self.decoded_value
|
|
69
72
|
else None,
|
|
70
|
-
user_type=UserType(self.decoded_value.get("userType", UserType.user.value)),
|
|
71
73
|
tenant_name=self.tenant_name,
|
|
72
74
|
)
|
|
73
75
|
|
|
@@ -50,10 +50,9 @@ class Session:
|
|
|
50
50
|
|
|
51
51
|
ACTIVE_SESSION = new_session
|
|
52
52
|
logger.info(
|
|
53
|
-
"Logged in to %r as %r
|
|
53
|
+
"Logged in to %r as %r",
|
|
54
54
|
new_session.tfy_host,
|
|
55
55
|
new_session.user_info.user_id,
|
|
56
|
-
new_session.user_info.email or new_session.user_info.user_type.value,
|
|
57
56
|
)
|
|
58
57
|
|
|
59
58
|
return ACTIVE_SESSION
|
|
@@ -38,7 +38,7 @@ def _catch_error_in_push(response: List[dict]):
|
|
|
38
38
|
for line in response:
|
|
39
39
|
if line.get("error") is not None:
|
|
40
40
|
raise Exception(
|
|
41
|
-
f
|
|
41
|
+
f'Failed to push to registry with message \'{line.get("error")}\''
|
|
42
42
|
)
|
|
43
43
|
|
|
44
44
|
|
|
@@ -262,7 +262,7 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
|
|
|
262
262
|
time_obj.replace(tzinfo=timezone.utc)
|
|
263
263
|
local_time = time_obj.astimezone(tzlocal())
|
|
264
264
|
local_time_str = local_time.isoformat()
|
|
265
|
-
return f
|
|
265
|
+
return f'[{local_time_str}] {log["log"].strip()}'
|
|
266
266
|
|
|
267
267
|
def _tail_logs(
|
|
268
268
|
self,
|
|
@@ -57,10 +57,9 @@ def login(
|
|
|
57
57
|
return login(api_key=api_key, host=host, relogin=True)
|
|
58
58
|
|
|
59
59
|
user_info = cred_file_content.to_token().to_user_info()
|
|
60
|
-
user_name_display_info = user_info.email or user_info.user_type.value
|
|
61
60
|
output_hook.print_line(
|
|
62
61
|
relogin_error_message(
|
|
63
|
-
f"Already logged in to {cred_file_content.host!r} as {user_info.user_id!r}
|
|
62
|
+
f"Already logged in to {cred_file_content.host!r} as {user_info.user_id!r}",
|
|
64
63
|
host=host,
|
|
65
64
|
)
|
|
66
65
|
)
|
|
@@ -81,10 +80,9 @@ def login(
|
|
|
81
80
|
cred_file.write(cred_file_content)
|
|
82
81
|
|
|
83
82
|
user_info = token.to_user_info()
|
|
84
|
-
user_name_display_info = user_info.email or user_info.user_type.value
|
|
85
83
|
output_hook.print_line(
|
|
86
84
|
f"Successfully logged in to {cred_file_content.host!r} as "
|
|
87
|
-
f"{user_info.user_id!r}
|
|
85
|
+
f"{user_info.user_id!r}"
|
|
88
86
|
)
|
|
89
87
|
return True
|
|
90
88
|
|
|
@@ -214,8 +214,8 @@ No Workspace FQN was provided or mentioned in the spec.
|
|
|
214
214
|
Either add a `workspace_fqn` to your yaml spec as
|
|
215
215
|
|
|
216
216
|
```
|
|
217
|
-
name: {getattr(component,
|
|
218
|
-
type: {getattr(component,
|
|
217
|
+
name: {getattr(component, 'name', 'my-app')}
|
|
218
|
+
type: {getattr(component, 'type', 'undefined')}
|
|
219
219
|
...
|
|
220
220
|
workspace_fqn: <your workspace fqn>
|
|
221
221
|
```
|
|
@@ -224,7 +224,7 @@ or Python deployment spec as
|
|
|
224
224
|
|
|
225
225
|
```
|
|
226
226
|
app = {component.__class__.__name__}(
|
|
227
|
-
name='{getattr(component,
|
|
227
|
+
name='{getattr(component, 'name', 'my-app')}',
|
|
228
228
|
...
|
|
229
229
|
workspace_fqn='<your workspace fqn>'
|
|
230
230
|
)
|
|
@@ -33,7 +33,7 @@ if TYPE_CHECKING:
|
|
|
33
33
|
PlotObjType = Union[
|
|
34
34
|
"matplotlib.figure.Figure",
|
|
35
35
|
"plotly.graph_objects.Figure",
|
|
36
|
-
"matplotlib.pyplot",
|
|
36
|
+
"matplotlib.pyplot",
|
|
37
37
|
]
|
|
38
38
|
|
|
39
39
|
|
|
@@ -103,7 +103,7 @@ def _save_matplotlib_figure(
|
|
|
103
103
|
|
|
104
104
|
|
|
105
105
|
def _save_matplotlib_plt(
|
|
106
|
-
plt: "matplotlib.pyplot",
|
|
106
|
+
plt: "matplotlib.pyplot",
|
|
107
107
|
key: str,
|
|
108
108
|
step: int,
|
|
109
109
|
local_dir: str,
|
|
@@ -75,10 +75,9 @@ class MLFoundrySession(Session):
|
|
|
75
75
|
|
|
76
76
|
ACTIVE_SESSION = new_session
|
|
77
77
|
logger.info(
|
|
78
|
-
"Logged in to %r as %r
|
|
78
|
+
"Logged in to %r as %r",
|
|
79
79
|
new_session.tfy_host,
|
|
80
80
|
new_session.user_info.user_id,
|
|
81
|
-
new_session.user_info.email or new_session.user_info.user_type.value,
|
|
82
81
|
)
|
|
83
82
|
|
|
84
83
|
return ACTIVE_SESSION
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
name: Lint and Test TrueFoundry CLI on multiple platforms
|
|
2
|
-
on:
|
|
3
|
-
pull_request:
|
|
4
|
-
branches:
|
|
5
|
-
- "main"
|
|
6
|
-
|
|
7
|
-
push:
|
|
8
|
-
branches:
|
|
9
|
-
- "main"
|
|
10
|
-
|
|
11
|
-
workflow_dispatch:
|
|
12
|
-
|
|
13
|
-
concurrency:
|
|
14
|
-
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
15
|
-
cancel-in-progress: true
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
lint:
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
strategy:
|
|
21
|
-
matrix:
|
|
22
|
-
python-version: ["3.11"]
|
|
23
|
-
steps:
|
|
24
|
-
- uses: actions/checkout@v4
|
|
25
|
-
|
|
26
|
-
- name: Install uv
|
|
27
|
-
uses: astral-sh/setup-uv@v5
|
|
28
|
-
with:
|
|
29
|
-
enable-cache: true
|
|
30
|
-
cache-dependency-glob: "uv.lock"
|
|
31
|
-
|
|
32
|
-
- name: Set up Python
|
|
33
|
-
run: uv venv --python ${{ matrix.python-version }} --seed
|
|
34
|
-
|
|
35
|
-
- name: Install the project
|
|
36
|
-
run: uv sync --locked --all-extras --dev
|
|
37
|
-
|
|
38
|
-
- name: Check files with pre-commit
|
|
39
|
-
run: |
|
|
40
|
-
uv run pre-commit run --all-files --show-diff-on-failure -v
|
|
41
|
-
|
|
42
|
-
mypy:
|
|
43
|
-
runs-on: ubuntu-latest
|
|
44
|
-
strategy:
|
|
45
|
-
matrix:
|
|
46
|
-
python-version: ["3.11"]
|
|
47
|
-
steps:
|
|
48
|
-
- uses: actions/checkout@v4
|
|
49
|
-
|
|
50
|
-
- name: Install uv
|
|
51
|
-
uses: astral-sh/setup-uv@v5
|
|
52
|
-
with:
|
|
53
|
-
enable-cache: true
|
|
54
|
-
cache-dependency-glob: "uv.lock"
|
|
55
|
-
|
|
56
|
-
- name: Set up Python
|
|
57
|
-
run: uv venv --python ${{ matrix.python-version }} --seed
|
|
58
|
-
|
|
59
|
-
- name: Install the project
|
|
60
|
-
run: uv sync --locked --all-extras --dev
|
|
61
|
-
|
|
62
|
-
- name: Run mypy
|
|
63
|
-
run: |
|
|
64
|
-
uv run bash run_mypy.sh
|
|
65
|
-
|
|
66
|
-
test-cli:
|
|
67
|
-
strategy:
|
|
68
|
-
max-parallel: 3
|
|
69
|
-
fail-fast: false
|
|
70
|
-
matrix:
|
|
71
|
-
os: [ubuntu-latest]
|
|
72
|
-
python-version: ["3.10"]
|
|
73
|
-
|
|
74
|
-
runs-on: ${{ matrix.os }}
|
|
75
|
-
timeout-minutes: 15
|
|
76
|
-
|
|
77
|
-
steps:
|
|
78
|
-
- uses: actions/checkout@v4
|
|
79
|
-
|
|
80
|
-
- name: Install uv
|
|
81
|
-
uses: astral-sh/setup-uv@v5
|
|
82
|
-
with:
|
|
83
|
-
enable-cache: true
|
|
84
|
-
cache-dependency-glob: "uv.lock"
|
|
85
|
-
|
|
86
|
-
- name: Set up Python
|
|
87
|
-
run: uv venv --python ${{ matrix.python-version }} --seed
|
|
88
|
-
|
|
89
|
-
- name: Install non dev dependencies
|
|
90
|
-
run: uv sync --locked --no-dev
|
|
91
|
-
|
|
92
|
-
- name: Test TrueFoundry CLI invocations
|
|
93
|
-
run: |
|
|
94
|
-
uv run tfy --help
|
|
95
|
-
uv run tfy deploy --help
|
|
96
|
-
uv run tfy ml --help
|
|
97
|
-
|
|
98
|
-
test:
|
|
99
|
-
strategy:
|
|
100
|
-
max-parallel: 3
|
|
101
|
-
fail-fast: false
|
|
102
|
-
matrix:
|
|
103
|
-
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
104
|
-
python-version: ["3.8", "3.12"]
|
|
105
|
-
|
|
106
|
-
runs-on: ${{ matrix.os }}
|
|
107
|
-
timeout-minutes: 15
|
|
108
|
-
|
|
109
|
-
steps:
|
|
110
|
-
- uses: actions/checkout@v4
|
|
111
|
-
|
|
112
|
-
- name: Install uv
|
|
113
|
-
uses: astral-sh/setup-uv@v5
|
|
114
|
-
with:
|
|
115
|
-
enable-cache: true
|
|
116
|
-
cache-dependency-glob: "uv.lock"
|
|
117
|
-
|
|
118
|
-
- name: Set up Python
|
|
119
|
-
run: uv venv --python ${{ matrix.python-version }} --seed
|
|
120
|
-
|
|
121
|
-
# Install libomp for macOS
|
|
122
|
-
- name: Install libomp on macOS
|
|
123
|
-
if: runner.os == 'macOS'
|
|
124
|
-
run: |
|
|
125
|
-
brew install libomp
|
|
126
|
-
|
|
127
|
-
- name: Install the project
|
|
128
|
-
run: uv sync --locked --all-extras --dev
|
|
129
|
-
|
|
130
|
-
- name: Run tests
|
|
131
|
-
run: |
|
|
132
|
-
uv run pytest --durations=0 tests/
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
name: Publish pip package to PyPI
|
|
2
|
-
on:
|
|
3
|
-
push:
|
|
4
|
-
tags:
|
|
5
|
-
- v*
|
|
6
|
-
|
|
7
|
-
jobs:
|
|
8
|
-
build:
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
steps:
|
|
11
|
-
- uses: actions/checkout@v4
|
|
12
|
-
with:
|
|
13
|
-
fetch-depth: 0
|
|
14
|
-
|
|
15
|
-
- name: Install uv
|
|
16
|
-
uses: astral-sh/setup-uv@v5
|
|
17
|
-
|
|
18
|
-
- name: Enable dynamic versioning
|
|
19
|
-
run: uv run enable_dynamic_versioning.py
|
|
20
|
-
|
|
21
|
-
- name: Build project
|
|
22
|
-
run: uv build --python 3.10
|
|
23
|
-
|
|
24
|
-
- name: Publish distribution 📦 to PyPI
|
|
25
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
26
|
-
with:
|
|
27
|
-
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
28
|
-
verbose: true
|
|
29
|
-
user: __token__
|