truss 0.10.11rc1__tar.gz → 0.10.12__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 truss might be problematic. Click here for more details.
- {truss-0.10.11rc1 → truss-0.10.12}/PKG-INFO +2 -2
- {truss-0.10.11rc1 → truss-0.10.12}/pyproject.toml +2 -2
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/common.py +19 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/core.py +136 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/metrics_watcher.py +8 -9
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train_commands.py +73 -2
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/utils/common.py +14 -1
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/api.py +7 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/custom_types.py +28 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server.Dockerfile.jinja +1 -1
- truss-0.10.12/truss/tests/cli/train/test_cache_view.py +712 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-train/truss_train/deployment.py +1 -0
- {truss-0.10.11rc1 → truss-0.10.12}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/.github/pull_request_template.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/.gitignore +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/CODE_OF_CONDUCT.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/CONTRIBUTING.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/LICENSE +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/android-arm-eabi/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/android-arm64/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/darwin-arm64/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/darwin-universal/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/darwin-x64/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/freebsd-x64/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/linux-arm-gnueabihf/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/linux-arm-musleabihf/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/linux-arm64-gnu/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/linux-arm64-musl/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/linux-riscv64-gnu/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/linux-x64-gnu/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/linux-x64-musl/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/win32-arm64-msvc/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/win32-ia32-msvc/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/node_bindings/npm/win32-x64-msvc/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/python_bindings/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/baseten-performance-client/scripts/README_nodejs.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/context_builder.Dockerfile +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/docs/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/docs/chains/doc_gen/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/docs/contribute/base-images.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/docs/contribute/release.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/api/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/api/definitions.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/base/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/base/constants.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/base/custom_types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/base/errors.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/base/trt_llm_config.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/base/truss_config.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/base/truss_spec.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/chains_commands.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/cli.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/logs/base_watcher.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/logs/model_log_watcher.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/logs/training_log_watcher.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/logs/utils.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/remote_cli.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_checkpoints/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_checkpoints/deploy_checkpoints.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_checkpoints/deploy_checkpoints_helpers.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_checkpoints/deploy_full_checkpoints.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_checkpoints/deploy_lora_checkpoints.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_checkpoints/deploy_whisper_checkpoints.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_from_checkpoint_config.yml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/deploy_from_checkpoint_config_whisper.yml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/poller.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/train/types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/utils/output.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/cli/utils/self_upgrade.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/docker_build_setup.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/image_builder/cache_warmer.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/image_builder/image_builder.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/image_builder/serving_image_builder.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/image_builder/util.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/local_loader/docker_build_emulator.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/local_loader/dockerfile_parser.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/local_loader/load_model_local.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/local_loader/truss_module_loader.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/local_loader/utils.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/contexts/truss_context.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/local/local_config.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/local/local_config_handler.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/patch/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/patch/hash.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/patch/signature.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/patch/truss_dir_patch_applier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/auth.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/core.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/error.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/remote.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/rest_client.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/service.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/utils/status.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/utils/tar.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/utils/time.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/baseten/utils/transfer.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/remote_factory.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/remote/truss_remote.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/README.md.jinja +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/base.Dockerfile.jinja +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/cache.Dockerfile.jinja +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/cache_requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/application.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/endpoints.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/context_managers.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/custom_types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/errors.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/inference_server_controller.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/inference_server_process_controller.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/inference_server_starter.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/truss_patch/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/truss_patch/model_code_patch_applier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/truss_patch/model_container_patch_applier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/truss_patch/requirement_name_identifier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/helpers/truss_patch/system_packages.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/control/server.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/control/requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/copy_cache_files.Dockerfile.jinja +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/custom/examples.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/custom/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/custom/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/custom_python_dx/my_model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/docker_server/proxy.conf.jinja +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/docker_server/supervisord.conf.jinja +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/docker_server_requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/common/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/common/errors.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/common/patches/whisper/patch.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/common/patches.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/common/retry.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/common/schema.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/common/tracing.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/main.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/model_wrapper.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/server/truss_server.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/shared/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/shared/dynamic_config_resolver.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/shared/lazy_data_resolver.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/shared/log_config.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/shared/secrets_resolver.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/shared/serialization.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/shared/util.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/sigint_patch.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/whisper_trt/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/whisper_trt/assets.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/whisper_trt/batching.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/whisper_trt/custom_types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/whisper_trt/modeling.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/whisper_trt/tokenizer.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-audio/packages/whisper_trt/utils.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-briton/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/templates/trtllm-briton/src/extension.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/cli/test_cli.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/cli/train/resources/test_deploy_from_checkpoint_config.yml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/cli/train/test_deploy_checkpoints.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/cli/train/test_train_cli_core.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/conftest.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/contexts/image_builder/test_serving_image_builder.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/contexts/local_loader/test_load_local.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/contexts/local_loader/test_truss_module_finder.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/helpers.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/local/test_local_config_handler.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/patch/test_calc_patch.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/patch/test_dir_signature.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/patch/test_hash.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/patch/test_signature.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/patch/test_truss_dir_patch_applier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/patch/test_types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/baseten/conftest.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/baseten/test_api.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/baseten/test_auth.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/baseten/test_core.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/baseten/test_remote.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/baseten/test_service.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/test_remote_factory.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/remote/test_truss_remote.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/control/control/helpers/test_context_managers.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/control/control/helpers/test_model_container_patch_applier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/control/control/helpers/test_requirement_name_identifier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/control/control/test_endpoints.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/control/control/test_server.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/control/control/test_server_integration.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/core/server/test_dynamic_config_resolver.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/core/server/test_lazy_data_resolver_v2.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/core/server/test_secrets_resolver.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/server/common/test_retry.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/server/test_model_wrapper.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/server/test_schema.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/templates/server/test_truss_server.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_build.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_config.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_context_builder_image.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_control_truss_patching.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_custom_server.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/annotated_types_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/annotated_types_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/annotated_types_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/annotated_types_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/auto-mpg.data +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/context_builder_image_test/Dockerfile +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/context_builder_image_test/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/context_builder_image_test/test.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/gcs_fix/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/gcs_fix/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/gcs_fix/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/gcs_fix/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/happy.ipynb +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/model_load_failure_test/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/model_load_failure_test/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/model_load_failure_test/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/model_load_failure_test/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/patch_ping_test_server/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/patch_ping_test_server/app.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/pima-indians-diabetes.csv +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/readme_int_example.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/readme_no_example.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/readme_str_example.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/server.Dockerfile +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/server_conformance_test_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/server_conformance_test_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/server_conformance_test_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/server_conformance_test_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_async_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_async_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_async_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_async_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_basic_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_basic_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_basic_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_basic_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands_failure/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands_failure/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands_failure/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_build_commands_failure/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_concurrency_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_concurrency_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_concurrency_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_concurrency_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/test_docker_image/Dockerfile +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/test_docker_image/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/test_docker_image/VERSION +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/test_docker_image/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/test_docker_image/app.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_custom_server_truss/test_docker_image/build_upload_new_image.sh +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_env_vars/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_go_custom_server_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_go_custom_server_truss/docker/Dockerfile +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_go_custom_server_truss/docker/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_go_custom_server_truss/docker/VERSION +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_go_custom_server_truss/docker/build_upload_new_image.sh +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_go_custom_server_truss/docker/main.go +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_openai/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_openai/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_openai/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_openai/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v1/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v1/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v1/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v1/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v1/requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v2/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v2/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v2/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v2/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_pyantic_v2/requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_requirements_file_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_requirements_file_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_requirements_file_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_requirements_file_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_requirements_file_truss/requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_async_generator_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_async_generator_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_async_generator_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_async_generator_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_read_timeout/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_read_timeout/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_read_timeout/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_read_timeout/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_error/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_error/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_error/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_error/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_error/packages/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_error/packages/helpers_1.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_error/packages/helpers_2.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_tracing/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_tracing/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_tracing/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_streaming_truss_with_tracing/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_trt_llm_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_trt_llm_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_trt_llm_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_trt_llm_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/examples.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/model/dummy +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/packages/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/packages/test_package/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss/packages/test_package/test.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v1/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v1/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v1/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v1/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v2/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v2/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v2/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_server_model_cache_v2/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_with_error/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_with_error/config.yaml +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_with_error/model/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_with_error/model/model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_with_error/packages/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_with_error/packages/helpers_1.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_data/test_truss_with_error/packages/helpers_2.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_docker.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_model_inference.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_model_schema.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_testing_utilities_for_other_tests.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_truss_gatherer.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_truss_handle.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/test_util.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/trt_llm/test_trt_llm_config.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/trt_llm/test_validation.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/util/test_config_checks.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/util/test_env_vars.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/tests/util/test_path.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/trt_llm/config_checks.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/trt_llm/validation.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/build.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/decorators.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/calc_patch.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/constants.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/custom_types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/dir_signature.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/hash.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/local_truss_patch_applier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/signature.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/patch/truss_dir_patch_applier.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/readme_generator.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/truss_gatherer.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/truss_handle/truss_handle.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/.truss_ignore +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/docker.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/download.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/env_vars.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/gpu.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/jinja.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/log_utils.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/notebook.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/path.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/requirements.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss/util/user_config.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/examples/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/examples/audio-transcription/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/examples/rag/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/tests/itest_chain/requirements.txt +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/deployment/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/deployment/code_gen.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/deployment/deployment_client.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/framework.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/private_types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/public_api.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/public_types.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/py.typed +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/pydantic_numpy.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/reference_code/reference_chainlet.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/reference_code/reference_model.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/remote_chainlet/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/remote_chainlet/model_skeleton.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/remote_chainlet/stub.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/remote_chainlet/utils.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/streaming.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-chains/truss_chains/utils.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-train/truss_train/__init__.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-train/truss_train/definitions.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-train/truss_train/loader.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-train/truss_train/public_api.py +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-transfer/README.md +0 -0
- {truss-0.10.11rc1 → truss-0.10.12}/truss-transfer/tests/README.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: truss
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.12
|
|
4
4
|
Summary: A seamless bridge from model development to model delivery
|
|
5
5
|
Project-URL: Repository, https://github.com/basetenlabs/truss
|
|
6
6
|
Project-URL: Homepage, https://truss.baseten.co
|
|
@@ -37,7 +37,7 @@ Requires-Dist: rich<14,>=13.4.2
|
|
|
37
37
|
Requires-Dist: ruff>=0.4.8
|
|
38
38
|
Requires-Dist: tenacity>=8.0.1
|
|
39
39
|
Requires-Dist: tomlkit>=0.13.2
|
|
40
|
-
Requires-Dist: truss-transfer==0.0.
|
|
40
|
+
Requires-Dist: truss-transfer==0.0.30
|
|
41
41
|
Requires-Dist: watchfiles<0.20,>=0.19.0
|
|
42
42
|
Description-Content-Type: text/markdown
|
|
43
43
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "truss"
|
|
3
|
-
version = "0.10.
|
|
3
|
+
version = "0.10.12"
|
|
4
4
|
description = "A seamless bridge from model development to model delivery"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Pankaj Gupta", email = "no-reply@baseten.co" },
|
|
@@ -43,7 +43,7 @@ dependencies = [
|
|
|
43
43
|
"ruff>=0.4.8",
|
|
44
44
|
"tenacity>=8.0.1",
|
|
45
45
|
"watchfiles>=0.19.0,<0.20",
|
|
46
|
-
"truss-transfer==0.0.
|
|
46
|
+
"truss-transfer==0.0.30",
|
|
47
47
|
]
|
|
48
48
|
|
|
49
49
|
[project.urls]
|
|
@@ -5,6 +5,12 @@ import rich_click as click
|
|
|
5
5
|
from truss.cli.utils.output import console
|
|
6
6
|
from truss.remote.baseten import BasetenRemote
|
|
7
7
|
|
|
8
|
+
# Byte size constants
|
|
9
|
+
BYTES_PER_KB = 1000
|
|
10
|
+
BYTES_PER_MB = BYTES_PER_KB * 1000
|
|
11
|
+
BYTES_PER_GB = BYTES_PER_MB * 1000
|
|
12
|
+
BYTES_PER_TB = BYTES_PER_GB * 1000
|
|
13
|
+
|
|
8
14
|
|
|
9
15
|
def get_most_recent_job(
|
|
10
16
|
remote_provider: BasetenRemote, project_id: Optional[str], job_id: Optional[str]
|
|
@@ -27,3 +33,16 @@ def get_most_recent_job(
|
|
|
27
33
|
project_id = cast(str, job["training_project"]["id"])
|
|
28
34
|
job_id = cast(str, job["id"])
|
|
29
35
|
return project_id, job_id
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def format_bytes_to_human_readable(bytes: int) -> str:
|
|
39
|
+
if bytes > BYTES_PER_TB:
|
|
40
|
+
return f"{bytes / BYTES_PER_TB:.2f} TB"
|
|
41
|
+
if bytes > BYTES_PER_GB:
|
|
42
|
+
return f"{bytes / BYTES_PER_GB:.2f} GB"
|
|
43
|
+
elif bytes > BYTES_PER_MB:
|
|
44
|
+
return f"{bytes / BYTES_PER_MB:.2f} MB"
|
|
45
|
+
elif bytes > BYTES_PER_KB:
|
|
46
|
+
return f"{bytes / BYTES_PER_KB:.2f} KB"
|
|
47
|
+
else:
|
|
48
|
+
return f"{bytes} B"
|
|
@@ -20,6 +20,14 @@ from truss.remote.baseten.remote import BasetenRemote
|
|
|
20
20
|
from truss_train import loader
|
|
21
21
|
from truss_train.definitions import DeployCheckpointsConfig
|
|
22
22
|
|
|
23
|
+
SORT_BY_FILEPATH = "filepath"
|
|
24
|
+
SORT_BY_SIZE = "size"
|
|
25
|
+
SORT_BY_MODIFIED = "modified"
|
|
26
|
+
SORT_BY_TYPE = "type"
|
|
27
|
+
SORT_BY_PERMISSIONS = "permissions"
|
|
28
|
+
SORT_ORDER_ASC = "asc"
|
|
29
|
+
SORT_ORDER_DESC = "desc"
|
|
30
|
+
|
|
23
31
|
ACTIVE_JOB_STATUSES = [
|
|
24
32
|
"TRAINING_JOB_RUNNING",
|
|
25
33
|
"TRAINING_JOB_CREATED",
|
|
@@ -401,3 +409,131 @@ def download_checkpoint_artifacts(
|
|
|
401
409
|
|
|
402
410
|
def status_page_url(remote_url: str, training_job_id: str) -> str:
|
|
403
411
|
return f"{remote_url}/training/jobs/{training_job_id}"
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
def fetch_project_by_name_or_id(
|
|
415
|
+
remote_provider: BasetenRemote, project_identifier: str
|
|
416
|
+
) -> dict:
|
|
417
|
+
"""Fetch a training project by name or ID.
|
|
418
|
+
|
|
419
|
+
Args:
|
|
420
|
+
remote_provider: The remote provider instance
|
|
421
|
+
project_identifier: Either a project ID or project name
|
|
422
|
+
|
|
423
|
+
Returns:
|
|
424
|
+
The project object as a dictionary
|
|
425
|
+
|
|
426
|
+
Raises:
|
|
427
|
+
click.ClickException: If the project is not found
|
|
428
|
+
"""
|
|
429
|
+
try:
|
|
430
|
+
projects = remote_provider.api.list_training_projects()
|
|
431
|
+
projects_by_name = {project.get("name"): project for project in projects}
|
|
432
|
+
projects_by_id = {project.get("id"): project for project in projects}
|
|
433
|
+
if project_identifier in projects_by_id:
|
|
434
|
+
return projects_by_id[project_identifier]
|
|
435
|
+
if project_identifier in projects_by_name:
|
|
436
|
+
return projects_by_name[project_identifier]
|
|
437
|
+
valid_project_ids_and_names = ", ".join(
|
|
438
|
+
[f"{project.get('id')} ({project.get('name')})" for project in projects]
|
|
439
|
+
)
|
|
440
|
+
raise click.ClickException(
|
|
441
|
+
f"Project '{project_identifier}' not found. Valid project IDs and names: {valid_project_ids_and_names}"
|
|
442
|
+
)
|
|
443
|
+
except click.ClickException:
|
|
444
|
+
raise
|
|
445
|
+
except Exception as e:
|
|
446
|
+
raise click.ClickException(f"Error fetching project: {str(e)}")
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
def view_cache_summary(
|
|
450
|
+
remote_provider: BasetenRemote,
|
|
451
|
+
project_id: str,
|
|
452
|
+
sort_by: str = SORT_BY_FILEPATH,
|
|
453
|
+
order: str = SORT_ORDER_ASC,
|
|
454
|
+
):
|
|
455
|
+
"""View cache summary for a training project."""
|
|
456
|
+
try:
|
|
457
|
+
cache_data = remote_provider.api.get_cache_summary(project_id)
|
|
458
|
+
|
|
459
|
+
if not cache_data:
|
|
460
|
+
console.print("No cache summary found for this project.", style="yellow")
|
|
461
|
+
return
|
|
462
|
+
|
|
463
|
+
table = rich.table.Table(title=f"Cache summary for project: {project_id}")
|
|
464
|
+
table.add_column("File Path", style="cyan")
|
|
465
|
+
table.add_column("Size", style="green")
|
|
466
|
+
table.add_column("Modified", style="yellow")
|
|
467
|
+
table.add_column("Type")
|
|
468
|
+
table.add_column("Permissions", style="magenta")
|
|
469
|
+
|
|
470
|
+
files = cache_data.get("file_summaries", [])
|
|
471
|
+
if not files:
|
|
472
|
+
console.print("No files found in cache.", style="yellow")
|
|
473
|
+
return
|
|
474
|
+
|
|
475
|
+
reverse = order == SORT_ORDER_DESC
|
|
476
|
+
|
|
477
|
+
if sort_by == SORT_BY_FILEPATH:
|
|
478
|
+
files.sort(key=lambda x: x.get("path", ""), reverse=reverse)
|
|
479
|
+
elif sort_by == SORT_BY_SIZE:
|
|
480
|
+
files.sort(key=lambda x: x.get("size_bytes", 0), reverse=reverse)
|
|
481
|
+
elif sort_by == SORT_BY_MODIFIED:
|
|
482
|
+
files.sort(key=lambda x: x.get("modified", ""), reverse=reverse)
|
|
483
|
+
elif sort_by == SORT_BY_TYPE:
|
|
484
|
+
files.sort(key=lambda x: x.get("file_type", ""), reverse=reverse)
|
|
485
|
+
elif sort_by == SORT_BY_PERMISSIONS:
|
|
486
|
+
files.sort(key=lambda x: x.get("permissions", ""), reverse=reverse)
|
|
487
|
+
|
|
488
|
+
total_size = 0
|
|
489
|
+
for file_info in files:
|
|
490
|
+
total_size += file_info.get("size_bytes", 0)
|
|
491
|
+
|
|
492
|
+
total_size_str = common.format_bytes_to_human_readable(total_size)
|
|
493
|
+
|
|
494
|
+
console.print(
|
|
495
|
+
f"📅 Cache captured at: {cache_data.get('timestamp', 'Unknown')}",
|
|
496
|
+
style="bold blue",
|
|
497
|
+
)
|
|
498
|
+
console.print(
|
|
499
|
+
f"📁 Project ID: {cache_data.get('project_id', 'Unknown')}",
|
|
500
|
+
style="bold blue",
|
|
501
|
+
)
|
|
502
|
+
console.print()
|
|
503
|
+
console.print(f"📊 Total files: {len(files)}", style="bold green")
|
|
504
|
+
console.print(f"💾 Total size: {total_size_str}", style="bold green")
|
|
505
|
+
console.print()
|
|
506
|
+
|
|
507
|
+
for file_info in files:
|
|
508
|
+
size_bytes = file_info.get("size_bytes", 0)
|
|
509
|
+
|
|
510
|
+
size_str = cli_common.format_bytes_to_human_readable(int(size_bytes))
|
|
511
|
+
|
|
512
|
+
modified_str = cli_common.format_localized_time(
|
|
513
|
+
file_info.get("modified", "Unknown")
|
|
514
|
+
)
|
|
515
|
+
|
|
516
|
+
table.add_row(
|
|
517
|
+
file_info.get("path", "Unknown"),
|
|
518
|
+
size_str,
|
|
519
|
+
modified_str,
|
|
520
|
+
file_info.get("file_type", "Unknown"),
|
|
521
|
+
file_info.get("permissions", "Unknown"),
|
|
522
|
+
)
|
|
523
|
+
|
|
524
|
+
console.print(table)
|
|
525
|
+
|
|
526
|
+
except Exception as e:
|
|
527
|
+
console.print(f"Error fetching cache summary: {str(e)}", style="red")
|
|
528
|
+
raise
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
def view_cache_summary_by_project(
|
|
532
|
+
remote_provider: BasetenRemote,
|
|
533
|
+
project_identifier: str,
|
|
534
|
+
sort_by: str = SORT_BY_FILEPATH,
|
|
535
|
+
order: str = SORT_ORDER_ASC,
|
|
536
|
+
):
|
|
537
|
+
"""View cache summary for a training project by ID or name."""
|
|
538
|
+
project = fetch_project_by_name_or_id(remote_provider, project_identifier)
|
|
539
|
+
view_cache_summary(remote_provider, project["id"], sort_by, order)
|
|
@@ -35,18 +35,17 @@ class MetricsWatcher(TrainingPollerMixin):
|
|
|
35
35
|
|
|
36
36
|
def _format_bytes(self, bytes_val: float) -> Tuple[str, str]:
|
|
37
37
|
"""Convert bytes to human readable format"""
|
|
38
|
+
default_color = "green"
|
|
38
39
|
color_map = {"MB": "green", "GB": "cyan", "TB": "magenta"}
|
|
39
|
-
unit = "
|
|
40
|
-
if bytes_val >
|
|
40
|
+
unit = "B"
|
|
41
|
+
if bytes_val > 1000 * 1000 * 1000 * 1000:
|
|
41
42
|
unit = "TB"
|
|
42
|
-
elif bytes_val >
|
|
43
|
+
elif bytes_val > 1000 * 1000 * 1000:
|
|
43
44
|
unit = "GB"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return f"{bytes_val / (1024 * 1024 * 1024):.2f} GB", color_map[unit]
|
|
49
|
-
return f"{bytes_val:.2f} bytes", color_map[unit]
|
|
45
|
+
elif bytes_val > 1000 * 1000:
|
|
46
|
+
unit = "MB"
|
|
47
|
+
color = color_map.get(unit, default_color)
|
|
48
|
+
return (common.format_bytes_to_human_readable(int(bytes_val)), color)
|
|
50
49
|
|
|
51
50
|
def _format_storage_utilization(self, utilization: float) -> Tuple[str, str]:
|
|
52
51
|
percent = round(utilization * 100, 4)
|
|
@@ -11,11 +11,21 @@ from truss.cli.logs import utils as cli_log_utils
|
|
|
11
11
|
from truss.cli.logs.training_log_watcher import TrainingLogWatcher
|
|
12
12
|
from truss.cli.train import common as train_common
|
|
13
13
|
from truss.cli.train import core
|
|
14
|
+
from truss.cli.train.core import (
|
|
15
|
+
SORT_BY_FILEPATH,
|
|
16
|
+
SORT_BY_MODIFIED,
|
|
17
|
+
SORT_BY_PERMISSIONS,
|
|
18
|
+
SORT_BY_SIZE,
|
|
19
|
+
SORT_BY_TYPE,
|
|
20
|
+
SORT_ORDER_ASC,
|
|
21
|
+
SORT_ORDER_DESC,
|
|
22
|
+
)
|
|
14
23
|
from truss.cli.utils import common
|
|
15
24
|
from truss.cli.utils.output import console, error_console
|
|
16
25
|
from truss.remote.baseten.core import get_training_job_logs_with_pagination
|
|
17
26
|
from truss.remote.baseten.remote import BasetenRemote
|
|
18
27
|
from truss.remote.remote_factory import RemoteFactory
|
|
28
|
+
from truss_train import TrainingJob
|
|
19
29
|
|
|
20
30
|
|
|
21
31
|
@click.group()
|
|
@@ -27,15 +37,30 @@ truss_cli.add_command(train)
|
|
|
27
37
|
|
|
28
38
|
|
|
29
39
|
def _print_training_job_success_message(
|
|
30
|
-
job_id: str,
|
|
40
|
+
job_id: str,
|
|
41
|
+
project_name: str,
|
|
42
|
+
job_object: TrainingJob,
|
|
43
|
+
remote_provider: BasetenRemote,
|
|
31
44
|
) -> None:
|
|
32
45
|
"""Print success message and helpful commands for a training job."""
|
|
33
46
|
console.print("✨ Training job successfully created!", style="green")
|
|
47
|
+
should_print_cache_summary = (
|
|
48
|
+
job_object.runtime.enable_cache
|
|
49
|
+
or job_object.runtime.cache_config
|
|
50
|
+
and job_object.runtime.cache_config.enabled
|
|
51
|
+
)
|
|
52
|
+
cache_summary_snippet = ""
|
|
53
|
+
if should_print_cache_summary:
|
|
54
|
+
cache_summary_snippet = (
|
|
55
|
+
f"📁 View cache summary via "
|
|
56
|
+
f"[cyan]'truss train cache summarize --project {project_name}'[/cyan]\n"
|
|
57
|
+
)
|
|
34
58
|
console.print(
|
|
35
59
|
f"🪵 View logs for your job via "
|
|
36
60
|
f"[cyan]'truss train logs --job-id {job_id} --tail'[/cyan]\n"
|
|
37
61
|
f"🔍 View metrics for your job via "
|
|
38
62
|
f"[cyan]'truss train metrics --job-id {job_id}'[/cyan]\n"
|
|
63
|
+
f"{cache_summary_snippet}"
|
|
39
64
|
f"🌐 Status page: {common.format_link(core.status_page_url(remote_provider.remote_url, job_id))}"
|
|
40
65
|
)
|
|
41
66
|
|
|
@@ -44,6 +69,7 @@ def _handle_post_create_logic(
|
|
|
44
69
|
job_resp: dict, remote_provider: BasetenRemote, tail: bool
|
|
45
70
|
) -> None:
|
|
46
71
|
project_id, job_id = job_resp["training_project"]["id"], job_resp["id"]
|
|
72
|
+
project_name = job_resp["training_project"]["name"]
|
|
47
73
|
|
|
48
74
|
if job_resp.get("current_status", None) == "TRAINING_JOB_QUEUED":
|
|
49
75
|
console.print(
|
|
@@ -51,7 +77,9 @@ def _handle_post_create_logic(
|
|
|
51
77
|
style="green",
|
|
52
78
|
)
|
|
53
79
|
else:
|
|
54
|
-
_print_training_job_success_message(
|
|
80
|
+
_print_training_job_success_message(
|
|
81
|
+
job_id, project_name, job_resp["job_object"], remote_provider
|
|
82
|
+
)
|
|
55
83
|
|
|
56
84
|
if tail:
|
|
57
85
|
watcher = TrainingLogWatcher(remote_provider.api, project_id, job_id)
|
|
@@ -351,3 +379,46 @@ def download_checkpoint_artifacts(job_id: Optional[str], remote: Optional[str])
|
|
|
351
379
|
except Exception as e:
|
|
352
380
|
error_console.print(f"Failed to download checkpoint artifacts data: {str(e)}")
|
|
353
381
|
sys.exit(1)
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
@train.group(name="cache")
|
|
385
|
+
def cache():
|
|
386
|
+
"""Cache-related subcommands for truss train"""
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
@cache.command(name="summarize")
|
|
390
|
+
@click.option(
|
|
391
|
+
"--project", type=str, required=True, help="Project ID or name to view cache for."
|
|
392
|
+
)
|
|
393
|
+
@click.option("--remote", type=str, required=False, help="Remote to use")
|
|
394
|
+
@click.option(
|
|
395
|
+
"--sort",
|
|
396
|
+
type=click.Choice(
|
|
397
|
+
[
|
|
398
|
+
SORT_BY_FILEPATH,
|
|
399
|
+
SORT_BY_SIZE,
|
|
400
|
+
SORT_BY_MODIFIED,
|
|
401
|
+
SORT_BY_TYPE,
|
|
402
|
+
SORT_BY_PERMISSIONS,
|
|
403
|
+
]
|
|
404
|
+
),
|
|
405
|
+
default=SORT_BY_FILEPATH,
|
|
406
|
+
help="Sort files by filepath, size, modified date, file type, or permissions.",
|
|
407
|
+
)
|
|
408
|
+
@click.option(
|
|
409
|
+
"--order",
|
|
410
|
+
type=click.Choice([SORT_ORDER_ASC, SORT_ORDER_DESC]),
|
|
411
|
+
default=SORT_ORDER_ASC,
|
|
412
|
+
help="Sort order: ascending or descending.",
|
|
413
|
+
)
|
|
414
|
+
@common.common_options()
|
|
415
|
+
def view_cache_summary(project: str, remote: Optional[str], sort: str, order: str):
|
|
416
|
+
"""View cache summary for a training project"""
|
|
417
|
+
if not remote:
|
|
418
|
+
remote = remote_cli.inquire_remote_name()
|
|
419
|
+
|
|
420
|
+
remote_provider: BasetenRemote = cast(
|
|
421
|
+
BasetenRemote, RemoteFactory.create(remote=remote)
|
|
422
|
+
)
|
|
423
|
+
|
|
424
|
+
train_cli.view_cache_summary_by_project(remote_provider, project, sort, order)
|
|
@@ -186,4 +186,17 @@ def format_localized_time(iso_timestamp: str) -> str:
|
|
|
186
186
|
iso_timestamp = iso_timestamp.replace("Z", "+00:00")
|
|
187
187
|
utc_time = datetime.datetime.fromisoformat(iso_timestamp)
|
|
188
188
|
local_time = utc_time.astimezone()
|
|
189
|
-
return local_time.strftime("%Y-%m-%d %H:%M")
|
|
189
|
+
return local_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def format_bytes_to_human_readable(bytes: int) -> str:
|
|
193
|
+
if bytes > 1000 * 1000 * 1000 * 1000:
|
|
194
|
+
return f"{bytes / (1000 * 1000 * 1000 * 1000):.2f} TB"
|
|
195
|
+
if bytes > 1000 * 1000 * 1000:
|
|
196
|
+
return f"{bytes / (1000 * 1000 * 1000):.2f} GB"
|
|
197
|
+
elif bytes > 1000 * 1000:
|
|
198
|
+
return f"{bytes / (1000 * 1000):.2f} MB"
|
|
199
|
+
elif bytes > 1000:
|
|
200
|
+
return f"{bytes / 1000:.2f} KB"
|
|
201
|
+
else:
|
|
202
|
+
return f"{bytes} B"
|
|
@@ -669,6 +669,13 @@ class BasetenApi:
|
|
|
669
669
|
# NB(nikhil): reverse order so latest logs are at the end
|
|
670
670
|
return resp_json["logs"][::-1]
|
|
671
671
|
|
|
672
|
+
def get_cache_summary(self, project_id: str):
|
|
673
|
+
"""Get cache summary for a training project."""
|
|
674
|
+
resp_json = self._rest_api_client.get(
|
|
675
|
+
f"v1/training_projects/{project_id}/cache/summary"
|
|
676
|
+
)
|
|
677
|
+
return resp_json
|
|
678
|
+
|
|
672
679
|
def _fetch_log_batch(
|
|
673
680
|
self, project_id: str, job_id: str, query_params: Dict[str, Any]
|
|
674
681
|
) -> List[Any]:
|
|
@@ -120,3 +120,31 @@ class TrussUserEnv(pydantic.BaseModel):
|
|
|
120
120
|
class BlobType(Enum):
|
|
121
121
|
MODEL = "model"
|
|
122
122
|
TRAIN = "train"
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class FileSummary(pydantic.BaseModel):
|
|
126
|
+
"""Information about a file in the cache."""
|
|
127
|
+
|
|
128
|
+
path: str = pydantic.Field(description="Relative path of the file in the cache")
|
|
129
|
+
size_bytes: int = pydantic.Field(description="Size of the file in bytes")
|
|
130
|
+
modified: str = pydantic.Field(description="Last modification time of the file")
|
|
131
|
+
file_type: Optional[str] = pydantic.Field(
|
|
132
|
+
default=None,
|
|
133
|
+
description="Type of the file (e.g., 'file', 'directory', 'symlink')",
|
|
134
|
+
)
|
|
135
|
+
permissions: Optional[str] = pydantic.Field(
|
|
136
|
+
default=None,
|
|
137
|
+
description="File permissions in Unix symbolic format (e.g., 'drwxr-xr-x', '-rw-r--r--')",
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
class GetCacheSummaryResponseV1(pydantic.BaseModel):
|
|
142
|
+
"""Response for getting cache summary."""
|
|
143
|
+
|
|
144
|
+
timestamp: str = pydantic.Field(
|
|
145
|
+
description="Timestamp when the cache summary was captured"
|
|
146
|
+
)
|
|
147
|
+
project_id: str = pydantic.Field(description="Project ID associated with the cache")
|
|
148
|
+
file_summaries: list[FileSummary] = pydantic.Field(
|
|
149
|
+
description="List of files in the cache"
|
|
150
|
+
)
|
|
@@ -70,7 +70,7 @@ COPY ./{{ config.data_dir }} /app/data
|
|
|
70
70
|
|
|
71
71
|
{%- if model_cache_v2 %}
|
|
72
72
|
# v0.0.9, keep synced with server_requirements.txt
|
|
73
|
-
RUN curl -sSL --fail --retry 5 --retry-delay 2 -o /usr/local/bin/truss-transfer-cli https://github.com/basetenlabs/truss/releases/download/v0.10.
|
|
73
|
+
RUN curl -sSL --fail --retry 5 --retry-delay 2 -o /usr/local/bin/truss-transfer-cli https://github.com/basetenlabs/truss/releases/download/v0.10.11rc1/truss-transfer-cli-v0.10.11rc1-linux-x86_64-unknown-linux-musl
|
|
74
74
|
RUN chmod +x /usr/local/bin/truss-transfer-cli
|
|
75
75
|
RUN mkdir /static-bptr
|
|
76
76
|
RUN echo "hash {{model_cache_hash}}"
|