truss 0.11.7__tar.gz → 0.11.8__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.

Files changed (411) hide show
  1. {truss-0.11.7 → truss-0.11.8}/PKG-INFO +1 -1
  2. {truss-0.11.7 → truss-0.11.8}/pyproject.toml +1 -1
  3. {truss-0.11.7 → truss-0.11.8}/truss/base/trt_llm_config.py +9 -2
  4. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/core.py +8 -5
  5. {truss-0.11.7 → truss-0.11.8}/truss/cli/train_commands.py +63 -8
  6. {truss-0.11.7 → truss-0.11.8}/truss/templates/base.Dockerfile.jinja +5 -3
  7. {truss-0.11.7 → truss-0.11.8}/truss/templates/docker_server/proxy.conf.jinja +13 -0
  8. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/requirements.txt +1 -1
  9. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/server.Dockerfile +2 -1
  10. {truss-0.11.7 → truss-0.11.8}/truss-transfer/README.md +56 -7
  11. {truss-0.11.7 → truss-0.11.8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  12. {truss-0.11.7 → truss-0.11.8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  13. {truss-0.11.7 → truss-0.11.8}/.github/pull_request_template.md +0 -0
  14. {truss-0.11.7 → truss-0.11.8}/.gitignore +0 -0
  15. {truss-0.11.7 → truss-0.11.8}/CODE_OF_CONDUCT.md +0 -0
  16. {truss-0.11.7 → truss-0.11.8}/CONTRIBUTING.md +0 -0
  17. {truss-0.11.7 → truss-0.11.8}/LICENSE +0 -0
  18. {truss-0.11.7 → truss-0.11.8}/README.md +0 -0
  19. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/README.md +0 -0
  20. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/README.md +0 -0
  21. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/android-arm-eabi/README.md +0 -0
  22. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/android-arm64/README.md +0 -0
  23. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/darwin-arm64/README.md +0 -0
  24. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/darwin-universal/README.md +0 -0
  25. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/darwin-x64/README.md +0 -0
  26. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/freebsd-x64/README.md +0 -0
  27. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/linux-arm-gnueabihf/README.md +0 -0
  28. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/linux-arm-musleabihf/README.md +0 -0
  29. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/linux-arm64-gnu/README.md +0 -0
  30. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/linux-arm64-musl/README.md +0 -0
  31. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/linux-riscv64-gnu/README.md +0 -0
  32. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/linux-x64-gnu/README.md +0 -0
  33. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/linux-x64-musl/README.md +0 -0
  34. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/win32-arm64-msvc/README.md +0 -0
  35. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/win32-ia32-msvc/README.md +0 -0
  36. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/node_bindings/npm/win32-x64-msvc/README.md +0 -0
  37. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/python_bindings/README.md +0 -0
  38. {truss-0.11.7 → truss-0.11.8}/baseten-performance-client/scripts/README_nodejs.md +0 -0
  39. {truss-0.11.7 → truss-0.11.8}/context_builder.Dockerfile +0 -0
  40. {truss-0.11.7 → truss-0.11.8}/docs/README.md +0 -0
  41. {truss-0.11.7 → truss-0.11.8}/docs/chains/doc_gen/README.md +0 -0
  42. {truss-0.11.7 → truss-0.11.8}/docs/contribute/base-images.md +0 -0
  43. {truss-0.11.7 → truss-0.11.8}/docs/contribute/release.md +0 -0
  44. {truss-0.11.7 → truss-0.11.8}/truss/__init__.py +0 -0
  45. {truss-0.11.7 → truss-0.11.8}/truss/api/__init__.py +0 -0
  46. {truss-0.11.7 → truss-0.11.8}/truss/api/definitions.py +0 -0
  47. {truss-0.11.7 → truss-0.11.8}/truss/base/__init__.py +0 -0
  48. {truss-0.11.7 → truss-0.11.8}/truss/base/constants.py +0 -0
  49. {truss-0.11.7 → truss-0.11.8}/truss/base/custom_types.py +0 -0
  50. {truss-0.11.7 → truss-0.11.8}/truss/base/errors.py +0 -0
  51. {truss-0.11.7 → truss-0.11.8}/truss/base/truss_config.py +0 -0
  52. {truss-0.11.7 → truss-0.11.8}/truss/base/truss_spec.py +0 -0
  53. {truss-0.11.7 → truss-0.11.8}/truss/cli/chains_commands.py +0 -0
  54. {truss-0.11.7 → truss-0.11.8}/truss/cli/cli.py +0 -0
  55. {truss-0.11.7 → truss-0.11.8}/truss/cli/logs/base_watcher.py +0 -0
  56. {truss-0.11.7 → truss-0.11.8}/truss/cli/logs/model_log_watcher.py +0 -0
  57. {truss-0.11.7 → truss-0.11.8}/truss/cli/logs/training_log_watcher.py +0 -0
  58. {truss-0.11.7 → truss-0.11.8}/truss/cli/logs/utils.py +0 -0
  59. {truss-0.11.7 → truss-0.11.8}/truss/cli/remote_cli.py +0 -0
  60. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/common.py +0 -0
  61. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_checkpoints/__init__.py +0 -0
  62. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_checkpoints/deploy_checkpoints.py +0 -0
  63. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_checkpoints/deploy_checkpoints_helpers.py +0 -0
  64. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_checkpoints/deploy_full_checkpoints.py +0 -0
  65. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_checkpoints/deploy_lora_checkpoints.py +0 -0
  66. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_checkpoints/deploy_whisper_checkpoints.py +0 -0
  67. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_from_checkpoint_config.yml +0 -0
  68. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/deploy_from_checkpoint_config_whisper.yml +0 -0
  69. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/metrics_watcher.py +0 -0
  70. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/poller.py +0 -0
  71. {truss-0.11.7 → truss-0.11.8}/truss/cli/train/types.py +0 -0
  72. {truss-0.11.7 → truss-0.11.8}/truss/cli/utils/common.py +0 -0
  73. {truss-0.11.7 → truss-0.11.8}/truss/cli/utils/output.py +0 -0
  74. {truss-0.11.7 → truss-0.11.8}/truss/cli/utils/self_upgrade.py +0 -0
  75. {truss-0.11.7 → truss-0.11.8}/truss/contexts/docker_build_setup.py +0 -0
  76. {truss-0.11.7 → truss-0.11.8}/truss/contexts/image_builder/cache_warmer.py +0 -0
  77. {truss-0.11.7 → truss-0.11.8}/truss/contexts/image_builder/image_builder.py +0 -0
  78. {truss-0.11.7 → truss-0.11.8}/truss/contexts/image_builder/serving_image_builder.py +0 -0
  79. {truss-0.11.7 → truss-0.11.8}/truss/contexts/image_builder/util.py +0 -0
  80. {truss-0.11.7 → truss-0.11.8}/truss/contexts/local_loader/docker_build_emulator.py +0 -0
  81. {truss-0.11.7 → truss-0.11.8}/truss/contexts/local_loader/dockerfile_parser.py +0 -0
  82. {truss-0.11.7 → truss-0.11.8}/truss/contexts/local_loader/load_model_local.py +0 -0
  83. {truss-0.11.7 → truss-0.11.8}/truss/contexts/local_loader/truss_module_loader.py +0 -0
  84. {truss-0.11.7 → truss-0.11.8}/truss/contexts/local_loader/utils.py +0 -0
  85. {truss-0.11.7 → truss-0.11.8}/truss/contexts/truss_context.py +0 -0
  86. {truss-0.11.7 → truss-0.11.8}/truss/local/local_config.py +0 -0
  87. {truss-0.11.7 → truss-0.11.8}/truss/local/local_config_handler.py +0 -0
  88. {truss-0.11.7 → truss-0.11.8}/truss/patch/__init__.py +0 -0
  89. {truss-0.11.7 → truss-0.11.8}/truss/patch/hash.py +0 -0
  90. {truss-0.11.7 → truss-0.11.8}/truss/patch/signature.py +0 -0
  91. {truss-0.11.7 → truss-0.11.8}/truss/patch/truss_dir_patch_applier.py +0 -0
  92. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/__init__.py +0 -0
  93. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/api.py +0 -0
  94. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/auth.py +0 -0
  95. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/core.py +0 -0
  96. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/custom_types.py +0 -0
  97. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/error.py +0 -0
  98. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/remote.py +0 -0
  99. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/rest_client.py +0 -0
  100. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/service.py +0 -0
  101. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/utils/status.py +0 -0
  102. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/utils/tar.py +0 -0
  103. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/utils/time.py +0 -0
  104. {truss-0.11.7 → truss-0.11.8}/truss/remote/baseten/utils/transfer.py +0 -0
  105. {truss-0.11.7 → truss-0.11.8}/truss/remote/remote_factory.py +0 -0
  106. {truss-0.11.7 → truss-0.11.8}/truss/remote/truss_remote.py +0 -0
  107. {truss-0.11.7 → truss-0.11.8}/truss/templates/README.md.jinja +0 -0
  108. {truss-0.11.7 → truss-0.11.8}/truss/templates/__init__.py +0 -0
  109. {truss-0.11.7 → truss-0.11.8}/truss/templates/cache.Dockerfile.jinja +0 -0
  110. {truss-0.11.7 → truss-0.11.8}/truss/templates/cache_requirements.txt +0 -0
  111. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/application.py +0 -0
  112. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/endpoints.py +0 -0
  113. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/context_managers.py +0 -0
  114. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/custom_types.py +0 -0
  115. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/errors.py +0 -0
  116. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/inference_server_controller.py +0 -0
  117. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/inference_server_process_controller.py +0 -0
  118. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/inference_server_starter.py +0 -0
  119. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/truss_patch/__init__.py +0 -0
  120. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/truss_patch/model_code_patch_applier.py +0 -0
  121. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/truss_patch/model_container_patch_applier.py +0 -0
  122. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/truss_patch/requirement_name_identifier.py +0 -0
  123. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/helpers/truss_patch/system_packages.py +0 -0
  124. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/control/server.py +0 -0
  125. {truss-0.11.7 → truss-0.11.8}/truss/templates/control/requirements.txt +0 -0
  126. {truss-0.11.7 → truss-0.11.8}/truss/templates/copy_cache_files.Dockerfile.jinja +0 -0
  127. {truss-0.11.7 → truss-0.11.8}/truss/templates/custom/examples.yaml +0 -0
  128. {truss-0.11.7 → truss-0.11.8}/truss/templates/custom/model/__init__.py +0 -0
  129. {truss-0.11.7 → truss-0.11.8}/truss/templates/custom/model/model.py +0 -0
  130. {truss-0.11.7 → truss-0.11.8}/truss/templates/custom_python_dx/my_model.py +0 -0
  131. {truss-0.11.7 → truss-0.11.8}/truss/templates/docker_server/supervisord.conf.jinja +0 -0
  132. {truss-0.11.7 → truss-0.11.8}/truss/templates/docker_server_requirements.txt +0 -0
  133. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/__init__.py +0 -0
  134. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/common/__init__.py +0 -0
  135. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/common/errors.py +0 -0
  136. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/common/patches/whisper/patch.py +0 -0
  137. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/common/patches.py +0 -0
  138. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/common/retry.py +0 -0
  139. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/common/schema.py +0 -0
  140. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/common/tracing.py +0 -0
  141. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/main.py +0 -0
  142. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/model_wrapper.py +0 -0
  143. {truss-0.11.7 → truss-0.11.8}/truss/templates/server/truss_server.py +0 -0
  144. {truss-0.11.7 → truss-0.11.8}/truss/templates/server.Dockerfile.jinja +0 -0
  145. {truss-0.11.7 → truss-0.11.8}/truss/templates/shared/__init__.py +0 -0
  146. {truss-0.11.7 → truss-0.11.8}/truss/templates/shared/dynamic_config_resolver.py +0 -0
  147. {truss-0.11.7 → truss-0.11.8}/truss/templates/shared/lazy_data_resolver.py +0 -0
  148. {truss-0.11.7 → truss-0.11.8}/truss/templates/shared/log_config.py +0 -0
  149. {truss-0.11.7 → truss-0.11.8}/truss/templates/shared/secrets_resolver.py +0 -0
  150. {truss-0.11.7 → truss-0.11.8}/truss/templates/shared/serialization.py +0 -0
  151. {truss-0.11.7 → truss-0.11.8}/truss/templates/shared/util.py +0 -0
  152. {truss-0.11.7 → truss-0.11.8}/truss/templates/train/config.py +0 -0
  153. {truss-0.11.7 → truss-0.11.8}/truss/templates/train/run.sh +0 -0
  154. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/model/model.py +0 -0
  155. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/sigint_patch.py +0 -0
  156. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/whisper_trt/__init__.py +0 -0
  157. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/whisper_trt/assets.py +0 -0
  158. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/whisper_trt/batching.py +0 -0
  159. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/whisper_trt/custom_types.py +0 -0
  160. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/whisper_trt/modeling.py +0 -0
  161. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/whisper_trt/tokenizer.py +0 -0
  162. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-audio/packages/whisper_trt/utils.py +0 -0
  163. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-briton/README.md +0 -0
  164. {truss-0.11.7 → truss-0.11.8}/truss/templates/trtllm-briton/src/extension.py +0 -0
  165. {truss-0.11.7 → truss-0.11.8}/truss/tests/__init__.py +0 -0
  166. {truss-0.11.7 → truss-0.11.8}/truss/tests/cli/test_cli.py +0 -0
  167. {truss-0.11.7 → truss-0.11.8}/truss/tests/cli/train/resources/test_deploy_from_checkpoint_config.yml +0 -0
  168. {truss-0.11.7 → truss-0.11.8}/truss/tests/cli/train/test_cache_view.py +0 -0
  169. {truss-0.11.7 → truss-0.11.8}/truss/tests/cli/train/test_deploy_checkpoints.py +0 -0
  170. {truss-0.11.7 → truss-0.11.8}/truss/tests/cli/train/test_train_cli_core.py +0 -0
  171. {truss-0.11.7 → truss-0.11.8}/truss/tests/cli/train/test_train_init.py +0 -0
  172. {truss-0.11.7 → truss-0.11.8}/truss/tests/conftest.py +0 -0
  173. {truss-0.11.7 → truss-0.11.8}/truss/tests/contexts/image_builder/test_serving_image_builder.py +0 -0
  174. {truss-0.11.7 → truss-0.11.8}/truss/tests/contexts/local_loader/test_load_local.py +0 -0
  175. {truss-0.11.7 → truss-0.11.8}/truss/tests/contexts/local_loader/test_truss_module_finder.py +0 -0
  176. {truss-0.11.7 → truss-0.11.8}/truss/tests/helpers.py +0 -0
  177. {truss-0.11.7 → truss-0.11.8}/truss/tests/local/test_local_config_handler.py +0 -0
  178. {truss-0.11.7 → truss-0.11.8}/truss/tests/patch/test_calc_patch.py +0 -0
  179. {truss-0.11.7 → truss-0.11.8}/truss/tests/patch/test_dir_signature.py +0 -0
  180. {truss-0.11.7 → truss-0.11.8}/truss/tests/patch/test_hash.py +0 -0
  181. {truss-0.11.7 → truss-0.11.8}/truss/tests/patch/test_signature.py +0 -0
  182. {truss-0.11.7 → truss-0.11.8}/truss/tests/patch/test_truss_dir_patch_applier.py +0 -0
  183. {truss-0.11.7 → truss-0.11.8}/truss/tests/patch/test_types.py +0 -0
  184. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/baseten/conftest.py +0 -0
  185. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/baseten/test_api.py +0 -0
  186. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/baseten/test_auth.py +0 -0
  187. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/baseten/test_core.py +0 -0
  188. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/baseten/test_remote.py +0 -0
  189. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/baseten/test_service.py +0 -0
  190. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/test_remote_factory.py +0 -0
  191. {truss-0.11.7 → truss-0.11.8}/truss/tests/remote/test_truss_remote.py +0 -0
  192. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/control/control/helpers/test_context_managers.py +0 -0
  193. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/control/control/helpers/test_model_container_patch_applier.py +0 -0
  194. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/control/control/helpers/test_requirement_name_identifier.py +0 -0
  195. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/control/control/test_endpoints.py +0 -0
  196. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/control/control/test_server.py +0 -0
  197. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/control/control/test_server_integration.py +0 -0
  198. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/core/server/test_dynamic_config_resolver.py +0 -0
  199. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/core/server/test_lazy_data_resolver_v2.py +0 -0
  200. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/core/server/test_secrets_resolver.py +0 -0
  201. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/server/common/test_retry.py +0 -0
  202. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/server/test_model_wrapper.py +0 -0
  203. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/server/test_schema.py +0 -0
  204. {truss-0.11.7 → truss-0.11.8}/truss/tests/templates/server/test_truss_server.py +0 -0
  205. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_build.py +0 -0
  206. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_config.py +0 -0
  207. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_context_builder_image.py +0 -0
  208. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_control_truss_patching.py +0 -0
  209. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_custom_server.py +0 -0
  210. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/__init__.py +0 -0
  211. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/annotated_types_truss/__init__.py +0 -0
  212. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/annotated_types_truss/config.yaml +0 -0
  213. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/annotated_types_truss/model/__init__.py +0 -0
  214. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/annotated_types_truss/model/model.py +0 -0
  215. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/auto-mpg.data +0 -0
  216. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/context_builder_image_test/Dockerfile +0 -0
  217. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/context_builder_image_test/__init__.py +0 -0
  218. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/context_builder_image_test/test.py +0 -0
  219. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/gcs_fix/__init__.py +0 -0
  220. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/gcs_fix/config.yaml +0 -0
  221. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/gcs_fix/model/__init__.py +0 -0
  222. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/gcs_fix/model/model.py +0 -0
  223. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/happy.ipynb +0 -0
  224. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/model_load_failure_test/__init__.py +0 -0
  225. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/model_load_failure_test/config.yaml +0 -0
  226. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/model_load_failure_test/model/__init__.py +0 -0
  227. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/model_load_failure_test/model/model.py +0 -0
  228. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/patch_ping_test_server/__init__.py +0 -0
  229. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/patch_ping_test_server/app.py +0 -0
  230. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/pima-indians-diabetes.csv +0 -0
  231. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/readme_int_example.md +0 -0
  232. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/readme_no_example.md +0 -0
  233. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/readme_str_example.md +0 -0
  234. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/server_conformance_test_truss/__init__.py +0 -0
  235. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/server_conformance_test_truss/config.yaml +0 -0
  236. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/server_conformance_test_truss/model/__init__.py +0 -0
  237. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/server_conformance_test_truss/model/model.py +0 -0
  238. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_async_truss/__init__.py +0 -0
  239. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_async_truss/config.yaml +0 -0
  240. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_async_truss/model/__init__.py +0 -0
  241. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_async_truss/model/model.py +0 -0
  242. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_basic_truss/__init__.py +0 -0
  243. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_basic_truss/config.yaml +0 -0
  244. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_basic_truss/model/__init__.py +0 -0
  245. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_basic_truss/model/model.py +0 -0
  246. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands/__init__.py +0 -0
  247. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands/config.yaml +0 -0
  248. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands/model/__init__.py +0 -0
  249. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands/model/model.py +0 -0
  250. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands_failure/__init__.py +0 -0
  251. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands_failure/config.yaml +0 -0
  252. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands_failure/model/__init__.py +0 -0
  253. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_build_commands_failure/model/model.py +0 -0
  254. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_concurrency_truss/__init__.py +0 -0
  255. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_concurrency_truss/config.yaml +0 -0
  256. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_concurrency_truss/model/__init__.py +0 -0
  257. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_concurrency_truss/model/model.py +0 -0
  258. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/__init__.py +0 -0
  259. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/config.yaml +0 -0
  260. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/test_docker_image/Dockerfile +0 -0
  261. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/test_docker_image/README.md +0 -0
  262. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/test_docker_image/VERSION +0 -0
  263. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/test_docker_image/__init__.py +0 -0
  264. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/test_docker_image/app.py +0 -0
  265. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_custom_server_truss/test_docker_image/build_upload_new_image.sh +0 -0
  266. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_env_vars/config.yaml +0 -0
  267. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_go_custom_server_truss/config.yaml +0 -0
  268. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_go_custom_server_truss/docker/Dockerfile +0 -0
  269. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_go_custom_server_truss/docker/README.md +0 -0
  270. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_go_custom_server_truss/docker/VERSION +0 -0
  271. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_go_custom_server_truss/docker/build_upload_new_image.sh +0 -0
  272. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_go_custom_server_truss/docker/main.go +0 -0
  273. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_openai/__init__.py +0 -0
  274. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_openai/config.yaml +0 -0
  275. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_openai/model/__init__.py +0 -0
  276. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_openai/model/model.py +0 -0
  277. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v1/__init__.py +0 -0
  278. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v1/config.yaml +0 -0
  279. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v1/model/__init__.py +0 -0
  280. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v1/model/model.py +0 -0
  281. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v1/requirements.txt +0 -0
  282. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v2/__init__.py +0 -0
  283. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v2/config.yaml +0 -0
  284. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v2/model/__init__.py +0 -0
  285. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v2/model/model.py +0 -0
  286. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_pyantic_v2/requirements.txt +0 -0
  287. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_requirements_file_truss/__init__.py +0 -0
  288. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_requirements_file_truss/config.yaml +0 -0
  289. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_requirements_file_truss/model/__init__.py +0 -0
  290. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_requirements_file_truss/model/model.py +0 -0
  291. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_requirements_file_truss/requirements.txt +0 -0
  292. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_async_generator_truss/__init__.py +0 -0
  293. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_async_generator_truss/config.yaml +0 -0
  294. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_async_generator_truss/model/__init__.py +0 -0
  295. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_async_generator_truss/model/model.py +0 -0
  296. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_read_timeout/__init__.py +0 -0
  297. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_read_timeout/config.yaml +0 -0
  298. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_read_timeout/model/__init__.py +0 -0
  299. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_read_timeout/model/model.py +0 -0
  300. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss/__init__.py +0 -0
  301. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss/config.yaml +0 -0
  302. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss/model/__init__.py +0 -0
  303. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss/model/model.py +0 -0
  304. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_error/__init__.py +0 -0
  305. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_error/config.yaml +0 -0
  306. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_error/model/__init__.py +0 -0
  307. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_error/model/model.py +0 -0
  308. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_error/packages/__init__.py +0 -0
  309. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_error/packages/helpers_1.py +0 -0
  310. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_error/packages/helpers_2.py +0 -0
  311. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_tracing/__init__.py +0 -0
  312. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_tracing/config.yaml +0 -0
  313. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_tracing/model/__init__.py +0 -0
  314. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_streaming_truss_with_tracing/model/model.py +0 -0
  315. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_trt_llm_truss/__init__.py +0 -0
  316. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_trt_llm_truss/config.yaml +0 -0
  317. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_trt_llm_truss/model/__init__.py +0 -0
  318. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_trt_llm_truss/model/model.py +0 -0
  319. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/__init__.py +0 -0
  320. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/config.yaml +0 -0
  321. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/examples.yaml +0 -0
  322. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/model/__init__.py +0 -0
  323. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/model/dummy +0 -0
  324. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/model/model.py +0 -0
  325. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/packages/__init__.py +0 -0
  326. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/packages/test_package/__init__.py +0 -0
  327. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss/packages/test_package/test.py +0 -0
  328. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v1/__init__.py +0 -0
  329. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v1/config.yaml +0 -0
  330. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v1/model/__init__.py +0 -0
  331. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v1/model/model.py +0 -0
  332. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v2/__init__.py +0 -0
  333. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v2/config.yaml +0 -0
  334. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v2/model/__init__.py +0 -0
  335. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_server_model_cache_v2/model/model.py +0 -0
  336. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_with_error/__init__.py +0 -0
  337. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_with_error/config.yaml +0 -0
  338. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_with_error/model/__init__.py +0 -0
  339. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_with_error/model/model.py +0 -0
  340. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_with_error/packages/__init__.py +0 -0
  341. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_with_error/packages/helpers_1.py +0 -0
  342. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_data/test_truss_with_error/packages/helpers_2.py +0 -0
  343. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_docker.py +0 -0
  344. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_model_inference.py +0 -0
  345. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_model_schema.py +0 -0
  346. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_testing_utilities_for_other_tests.py +0 -0
  347. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_truss_gatherer.py +0 -0
  348. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_truss_handle.py +0 -0
  349. {truss-0.11.7 → truss-0.11.8}/truss/tests/test_util.py +0 -0
  350. {truss-0.11.7 → truss-0.11.8}/truss/tests/trt_llm/test_trt_llm_config.py +0 -0
  351. {truss-0.11.7 → truss-0.11.8}/truss/tests/trt_llm/test_validation.py +0 -0
  352. {truss-0.11.7 → truss-0.11.8}/truss/tests/util/test_config_checks.py +0 -0
  353. {truss-0.11.7 → truss-0.11.8}/truss/tests/util/test_env_vars.py +0 -0
  354. {truss-0.11.7 → truss-0.11.8}/truss/tests/util/test_path.py +0 -0
  355. {truss-0.11.7 → truss-0.11.8}/truss/trt_llm/config_checks.py +0 -0
  356. {truss-0.11.7 → truss-0.11.8}/truss/trt_llm/validation.py +0 -0
  357. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/__init__.py +0 -0
  358. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/build.py +0 -0
  359. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/decorators.py +0 -0
  360. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/__init__.py +0 -0
  361. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/calc_patch.py +0 -0
  362. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/constants.py +0 -0
  363. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/custom_types.py +0 -0
  364. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/dir_signature.py +0 -0
  365. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/hash.py +0 -0
  366. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/local_truss_patch_applier.py +0 -0
  367. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/signature.py +0 -0
  368. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/patch/truss_dir_patch_applier.py +0 -0
  369. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/readme_generator.py +0 -0
  370. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/truss_gatherer.py +0 -0
  371. {truss-0.11.7 → truss-0.11.8}/truss/truss_handle/truss_handle.py +0 -0
  372. {truss-0.11.7 → truss-0.11.8}/truss/util/.truss_ignore +0 -0
  373. {truss-0.11.7 → truss-0.11.8}/truss/util/docker.py +0 -0
  374. {truss-0.11.7 → truss-0.11.8}/truss/util/download.py +0 -0
  375. {truss-0.11.7 → truss-0.11.8}/truss/util/env_vars.py +0 -0
  376. {truss-0.11.7 → truss-0.11.8}/truss/util/gpu.py +0 -0
  377. {truss-0.11.7 → truss-0.11.8}/truss/util/jinja.py +0 -0
  378. {truss-0.11.7 → truss-0.11.8}/truss/util/log_utils.py +0 -0
  379. {truss-0.11.7 → truss-0.11.8}/truss/util/notebook.py +0 -0
  380. {truss-0.11.7 → truss-0.11.8}/truss/util/path.py +0 -0
  381. {truss-0.11.7 → truss-0.11.8}/truss/util/requirements.py +0 -0
  382. {truss-0.11.7 → truss-0.11.8}/truss/util/user_config.py +0 -0
  383. {truss-0.11.7 → truss-0.11.8}/truss-chains/examples/README.md +0 -0
  384. {truss-0.11.7 → truss-0.11.8}/truss-chains/examples/audio-transcription/README.md +0 -0
  385. {truss-0.11.7 → truss-0.11.8}/truss-chains/examples/rag/README.md +0 -0
  386. {truss-0.11.7 → truss-0.11.8}/truss-chains/tests/itest_chain/requirements.txt +0 -0
  387. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/__init__.py +0 -0
  388. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/deployment/__init__.py +0 -0
  389. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/deployment/code_gen.py +0 -0
  390. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/deployment/deployment_client.py +0 -0
  391. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/framework.py +0 -0
  392. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/private_types.py +0 -0
  393. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/public_api.py +0 -0
  394. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/public_types.py +0 -0
  395. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/py.typed +0 -0
  396. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/pydantic_numpy.py +0 -0
  397. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/reference_code/reference_chainlet.py +0 -0
  398. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/reference_code/reference_model.py +0 -0
  399. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/remote_chainlet/__init__.py +0 -0
  400. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/remote_chainlet/model_skeleton.py +0 -0
  401. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/remote_chainlet/stub.py +0 -0
  402. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/remote_chainlet/utils.py +0 -0
  403. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/streaming.py +0 -0
  404. {truss-0.11.7 → truss-0.11.8}/truss-chains/truss_chains/utils.py +0 -0
  405. {truss-0.11.7 → truss-0.11.8}/truss-train/truss_train/__init__.py +0 -0
  406. {truss-0.11.7 → truss-0.11.8}/truss-train/truss_train/definitions.py +0 -0
  407. {truss-0.11.7 → truss-0.11.8}/truss-train/truss_train/deployment.py +0 -0
  408. {truss-0.11.7 → truss-0.11.8}/truss-train/truss_train/loader.py +0 -0
  409. {truss-0.11.7 → truss-0.11.8}/truss-train/truss_train/public_api.py +0 -0
  410. {truss-0.11.7 → truss-0.11.8}/truss-train/truss_train/restore_from_checkpoint.py +0 -0
  411. {truss-0.11.7 → truss-0.11.8}/truss-transfer/tests/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truss
3
- Version: 0.11.7
3
+ Version: 0.11.8
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "truss"
3
- version = "0.11.7"
3
+ version = "0.11.8"
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" },
@@ -329,9 +329,16 @@ pip install truss==0.10.8
329
329
  raise ValueError("Using fp8 context fmha requires paged context fmha")
330
330
  if (
331
331
  self.plugin_configuration.use_fp8_context_fmha
332
- and not self.quantization_type == TrussTRTLLMQuantizationType.FP8_KV
332
+ and self.quantization_type
333
+ not in (
334
+ TrussTRTLLMQuantizationType.FP8_KV,
335
+ TrussTRTLLMQuantizationType.FP4_KV,
336
+ )
333
337
  ):
334
- raise ValueError("Using fp8 context fmha requires fp8 kv cache dtype")
338
+ raise ValueError(
339
+ "Using fp8 context fmha requires fp8 kv, or fp4 with kv cache dtype"
340
+ )
341
+
335
342
  return self
336
343
 
337
344
  def _validate_speculator_config(self):
@@ -156,7 +156,7 @@ def display_training_projects(projects: list[dict], remote_url: str) -> None:
156
156
  latest_job = project.get("latest_job") or {}
157
157
  if latest_job_id := latest_job.get("id", ""):
158
158
  latest_job_link = cli_common.format_link(
159
- status_page_url(remote_url, latest_job_id), "link"
159
+ status_page_url(remote_url, project["id"], latest_job_id), "link"
160
160
  )
161
161
  else:
162
162
  latest_job_link = ""
@@ -305,8 +305,11 @@ def display_training_job(
305
305
  table.add_row("Created", cli_common.format_localized_time(job["created_at"]))
306
306
  table.add_row("Last Modified", cli_common.format_localized_time(job["updated_at"]))
307
307
  table.add_row(
308
- "Status Page",
309
- cli_common.format_link(status_page_url(remote_url, job["id"]), "link"),
308
+ "Job Page",
309
+ cli_common.format_link(
310
+ status_page_url(remote_url, job["training_project"]["id"], job["id"]),
311
+ "link",
312
+ ),
310
313
  )
311
314
 
312
315
  # Add error message if present
@@ -417,8 +420,8 @@ def download_checkpoint_artifacts(
417
420
  return urls_file
418
421
 
419
422
 
420
- def status_page_url(remote_url: str, training_job_id: str) -> str:
421
- return f"{remote_url}/training/jobs/{training_job_id}"
423
+ def status_page_url(remote_url: str, project_id: str, training_job_id: str) -> str:
424
+ return f"{remote_url}/training/{project_id}/logs/{training_job_id}"
422
425
 
423
426
 
424
427
  def _get_all_train_init_example_options(
@@ -41,13 +41,14 @@ truss_cli.add_command(train)
41
41
 
42
42
  def _print_training_job_success_message(
43
43
  job_id: str,
44
+ project_id: str,
44
45
  project_name: str,
45
- job_object: TrainingJob,
46
+ job_object: Optional[TrainingJob],
46
47
  remote_provider: BasetenRemote,
47
48
  ) -> None:
48
49
  """Print success message and helpful commands for a training job."""
49
50
  console.print("✨ Training job successfully created!", style="green")
50
- should_print_cache_summary = (
51
+ should_print_cache_summary = job_object and (
51
52
  job_object.runtime.enable_cache
52
53
  or job_object.runtime.cache_config
53
54
  and job_object.runtime.cache_config.enabled
@@ -64,7 +65,7 @@ def _print_training_job_success_message(
64
65
  f"🔍 View metrics for your job via "
65
66
  f"[cyan]'truss train metrics --job-id {job_id}'[/cyan]\n"
66
67
  f"{cache_summary_snippet}"
67
- f"🌐 Status page: {common.format_link(core.status_page_url(remote_provider.remote_url, job_id))}"
68
+ f"🌐 View job in the UI: {common.format_link(core.status_page_url(remote_provider.remote_url, project_id, job_id))}"
68
69
  )
69
70
 
70
71
 
@@ -80,8 +81,13 @@ def _handle_post_create_logic(
80
81
  style="green",
81
82
  )
82
83
  else:
84
+ # recreate currently doesn't pass back a job object.
83
85
  _print_training_job_success_message(
84
- job_id, project_name, job_resp["job_object"], remote_provider
86
+ job_id,
87
+ project_id,
88
+ project_name,
89
+ job_resp.get("job_object"),
90
+ remote_provider,
85
91
  )
86
92
 
87
93
  if tail:
@@ -156,11 +162,16 @@ def recreate_training_job(job_id: Optional[str], remote: Optional[str], tail: bo
156
162
  @train.command(name="logs")
157
163
  @click.option("--remote", type=str, required=False, help="Remote to use")
158
164
  @click.option("--project-id", type=str, required=False, help="Project ID.")
165
+ @click.option("--project", type=str, required=False, help="Project name or project id.")
159
166
  @click.option("--job-id", type=str, required=False, help="Job ID.")
160
167
  @click.option("--tail", is_flag=True, help="Tail for ongoing logs.")
161
168
  @common.common_options()
162
169
  def get_job_logs(
163
- remote: Optional[str], project_id: Optional[str], job_id: Optional[str], tail: bool
170
+ remote: Optional[str],
171
+ project_id: Optional[str],
172
+ project: Optional[str],
173
+ job_id: Optional[str],
174
+ tail: bool,
164
175
  ):
165
176
  """Fetch logs for a training job"""
166
177
 
@@ -170,6 +181,10 @@ def get_job_logs(
170
181
  remote_provider: BasetenRemote = cast(
171
182
  BasetenRemote, RemoteFactory.create(remote=remote)
172
183
  )
184
+ project_id = _maybe_resolve_project_id_from_id_or_name(
185
+ remote_provider, project_id=project_id, project=project
186
+ )
187
+
173
188
  project_id, job_id = train_common.get_most_recent_job(
174
189
  remote_provider, project_id, job_id
175
190
  )
@@ -188,12 +203,17 @@ def get_job_logs(
188
203
 
189
204
  @train.command(name="stop")
190
205
  @click.option("--project-id", type=str, required=False, help="Project ID.")
206
+ @click.option("--project", type=str, required=False, help="Project name or project id.")
191
207
  @click.option("--job-id", type=str, required=False, help="Job ID.")
192
208
  @click.option("--all", is_flag=True, help="Stop all running jobs.")
193
209
  @click.option("--remote", type=str, required=False, help="Remote to use")
194
210
  @common.common_options()
195
211
  def stop_job(
196
- project_id: Optional[str], job_id: Optional[str], all: bool, remote: Optional[str]
212
+ project_id: Optional[str],
213
+ project: Optional[str],
214
+ job_id: Optional[str],
215
+ all: bool,
216
+ remote: Optional[str],
197
217
  ):
198
218
  """Stop a training job"""
199
219
 
@@ -203,6 +223,9 @@ def stop_job(
203
223
  remote_provider: BasetenRemote = cast(
204
224
  BasetenRemote, RemoteFactory.create(remote=remote)
205
225
  )
226
+ project_id = _maybe_resolve_project_id_from_id_or_name(
227
+ remote_provider, project_id=project_id, project=project
228
+ )
206
229
  if all:
207
230
  train_cli.stop_all_jobs(remote_provider, project_id)
208
231
  else:
@@ -217,13 +240,17 @@ def stop_job(
217
240
  @click.option(
218
241
  "--project-id", type=str, required=False, help="View training jobs for a project."
219
242
  )
243
+ @click.option("--project", type=str, required=False, help="Project name or project id.")
220
244
  @click.option(
221
245
  "--job-id", type=str, required=False, help="View a specific training job."
222
246
  )
223
247
  @click.option("--remote", type=str, required=False, help="Remote to use")
224
248
  @common.common_options()
225
249
  def view_training(
226
- project_id: Optional[str], job_id: Optional[str], remote: Optional[str]
250
+ project_id: Optional[str],
251
+ project: Optional[str],
252
+ job_id: Optional[str],
253
+ remote: Optional[str],
227
254
  ):
228
255
  """List all training jobs for a project"""
229
256
 
@@ -233,16 +260,24 @@ def view_training(
233
260
  remote_provider: BasetenRemote = cast(
234
261
  BasetenRemote, RemoteFactory.create(remote=remote)
235
262
  )
263
+ project_id = _maybe_resolve_project_id_from_id_or_name(
264
+ remote_provider, project_id=project_id, project=project
265
+ )
266
+
236
267
  train_cli.view_training_details(remote_provider, project_id, job_id)
237
268
 
238
269
 
239
270
  @train.command(name="metrics")
240
271
  @click.option("--project-id", type=str, required=False, help="Project ID.")
272
+ @click.option("--project", type=str, required=False, help="Project name or project id.")
241
273
  @click.option("--job-id", type=str, required=False, help="Job ID.")
242
274
  @click.option("--remote", type=str, required=False, help="Remote to use")
243
275
  @common.common_options()
244
276
  def get_job_metrics(
245
- project_id: Optional[str], job_id: Optional[str], remote: Optional[str]
277
+ project_id: Optional[str],
278
+ project: Optional[str],
279
+ job_id: Optional[str],
280
+ remote: Optional[str],
246
281
  ):
247
282
  """Get metrics for a training job"""
248
283
 
@@ -252,11 +287,15 @@ def get_job_metrics(
252
287
  remote_provider: BasetenRemote = cast(
253
288
  BasetenRemote, RemoteFactory.create(remote=remote)
254
289
  )
290
+ project_id = _maybe_resolve_project_id_from_id_or_name(
291
+ remote_provider, project_id=project_id, project=project
292
+ )
255
293
  train_cli.view_training_job_metrics(remote_provider, project_id, job_id)
256
294
 
257
295
 
258
296
  @train.command(name="deploy_checkpoints")
259
297
  @click.option("--project-id", type=str, required=False, help="Project ID.")
298
+ @click.option("--project", type=str, required=False, help="Project name or project id.")
260
299
  @click.option("--job-id", type=str, required=False, help="Job ID.")
261
300
  @click.option(
262
301
  "--config",
@@ -271,6 +310,7 @@ def get_job_metrics(
271
310
  @common.common_options()
272
311
  def deploy_checkpoints(
273
312
  project_id: Optional[str],
313
+ project: Optional[str],
274
314
  job_id: Optional[str],
275
315
  config: Optional[str],
276
316
  remote: Optional[str],
@@ -286,6 +326,9 @@ def deploy_checkpoints(
286
326
  remote_provider: BasetenRemote = cast(
287
327
  BasetenRemote, RemoteFactory.create(remote=remote)
288
328
  )
329
+ project_id = _maybe_resolve_project_id_from_id_or_name(
330
+ remote_provider, project_id=project_id, project=project
331
+ )
289
332
  prepare_checkpoint_result = train_cli.prepare_checkpoint_deploy(
290
333
  remote_provider,
291
334
  train_cli.PrepareCheckpointArgs(
@@ -492,3 +535,15 @@ def view_cache_summary(project: str, remote: Optional[str], sort: str, order: st
492
535
  )
493
536
 
494
537
  train_cli.view_cache_summary_by_project(remote_provider, project, sort, order)
538
+
539
+
540
+ def _maybe_resolve_project_id_from_id_or_name(
541
+ remote_provider: BasetenRemote, project_id: Optional[str], project: Optional[str]
542
+ ) -> Optional[str]:
543
+ """resolve the project_id or project. `project` can be name or id"""
544
+ if project and project_id:
545
+ console.print("Both `project-id` and `project` provided. Using `project`.")
546
+ project_str = project or project_id
547
+ if not project_str:
548
+ return None
549
+ return train_cli.fetch_project_by_name_or_id(remote_provider, project_str)["id"]
@@ -33,7 +33,7 @@ RUN useradd -u {{ app_user_uid }} -ms /bin/bash {{ app_username }}
33
33
  ENV DEBIAN_FRONTEND=noninteractive
34
34
 
35
35
 
36
- {%- set UV_VERSION = "0.7.19" %}
36
+ {%- set UV_VERSION = "0.8.22" %}
37
37
  {#
38
38
  NB(nikhil): We use a semi-complex uv installation command across the board:
39
39
  - A generous UV_HTTP_TIMEOUT (5m) for packages that take a long time to install.
@@ -59,10 +59,12 @@ RUN {{ python_exec_path }} -c "import sys; \
59
59
  {% endblock %}
60
60
 
61
61
  {% block install_uv %}
62
- {# Install `uv` and `curl` if not already present in the image. #}
62
+ {# Install `uv` and `curl` if not already present in the image. We validate the expected location for `uv` at the very end
63
+ due to limitations with `pipefail` in Docker context. #}
63
64
  RUN if ! command -v uv >/dev/null 2>&1; then \
64
65
  command -v curl >/dev/null 2>&1 || (apt update && apt install -y curl) && \
65
- curl -LsSf --retry 5 --retry-delay 5 https://astral.sh/uv/{{ UV_VERSION }}/install.sh | sh; \
66
+ curl -LsSf --retry 5 --retry-delay 5 https://astral.sh/uv/{{ UV_VERSION }}/install.sh | sh && \
67
+ test -x ${HOME}/.local/bin/uv; \
66
68
  fi
67
69
  {# Add the user's local bin to the path, used by uv. #}
68
70
  ENV PATH=${PATH}:${HOME}/.local/bin
@@ -45,6 +45,19 @@ server {
45
45
  proxy_pass http://127.0.0.1:{{server_port}};
46
46
  }
47
47
 
48
+ location ~ ^/v1/websocket$ {
49
+ proxy_redirect off;
50
+ proxy_read_timeout 18030s;
51
+ proxy_http_version 1.1;
52
+
53
+ proxy_set_header Upgrade $upgrade_header;
54
+ proxy_set_header Connection $connection_header;
55
+
56
+ rewrite ^/v1/websocket$ {{server_endpoint}} break;
57
+
58
+ proxy_pass http://127.0.0.1:{{server_port}};
59
+ }
60
+
48
61
  # Forward all other paths
49
62
  location / {
50
63
  proxy_redirect off;
@@ -18,7 +18,7 @@ psutil>=5.9.4
18
18
  python-json-logger>=2.0.2
19
19
  pyyaml>=6.0.0
20
20
  requests>=2.31.0
21
- truss-transfer==0.0.31
21
+ truss-transfer==0.0.32
22
22
  # NB(nikhil): Uvicorn 0.36.0 has breaking changes for the event loop, so we pin to a lower version.
23
23
  uvicorn>=0.24.0,<0.36.0
24
24
  uvloop>=0.19.0
@@ -17,7 +17,8 @@ RUN /usr/local/bin/python3 -c "import sys; \
17
17
  || { echo "ERROR: Supplied base image does not have 3.8 <= python <= 3.13"; exit 1; }
18
18
  RUN if ! command -v uv >/dev/null 2>&1; then \
19
19
  command -v curl >/dev/null 2>&1 || (apt update && apt install -y curl) && \
20
- curl -LsSf --retry 5 --retry-delay 5 https://astral.sh/uv/0.7.19/install.sh | sh; \
20
+ curl -LsSf --retry 5 --retry-delay 5 https://astral.sh/uv/0.8.22/install.sh | sh && \
21
+ test -x ${HOME}/.local/bin/uv; \
21
22
  fi
22
23
  ENV PATH=${PATH}:${HOME}/.local/bin
23
24
  ENV PYTHONUNBUFFERED="True"
@@ -264,15 +264,47 @@ The following environment variables can be used to configure truss-transfer beha
264
264
 
265
265
  ### Core Configuration
266
266
 
267
- - **`TRUSS_TRANSFER_DOWNLOAD_DIR`** (default: `/tmp/bptr-resolved`)
267
+ - **`TRUSS_TRANSFER_DOWNLOAD_DIR`** (default: `/tmp/truss_transfer`)
268
268
  - Directory where resolved files will be downloaded
269
269
  - Used when no explicit download directory is provided
270
270
  - Can be overridden by passing a directory to the CLI or Python function
271
271
 
272
- - **`RUST_LOG`** (default: `info`)
272
+ - **`TRUSS_TRANSFER_LOG`** or **`RUST_LOG`** (default: `info`)
273
273
  - Controls logging level: `error`, `warn`, `info`, `debug`, `trace`
274
+ - `TRUSS_TRANSFER_LOG` takes precedence over `RUST_LOG`
274
275
  - Example: `RUST_LOG=debug` for detailed logging
275
276
 
277
+ - **`TRUSS_TRANSFER_CACHE_DIR`** (default: `/cache/org/artifacts/truss_transfer_managed_v1`)
278
+ - Cache directory for b10fs operations
279
+ - Used when Baseten FS is enabled
280
+
281
+ ### Download Configuration
282
+
283
+ - **`TRUSS_TRANSFER_NUM_WORKERS`** (default: `6`)
284
+ - Number of concurrent download workers
285
+ - Controls parallelism for file downloads
286
+
287
+ - **`TRUSS_TRANSFER_USE_RANGE_DOWNLOAD`** (default: `false`)
288
+ - Enable/disable range-based downloading for large files
289
+ - Set to `1`, `true`, `yes`, or `y` to enable
290
+
291
+ - **`TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS`** (default: `192`)
292
+ - Total number of range download workers across all files
293
+ - Used when range downloading is enabled
294
+
295
+ - **`TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS_PER_FILE`** (default: `84`)
296
+ - Number of concurrent range workers per individual file
297
+ - Used when range downloading is enabled
298
+
299
+ - **`TRUSS_TRANSFER_DOWNLOAD_MONITOR_SECS`** (default: `30`)
300
+ - Interval in seconds for monitoring download progress
301
+ - Controls how often progress is reported
302
+
303
+ - **`TRUSS_TRANSFER_PAGE_AFTER_DOWNLOAD`** (default: `false`)
304
+ - Enable/disable memory paging after downloads complete
305
+ - Set to `1`, `true`, `yes`, or `y` to enable
306
+ - Helps with memory management for large downloads
307
+
276
308
  ### Authentication
277
309
 
278
310
  - **`HF_TOKEN`** (optional)
@@ -289,29 +321,46 @@ The following environment variables can be used to configure truss-transfer beha
289
321
 
290
322
  - **`BASETEN_FS_ENABLED`** (default: `false`)
291
323
  - Enable/disable Baseten FS caching: `1`/`true` to enable, `0`/`false` to disable
292
- - When enabled, files are cached in `/cache/org/artifacts/truss_transfer_managed_v1`
324
+ - When enabled, files are cached in the directory specified by `TRUSS_TRANSFER_CACHE_DIR`
293
325
 
294
326
  - **`TRUSS_TRANSFER_B10FS_CLEANUP_HOURS`** (default: `96`)
295
327
  - Hours after last access before deleting cached files from other tenants
296
328
  - Helps manage disk space by removing old cached files
297
329
  - Example: `TRUSS_TRANSFER_B10FS_CLEANUP_HOURS=48` for 2 days
298
330
 
299
- - **`TRUSS_TRANSFER_B10FS_DOWNLOAD_SPEED_MBPS`** (default: `350`)
331
+ - **`TRUSS_TRANSFER_B10FS_DOWNLOAD_SPEED_MBPS`** (default: dynamic)
300
332
  - Expected download speed in MB/s for b10fs performance benchmarking
301
333
  - Used to determine if b10fs is faster than direct download
334
+ - Default: 400 MB/s for >16 cores, 90 MB/s for ≤16 cores (with randomization)
302
335
  - Lower values make b10fs more likely to be used
303
336
 
337
+ - **`TRUSS_TRANSFER_B10FS_MAX_STALE_CACHE_SIZE_GB`** (default: unlimited)
338
+ - Maximum size in GB for stale cache files before cleanup is triggered
339
+ - When set, actively purges old cache files to maintain this limit
340
+ - Example: `TRUSS_TRANSFER_B10FS_MAX_STALE_CACHE_SIZE_GB=500`
341
+
304
342
  ### Example Configuration
305
343
 
306
344
  ```bash
307
345
  # Basic setup
308
346
  export TRUSS_TRANSFER_DOWNLOAD_DIR="/tmp/my-models"
309
- export RUST_LOG=info
347
+ export TRUSS_TRANSFER_LOG=info
348
+ export TRUSS_TRANSFER_NUM_WORKERS=8
310
349
 
311
- # With b10fs enabled and authentication
350
+ # Advanced download configuration
351
+ export TRUSS_TRANSFER_USE_RANGE_DOWNLOAD=1
352
+ export TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS=256
353
+ export TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS_PER_FILE=64
354
+ export TRUSS_TRANSFER_PAGE_AFTER_DOWNLOAD=1
355
+
356
+ # With b10fs enabled and tuned
312
357
  export BASETEN_FS_ENABLED=1
358
+ export TRUSS_TRANSFER_CACHE_DIR="/fast-ssd/cache"
313
359
  export TRUSS_TRANSFER_B10FS_CLEANUP_HOURS=48
314
- export TRUSS_TRANSFER_B10FS_DOWNLOAD_SPEED_MBPS=100
360
+ export TRUSS_TRANSFER_B10FS_DOWNLOAD_SPEED_MBPS=200
361
+ export TRUSS_TRANSFER_B10FS_MAX_STALE_CACHE_SIZE_GB=1000
362
+
363
+ # Authentication
315
364
  export HF_TOKEN="your-huggingface-token"
316
365
  ```
317
366
 
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