truss 0.11.1rc15__tar.gz → 0.11.2__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.11.1rc15 → truss-0.11.2}/PKG-INFO +1 -1
- {truss-0.11.1rc15 → truss-0.11.2}/pyproject.toml +1 -1
- {truss-0.11.1rc15 → truss-0.11.2}/truss/base/constants.py +2 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/chains_commands.py +20 -7
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_checkpoints.py +0 -12
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/requirements.txt +1 -1
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/deployment/code_gen.py +5 -1
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/deployment/deployment_client.py +45 -7
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/public_types.py +5 -3
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/remote_chainlet/utils.py +34 -13
- {truss-0.11.1rc15 → truss-0.11.2}/truss-train/truss_train/__init__.py +4 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-train/truss_train/definitions.py +47 -2
- truss-0.11.2/truss-train/truss_train/restore_from_checkpoint.py +42 -0
- {truss-0.11.1rc15 → truss-0.11.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/.github/pull_request_template.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/.gitignore +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/CODE_OF_CONDUCT.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/CONTRIBUTING.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/LICENSE +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/android-arm-eabi/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/android-arm64/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/darwin-arm64/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/darwin-universal/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/darwin-x64/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/freebsd-x64/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/linux-arm-gnueabihf/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/linux-arm-musleabihf/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/linux-arm64-gnu/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/linux-arm64-musl/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/linux-riscv64-gnu/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/linux-x64-gnu/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/linux-x64-musl/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/win32-arm64-msvc/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/win32-ia32-msvc/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/win32-x64-msvc/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/python_bindings/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/scripts/README_nodejs.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/context_builder.Dockerfile +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/docs/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/docs/chains/doc_gen/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/docs/contribute/base-images.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/docs/contribute/release.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/api/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/api/definitions.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/base/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/base/custom_types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/base/errors.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/base/trt_llm_config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/base/truss_config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/base/truss_spec.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/cli.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/logs/base_watcher.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/logs/model_log_watcher.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/logs/training_log_watcher.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/logs/utils.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/remote_cli.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/common.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/core.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_checkpoints_helpers.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_full_checkpoints.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_lora_checkpoints.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_whisper_checkpoints.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_from_checkpoint_config.yml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_from_checkpoint_config_whisper.yml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/metrics_watcher.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/poller.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train_commands.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/utils/common.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/utils/output.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/cli/utils/self_upgrade.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/docker_build_setup.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/image_builder/cache_warmer.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/image_builder/image_builder.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/image_builder/serving_image_builder.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/image_builder/util.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/local_loader/docker_build_emulator.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/local_loader/dockerfile_parser.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/local_loader/load_model_local.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/local_loader/truss_module_loader.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/local_loader/utils.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/contexts/truss_context.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/local/local_config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/local/local_config_handler.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/patch/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/patch/hash.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/patch/signature.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/patch/truss_dir_patch_applier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/api.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/auth.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/core.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/custom_types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/error.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/remote.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/rest_client.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/service.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/utils/status.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/utils/tar.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/utils/time.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/baseten/utils/transfer.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/remote_factory.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/remote/truss_remote.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/README.md.jinja +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/base.Dockerfile.jinja +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/cache.Dockerfile.jinja +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/cache_requirements.txt +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/application.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/endpoints.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/context_managers.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/custom_types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/errors.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/inference_server_controller.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/inference_server_process_controller.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/inference_server_starter.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/truss_patch/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/truss_patch/model_code_patch_applier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/truss_patch/model_container_patch_applier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/truss_patch/requirement_name_identifier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/helpers/truss_patch/system_packages.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/control/control/server.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/copy_cache_files.Dockerfile.jinja +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/custom/examples.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/custom/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/custom/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/custom_python_dx/my_model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/docker_server/proxy.conf.jinja +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/docker_server/supervisord.conf.jinja +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/docker_server_requirements.txt +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/common/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/common/errors.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/common/patches/whisper/patch.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/common/patches.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/common/retry.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/common/schema.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/common/tracing.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/main.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/model_wrapper.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/requirements.txt +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server/truss_server.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/server.Dockerfile.jinja +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/shared/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/shared/dynamic_config_resolver.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/shared/lazy_data_resolver.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/shared/log_config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/shared/secrets_resolver.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/shared/serialization.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/shared/util.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/train/config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/train/run.sh +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/sigint_patch.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/whisper_trt/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/whisper_trt/assets.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/whisper_trt/batching.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/whisper_trt/custom_types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/whisper_trt/modeling.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/whisper_trt/tokenizer.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-audio/packages/whisper_trt/utils.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-briton/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/templates/trtllm-briton/src/extension.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/cli/test_cli.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/cli/train/resources/test_deploy_from_checkpoint_config.yml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/cli/train/test_cache_view.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/cli/train/test_deploy_checkpoints.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/cli/train/test_train_cli_core.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/cli/train/test_train_init.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/conftest.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/contexts/image_builder/test_serving_image_builder.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/contexts/local_loader/test_load_local.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/contexts/local_loader/test_truss_module_finder.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/helpers.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/local/test_local_config_handler.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/patch/test_calc_patch.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/patch/test_dir_signature.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/patch/test_hash.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/patch/test_signature.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/patch/test_truss_dir_patch_applier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/patch/test_types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/baseten/conftest.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/baseten/test_api.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/baseten/test_auth.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/baseten/test_core.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/baseten/test_remote.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/baseten/test_service.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/test_remote_factory.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/remote/test_truss_remote.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/control/control/helpers/test_context_managers.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/control/control/helpers/test_model_container_patch_applier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/control/control/helpers/test_requirement_name_identifier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/control/control/test_endpoints.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/control/control/test_server.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/control/control/test_server_integration.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/core/server/test_dynamic_config_resolver.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/core/server/test_lazy_data_resolver_v2.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/core/server/test_secrets_resolver.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/server/common/test_retry.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/server/test_model_wrapper.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/server/test_schema.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/templates/server/test_truss_server.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_build.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_context_builder_image.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_control_truss_patching.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_custom_server.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/annotated_types_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/annotated_types_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/annotated_types_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/annotated_types_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/auto-mpg.data +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/context_builder_image_test/Dockerfile +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/context_builder_image_test/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/context_builder_image_test/test.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/gcs_fix/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/gcs_fix/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/gcs_fix/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/gcs_fix/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/happy.ipynb +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/model_load_failure_test/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/model_load_failure_test/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/model_load_failure_test/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/model_load_failure_test/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/patch_ping_test_server/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/patch_ping_test_server/app.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/pima-indians-diabetes.csv +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/readme_int_example.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/readme_no_example.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/readme_str_example.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/server.Dockerfile +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/server_conformance_test_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/server_conformance_test_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/server_conformance_test_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/server_conformance_test_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_async_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_async_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_async_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_async_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_basic_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_basic_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_basic_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_basic_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands_failure/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands_failure/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands_failure/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_build_commands_failure/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_concurrency_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_concurrency_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_concurrency_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_concurrency_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/test_docker_image/Dockerfile +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/test_docker_image/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/test_docker_image/VERSION +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/test_docker_image/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/test_docker_image/app.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_custom_server_truss/test_docker_image/build_upload_new_image.sh +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_env_vars/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_go_custom_server_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_go_custom_server_truss/docker/Dockerfile +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_go_custom_server_truss/docker/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_go_custom_server_truss/docker/VERSION +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_go_custom_server_truss/docker/build_upload_new_image.sh +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_go_custom_server_truss/docker/main.go +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_openai/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_openai/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_openai/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_openai/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v1/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v1/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v1/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v1/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v1/requirements.txt +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v2/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v2/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v2/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v2/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_pyantic_v2/requirements.txt +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_requirements_file_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_requirements_file_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_requirements_file_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_requirements_file_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_requirements_file_truss/requirements.txt +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_async_generator_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_async_generator_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_async_generator_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_async_generator_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_read_timeout/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_read_timeout/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_read_timeout/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_read_timeout/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_error/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_error/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_error/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_error/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_error/packages/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_error/packages/helpers_1.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_error/packages/helpers_2.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_tracing/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_tracing/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_tracing/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_streaming_truss_with_tracing/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_trt_llm_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_trt_llm_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_trt_llm_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_trt_llm_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/examples.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/model/dummy +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/packages/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/packages/test_package/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss/packages/test_package/test.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v1/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v1/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v1/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v1/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v2/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v2/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v2/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_server_model_cache_v2/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_with_error/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_with_error/config.yaml +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_with_error/model/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_with_error/model/model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_with_error/packages/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_with_error/packages/helpers_1.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_data/test_truss_with_error/packages/helpers_2.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_docker.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_model_inference.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_model_schema.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_testing_utilities_for_other_tests.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_truss_gatherer.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_truss_handle.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/test_util.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/trt_llm/test_trt_llm_config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/trt_llm/test_validation.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/util/test_config_checks.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/util/test_env_vars.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/tests/util/test_path.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/trt_llm/config_checks.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/trt_llm/validation.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/build.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/decorators.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/calc_patch.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/constants.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/custom_types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/dir_signature.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/hash.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/local_truss_patch_applier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/signature.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/patch/truss_dir_patch_applier.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/readme_generator.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/truss_gatherer.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/truss_handle/truss_handle.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/.truss_ignore +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/docker.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/download.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/env_vars.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/gpu.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/jinja.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/log_utils.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/notebook.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/path.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/requirements.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss/util/user_config.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/examples/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/examples/audio-transcription/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/examples/rag/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/tests/itest_chain/requirements.txt +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/deployment/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/framework.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/private_types.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/public_api.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/py.typed +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/pydantic_numpy.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/reference_code/reference_chainlet.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/reference_code/reference_model.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/remote_chainlet/__init__.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/remote_chainlet/model_skeleton.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/remote_chainlet/stub.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/streaming.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-chains/truss_chains/utils.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-train/truss_train/deployment.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-train/truss_train/loader.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-train/truss_train/public_api.py +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-transfer/README.md +0 -0
- {truss-0.11.1rc15 → truss-0.11.2}/truss-transfer/tests/README.md +0 -0
|
@@ -43,18 +43,31 @@ def _load_example_chainlet_code() -> str:
|
|
|
43
43
|
return source
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
def _make_chains_curl_snippet(
|
|
46
|
+
def _make_chains_curl_snippet(
|
|
47
|
+
run_remote_url: str, environment: Optional[str], is_websocket: bool = False
|
|
48
|
+
) -> str:
|
|
47
49
|
if environment:
|
|
48
50
|
idx = run_remote_url.find("deployment")
|
|
49
51
|
if idx != -1:
|
|
50
52
|
run_remote_url = (
|
|
51
53
|
run_remote_url[:idx] + f"environments/{environment}/run_remote"
|
|
52
54
|
)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
'
|
|
56
|
-
"
|
|
57
|
-
|
|
55
|
+
|
|
56
|
+
if is_websocket:
|
|
57
|
+
# Replace 'run_remote' with 'websocket' for websocket endpoints
|
|
58
|
+
websocket_url = run_remote_url.replace("run_remote", "websocket").replace(
|
|
59
|
+
"https", "wss"
|
|
60
|
+
)
|
|
61
|
+
return (
|
|
62
|
+
f'websocat -H="Authorization: Api-Key $BASETEN_API_KEY" \\\n'
|
|
63
|
+
f" {websocket_url}"
|
|
64
|
+
)
|
|
65
|
+
else:
|
|
66
|
+
return (
|
|
67
|
+
f"curl -X POST '{run_remote_url}' \\\n"
|
|
68
|
+
' -H "Authorization: Api-Key $BASETEN_API_KEY" \\\n'
|
|
69
|
+
" -d '<JSON_INPUT>'"
|
|
70
|
+
)
|
|
58
71
|
|
|
59
72
|
|
|
60
73
|
def _create_chains_table(service) -> Tuple[rich.table.Table, List[str]]:
|
|
@@ -281,7 +294,7 @@ def push_chain(
|
|
|
281
294
|
|
|
282
295
|
assert isinstance(service, deployment_client.BasetenChainService)
|
|
283
296
|
curl_snippet = _make_chains_curl_snippet(
|
|
284
|
-
service.run_remote_url, options.environment
|
|
297
|
+
service.run_remote_url, options.environment, service.is_websocket
|
|
285
298
|
)
|
|
286
299
|
|
|
287
300
|
table, statuses = _create_chains_table(service)
|
|
@@ -296,18 +296,6 @@ def _get_checkpoint_ids_to_deploy(
|
|
|
296
296
|
return checkpoint_ids
|
|
297
297
|
|
|
298
298
|
|
|
299
|
-
def _select_single_checkpoint(checkpoint_id_options: List[str]) -> List[str]:
|
|
300
|
-
"""Select a single checkpoint using interactive prompt."""
|
|
301
|
-
checkpoint_id = inquirer.select(
|
|
302
|
-
message="Select the checkpoints to deploy:", choices=checkpoint_id_options
|
|
303
|
-
).execute()
|
|
304
|
-
|
|
305
|
-
if not checkpoint_id:
|
|
306
|
-
raise click.UsageError("A checkpoint must be selected.")
|
|
307
|
-
|
|
308
|
-
return [checkpoint_id]
|
|
309
|
-
|
|
310
|
-
|
|
311
299
|
def _select_multiple_checkpoints(checkpoint_id_options: List[str]) -> List[str]:
|
|
312
300
|
"""Select multiple checkpoints using interactive checkbox."""
|
|
313
301
|
checkpoint_ids = inquirer.checkbox(
|
|
@@ -544,7 +544,11 @@ async def websocket(self, websocket: fastapi.WebSocket) -> None:
|
|
|
544
544
|
)"""
|
|
545
545
|
return _Source(
|
|
546
546
|
src=src,
|
|
547
|
-
imports={
|
|
547
|
+
imports={
|
|
548
|
+
"import fastapi",
|
|
549
|
+
"from starlette.websockets import WebSocketState",
|
|
550
|
+
"from truss_chains.remote_chainlet import utils",
|
|
551
|
+
},
|
|
548
552
|
)
|
|
549
553
|
|
|
550
554
|
|
|
@@ -138,7 +138,12 @@ class ChainService(abc.ABC):
|
|
|
138
138
|
|
|
139
139
|
def _generate_chainlet_artifacts(
|
|
140
140
|
options: private_types.PushOptions, entrypoint: Type[private_types.ABCChainlet]
|
|
141
|
-
) -> tuple[
|
|
141
|
+
) -> tuple[
|
|
142
|
+
b10_types.ChainletArtifact,
|
|
143
|
+
list[b10_types.ChainletArtifact],
|
|
144
|
+
bool,
|
|
145
|
+
Optional[private_types.ChainletAPIDescriptor],
|
|
146
|
+
]:
|
|
142
147
|
chain_root = _get_chain_root(entrypoint)
|
|
143
148
|
entrypoint_artifact: Optional[b10_types.ChainletArtifact] = None
|
|
144
149
|
dependency_artifacts: list[b10_types.ChainletArtifact] = []
|
|
@@ -192,7 +197,19 @@ def _generate_chainlet_artifacts(
|
|
|
192
197
|
|
|
193
198
|
assert entrypoint_artifact is not None
|
|
194
199
|
|
|
195
|
-
|
|
200
|
+
# Find the entrypoint descriptor
|
|
201
|
+
entrypoint_descriptor = None
|
|
202
|
+
for chainlet_descriptor in _get_ordered_dependencies([entrypoint]):
|
|
203
|
+
if chainlet_descriptor.chainlet_cls == entrypoint:
|
|
204
|
+
entrypoint_descriptor = chainlet_descriptor
|
|
205
|
+
break
|
|
206
|
+
|
|
207
|
+
return (
|
|
208
|
+
entrypoint_artifact,
|
|
209
|
+
dependency_artifacts,
|
|
210
|
+
has_engine_builder_chainlets,
|
|
211
|
+
entrypoint_descriptor,
|
|
212
|
+
)
|
|
196
213
|
|
|
197
214
|
|
|
198
215
|
@framework.raise_validation_errors_before
|
|
@@ -201,9 +218,12 @@ def push(
|
|
|
201
218
|
options: private_types.PushOptions,
|
|
202
219
|
progress_bar: Optional[Type["progress.Progress"]] = None,
|
|
203
220
|
) -> Optional[ChainService]:
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
221
|
+
(
|
|
222
|
+
entrypoint_artifact,
|
|
223
|
+
dependency_artifacts,
|
|
224
|
+
has_engine_builder_chainlets,
|
|
225
|
+
entrypoint_descriptor,
|
|
226
|
+
) = _generate_chainlet_artifacts(options, entrypoint)
|
|
207
227
|
if options.only_generate_trusses:
|
|
208
228
|
return None
|
|
209
229
|
if isinstance(options, private_types.PushOptionsBaseten):
|
|
@@ -213,7 +233,11 @@ def push(
|
|
|
213
233
|
"not supportd, push with `--publish`."
|
|
214
234
|
)
|
|
215
235
|
return _create_baseten_chain(
|
|
216
|
-
options,
|
|
236
|
+
options,
|
|
237
|
+
entrypoint_artifact,
|
|
238
|
+
dependency_artifacts,
|
|
239
|
+
progress_bar,
|
|
240
|
+
entrypoint_descriptor,
|
|
217
241
|
)
|
|
218
242
|
elif isinstance(options, private_types.PushOptionsLocalDocker):
|
|
219
243
|
if has_engine_builder_chainlets:
|
|
@@ -369,16 +393,19 @@ def _create_docker_chain(
|
|
|
369
393
|
class BasetenChainService(ChainService):
|
|
370
394
|
_chain_deployment_handle: b10_core.ChainDeploymentHandleAtomic
|
|
371
395
|
_remote: b10_remote.BasetenRemote
|
|
396
|
+
_entrypoint_descriptor: Optional[private_types.ChainletAPIDescriptor]
|
|
372
397
|
|
|
373
398
|
def __init__(
|
|
374
399
|
self,
|
|
375
400
|
name: str,
|
|
376
401
|
chain_deployment_handle: b10_core.ChainDeploymentHandleAtomic,
|
|
377
402
|
remote: b10_remote.BasetenRemote,
|
|
403
|
+
entrypoint_descriptor: Optional[private_types.ChainletAPIDescriptor] = None,
|
|
378
404
|
) -> None:
|
|
379
405
|
super().__init__(name)
|
|
380
406
|
self._chain_deployment_handle = chain_deployment_handle
|
|
381
407
|
self._remote = remote
|
|
408
|
+
self._entrypoint_descriptor = entrypoint_descriptor
|
|
382
409
|
|
|
383
410
|
@property
|
|
384
411
|
def run_remote_url(self) -> str:
|
|
@@ -393,6 +420,13 @@ class BasetenChainService(ChainService):
|
|
|
393
420
|
is_draft=handle.is_draft,
|
|
394
421
|
)
|
|
395
422
|
|
|
423
|
+
@property
|
|
424
|
+
def is_websocket(self) -> bool:
|
|
425
|
+
"""Check if the entrypoint uses websockets."""
|
|
426
|
+
if self._entrypoint_descriptor is None:
|
|
427
|
+
return False
|
|
428
|
+
return self._entrypoint_descriptor.endpoint.is_websocket
|
|
429
|
+
|
|
396
430
|
def run_remote(self, json_data: Dict) -> Any:
|
|
397
431
|
"""Invokes the entrypoint with JSON data.
|
|
398
432
|
|
|
@@ -462,6 +496,7 @@ def _create_baseten_chain(
|
|
|
462
496
|
entrypoint_artifact: b10_types.ChainletArtifact,
|
|
463
497
|
dependency_artifacts: list[b10_types.ChainletArtifact],
|
|
464
498
|
progress_bar: Optional[Type["progress.Progress"]],
|
|
499
|
+
entrypoint_descriptor: Optional[private_types.ChainletAPIDescriptor] = None,
|
|
465
500
|
):
|
|
466
501
|
logging.info(
|
|
467
502
|
f"Pushing Chain '{baseten_options.chain_name}' to Baseten "
|
|
@@ -491,7 +526,10 @@ def _create_baseten_chain(
|
|
|
491
526
|
progress_bar=progress_bar,
|
|
492
527
|
)
|
|
493
528
|
return BasetenChainService(
|
|
494
|
-
baseten_options.chain_name,
|
|
529
|
+
baseten_options.chain_name,
|
|
530
|
+
chain_deployment_handle,
|
|
531
|
+
remote_provider,
|
|
532
|
+
entrypoint_descriptor,
|
|
495
533
|
)
|
|
496
534
|
|
|
497
535
|
|
|
@@ -482,9 +482,11 @@ class WebSocketProtocol(Protocol):
|
|
|
482
482
|
async def send_bytes(self, data: bytes) -> None: ...
|
|
483
483
|
async def send_json(self, data: Any) -> None: ...
|
|
484
484
|
|
|
485
|
-
def iter_text(self) -> AsyncIterator[str]: ...
|
|
486
|
-
def iter_bytes(self) -> AsyncIterator[bytes]: ...
|
|
487
|
-
def iter_json(self) -> AsyncIterator[Any]: ...
|
|
485
|
+
async def iter_text(self) -> AsyncIterator[str]: ...
|
|
486
|
+
async def iter_bytes(self) -> AsyncIterator[bytes]: ...
|
|
487
|
+
async def iter_json(self) -> AsyncIterator[Any]: ...
|
|
488
|
+
|
|
489
|
+
def is_connected(self) -> bool: ...
|
|
488
490
|
|
|
489
491
|
|
|
490
492
|
class EngineBuilderLLMInput(pydantic.BaseModel):
|
|
@@ -39,7 +39,7 @@ if TYPE_CHECKING:
|
|
|
39
39
|
try:
|
|
40
40
|
import prometheus_client
|
|
41
41
|
except ImportError:
|
|
42
|
-
logging.warning("Optional `prometheus_client` is not installed.
|
|
42
|
+
logging.warning("Optional `prometheus_client` is not installed.")
|
|
43
43
|
|
|
44
44
|
class _NoOpMetric:
|
|
45
45
|
def labels(self, *args: object, **kwargs: object) -> "_NoOpMetric":
|
|
@@ -65,6 +65,26 @@ except ImportError:
|
|
|
65
65
|
return _NoOpMetric()
|
|
66
66
|
|
|
67
67
|
|
|
68
|
+
try:
|
|
69
|
+
from fastapi import WebSocketDisconnect
|
|
70
|
+
except ImportError:
|
|
71
|
+
# NB(nikhil): Stub implementation of WebSocketDisconnect, in case local environment doesn't have
|
|
72
|
+
# fastapi.
|
|
73
|
+
class WebSocketDisconnect(Exception): # type: ignore[no-redef]
|
|
74
|
+
def __init__(self, code: int, reason: Optional[str] = None):
|
|
75
|
+
super().__init__()
|
|
76
|
+
self.code = code
|
|
77
|
+
self.reason = reason
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
try:
|
|
81
|
+
from starlette.websockets import WebSocketState
|
|
82
|
+
except ImportError:
|
|
83
|
+
# NB(nikhil): Stub implementation of WebSocketState, in case local environment doesn't have starlette.
|
|
84
|
+
class WebSocketState: # type: ignore[no-redef]
|
|
85
|
+
CONNECTED = "connected"
|
|
86
|
+
|
|
87
|
+
|
|
68
88
|
T = TypeVar("T")
|
|
69
89
|
|
|
70
90
|
_LockT = TypeVar("_LockT", bound=Union[threading.Lock, asyncio.Lock])
|
|
@@ -588,17 +608,12 @@ class WebsocketWrapperFastAPI:
|
|
|
588
608
|
await self._websocket.close(code=code, reason=reason)
|
|
589
609
|
|
|
590
610
|
async def receive(self) -> Union[str, bytes]:
|
|
591
|
-
try:
|
|
592
|
-
import fastapi
|
|
593
|
-
except ImportError:
|
|
594
|
-
raise utils.make_optional_import_error("fastapi")
|
|
595
|
-
|
|
596
611
|
message = await self._websocket.receive()
|
|
597
612
|
|
|
598
613
|
if message.get("type") == "websocket.disconnect":
|
|
599
614
|
# NB(nikhil): Mimics FastAPI `_raise_on_disconnect`, since otherwise the user has no
|
|
600
615
|
# way of detecting that the client disconnected.
|
|
601
|
-
raise
|
|
616
|
+
raise WebSocketDisconnect(message["code"], message.get("reason"))
|
|
602
617
|
elif message.get("text"):
|
|
603
618
|
return typing.cast(str, message["text"])
|
|
604
619
|
else:
|
|
@@ -623,13 +638,19 @@ class WebsocketWrapperFastAPI:
|
|
|
623
638
|
await self._websocket.send_json(data)
|
|
624
639
|
|
|
625
640
|
async def iter_text(self) -> AsyncIterator[str]:
|
|
626
|
-
|
|
627
|
-
yield await self.receive_text()
|
|
641
|
+
return self._websocket.iter_text()
|
|
628
642
|
|
|
629
643
|
async def iter_bytes(self) -> AsyncIterator[bytes]:
|
|
630
|
-
|
|
631
|
-
yield await self.receive_bytes()
|
|
644
|
+
return self._websocket.iter_bytes()
|
|
632
645
|
|
|
633
646
|
async def iter_json(self) -> AsyncIterator[Any]:
|
|
634
|
-
|
|
635
|
-
|
|
647
|
+
return self._websocket.iter_json()
|
|
648
|
+
|
|
649
|
+
async def is_connected(self) -> bool:
|
|
650
|
+
# NB(nikhil): This isn't a foolproof mechanism for detecting whether a websocket
|
|
651
|
+
# connection is actually alive, ping/pong messages are best suited for that. However,
|
|
652
|
+
# as a heuristic to determine if a message is safe to send, this can do a pretty good job.
|
|
653
|
+
return (
|
|
654
|
+
self._websocket.application_state == WebSocketState.CONNECTED
|
|
655
|
+
and self._websocket.client_state == WebSocketState.CONNECTED
|
|
656
|
+
)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from truss_train.definitions import (
|
|
2
2
|
AWSIAMDockerAuth,
|
|
3
|
+
BasetenCheckpoint,
|
|
3
4
|
CacheConfig,
|
|
4
5
|
CheckpointingConfig,
|
|
5
6
|
CheckpointList,
|
|
@@ -10,6 +11,7 @@ from truss_train.definitions import (
|
|
|
10
11
|
FullCheckpoint,
|
|
11
12
|
GCPServiceAccountJSONDockerAuth,
|
|
12
13
|
Image,
|
|
14
|
+
LoadCheckpointConfig,
|
|
13
15
|
LoRACheckpoint,
|
|
14
16
|
LoRADetails,
|
|
15
17
|
ModelWeightsFormat,
|
|
@@ -36,6 +38,8 @@ __all__ = [
|
|
|
36
38
|
"CacheConfig",
|
|
37
39
|
"AWSIAMDockerAuth",
|
|
38
40
|
"GCPServiceAccountJSONDockerAuth",
|
|
41
|
+
"LoadCheckpointConfig",
|
|
42
|
+
"BasetenCheckpoint",
|
|
39
43
|
"DockerAuth",
|
|
40
44
|
"Image",
|
|
41
45
|
]
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import enum
|
|
2
2
|
from abc import ABC
|
|
3
|
-
from typing import Dict, List, Optional, Union
|
|
3
|
+
from typing import Dict, List, Literal, Optional, Union
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from pydantic import field_validator, model_validator
|
|
7
7
|
|
|
8
|
-
from truss.base import custom_types, truss_config
|
|
8
|
+
from truss.base import constants, custom_types, truss_config
|
|
9
9
|
|
|
10
10
|
DEFAULT_LORA_RANK = 16
|
|
11
11
|
|
|
@@ -56,6 +56,50 @@ class Compute(custom_types.SafeModelNoExtra):
|
|
|
56
56
|
)
|
|
57
57
|
|
|
58
58
|
|
|
59
|
+
class _CheckpointBase(custom_types.SafeModelNoExtra):
|
|
60
|
+
typ: str
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class _BasetenLatestCheckpoint(_CheckpointBase):
|
|
64
|
+
job_id: Optional[str] = None
|
|
65
|
+
project_name: Optional[str] = None
|
|
66
|
+
typ: Literal["baseten_latest_checkpoint"] = "baseten_latest_checkpoint"
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class _BasetenNamedCheckpoint(_CheckpointBase):
|
|
70
|
+
checkpoint_name: str
|
|
71
|
+
job_id: Optional[str]
|
|
72
|
+
project_name: Optional[str]
|
|
73
|
+
typ: Literal["baseten_named_checkpoint"] = "baseten_named_checkpoint"
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class BasetenCheckpoint:
|
|
77
|
+
@staticmethod
|
|
78
|
+
def from_latest_checkpoint(
|
|
79
|
+
project_name: Optional[str] = None, job_id: Optional[str] = None
|
|
80
|
+
) -> _BasetenLatestCheckpoint:
|
|
81
|
+
return _BasetenLatestCheckpoint(project_name=project_name, job_id=job_id)
|
|
82
|
+
|
|
83
|
+
@classmethod
|
|
84
|
+
def from_named_checkpoint(
|
|
85
|
+
cls,
|
|
86
|
+
checkpoint_name: str,
|
|
87
|
+
project_name: Optional[str] = None,
|
|
88
|
+
job_id: Optional[str] = None,
|
|
89
|
+
) -> _BasetenNamedCheckpoint:
|
|
90
|
+
return _BasetenNamedCheckpoint(
|
|
91
|
+
checkpoint_name=checkpoint_name, project_name=project_name, job_id=job_id
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class LoadCheckpointConfig(custom_types.SafeModelNoExtra):
|
|
96
|
+
enabled: bool = False
|
|
97
|
+
checkpoints: List[Union[_BasetenLatestCheckpoint, _BasetenNamedCheckpoint]] = [
|
|
98
|
+
_BasetenLatestCheckpoint()
|
|
99
|
+
]
|
|
100
|
+
download_folder: str = constants.DEFAULT_TRAINING_CHECKPOINT_FOLDER
|
|
101
|
+
|
|
102
|
+
|
|
59
103
|
class CheckpointingConfig(custom_types.SafeModelNoExtra):
|
|
60
104
|
enabled: bool = False
|
|
61
105
|
checkpoint_path: Optional[str] = None
|
|
@@ -72,6 +116,7 @@ class Runtime(custom_types.SafeModelNoExtra):
|
|
|
72
116
|
environment_variables: Dict[str, Union[str, SecretReference]] = {}
|
|
73
117
|
enable_cache: Optional[bool] = None
|
|
74
118
|
checkpointing_config: CheckpointingConfig = CheckpointingConfig()
|
|
119
|
+
load_checkpoint_config: Optional[LoadCheckpointConfig] = None
|
|
75
120
|
cache_config: Optional[CacheConfig] = None
|
|
76
121
|
|
|
77
122
|
@model_validator(mode="before")
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from truss_train import (
|
|
2
|
+
BasetenCheckpoint,
|
|
3
|
+
CheckpointingConfig,
|
|
4
|
+
Image,
|
|
5
|
+
LoadCheckpointConfig,
|
|
6
|
+
Runtime,
|
|
7
|
+
TrainingJob,
|
|
8
|
+
TrainingProject,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
load_checkpoint_config = LoadCheckpointConfig(enabled=True)
|
|
12
|
+
|
|
13
|
+
load_from_most_recent_checkpoint = BasetenCheckpoint.from_latest_checkpoint()
|
|
14
|
+
|
|
15
|
+
load_most_recent_checkpoint = BasetenCheckpoint.from_latest_checkpoint(
|
|
16
|
+
job_id="lqz4pw4", # Optional
|
|
17
|
+
project_name="first-project", # Optional
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
load_from_named_checkpoint = BasetenCheckpoint.from_named_checkpoint(
|
|
21
|
+
checkpoint_name="checkpoint-24",
|
|
22
|
+
project_name="first-project", # Optional
|
|
23
|
+
job_id="lqz4pw4", # Optional
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
load_checkpoint_config = LoadCheckpointConfig(
|
|
27
|
+
enabled=True,
|
|
28
|
+
download_folder="/tmp/custom_location", # default is None -> default path set by server-side
|
|
29
|
+
checkpoints=[load_from_most_recent_checkpoint, load_from_named_checkpoint],
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
checkpointing_config = CheckpointingConfig(enabled=True)
|
|
33
|
+
|
|
34
|
+
job = TrainingJob(
|
|
35
|
+
image=Image(base_image="ghcr.io/baseten-ai/truss-train-base:latest"),
|
|
36
|
+
runtime=Runtime(
|
|
37
|
+
checkpointing_config=checkpointing_config,
|
|
38
|
+
load_checkpoint_config=load_checkpoint_config,
|
|
39
|
+
),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
project = TrainingProject(name="new-project", job=job)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/darwin-x64/README.md
RENAMED
|
File without changes
|
{truss-0.11.1rc15 → truss-0.11.2}/baseten-performance-client/node_bindings/npm/freebsd-x64/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_checkpoints_helpers.py
RENAMED
|
File without changes
|
{truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_full_checkpoints.py
RENAMED
|
File without changes
|
{truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_lora_checkpoints.py
RENAMED
|
File without changes
|
{truss-0.11.1rc15 → truss-0.11.2}/truss/cli/train/deploy_checkpoints/deploy_whisper_checkpoints.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|