truss 0.9.45__tar.gz → 0.9.45.dev101__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.
Files changed (419) hide show
  1. {truss-0.9.45 → truss-0.9.45.dev101}/PKG-INFO +2 -2
  2. {truss-0.9.45 → truss-0.9.45.dev101}/pyproject.toml +2 -3
  3. truss-0.9.45.dev101/truss/.pytest_cache/.gitignore +2 -0
  4. truss-0.9.45.dev101/truss/.pytest_cache/CACHEDIR.TAG +4 -0
  5. truss-0.9.45.dev101/truss/.pytest_cache/README.md +8 -0
  6. truss-0.9.45.dev101/truss/.pytest_cache/v/cache/lastfailed +1 -0
  7. truss-0.9.45.dev101/truss/.pytest_cache/v/cache/nodeids +3 -0
  8. truss-0.9.45.dev101/truss/.pytest_cache/v/cache/stepwise +1 -0
  9. truss-0.9.45.dev101/truss/api/__pycache__/__init__.cpython-39.pyc +0 -0
  10. truss-0.9.45.dev101/truss/api/__pycache__/definitions.cpython-39.pyc +0 -0
  11. truss-0.9.45.dev101/truss/cli/__pycache__/__init__.cpython-39.pyc +0 -0
  12. truss-0.9.45.dev101/truss/cli/__pycache__/cli.cpython-39.pyc +0 -0
  13. truss-0.9.45.dev101/truss/cli/__pycache__/console.cpython-39.pyc +0 -0
  14. truss-0.9.45.dev101/truss/cli/__pycache__/create.cpython-39.pyc +0 -0
  15. truss-0.9.45.dev101/truss/config/__pycache__/trt_llm.cpython-39.pyc +0 -0
  16. {truss-0.9.45 → truss-0.9.45.dev101}/truss/config/trt_llm.py +6 -5
  17. {truss-0.9.45 → truss-0.9.45.dev101}/truss/constants.py +10 -2
  18. truss-0.9.45.dev101/truss/contexts/__pycache__/truss_context.cpython-39.pyc +0 -0
  19. truss-0.9.45.dev101/truss/contexts/image_builder/__pycache__/cache_warmer.cpython-39.pyc +0 -0
  20. truss-0.9.45.dev101/truss/contexts/image_builder/__pycache__/image_builder.cpython-39.pyc +0 -0
  21. truss-0.9.45.dev101/truss/contexts/image_builder/__pycache__/serving_image_builder.cpython-39-pytest-7.2.0.pyc +0 -0
  22. truss-0.9.45.dev101/truss/contexts/image_builder/__pycache__/serving_image_builder.cpython-39.pyc +0 -0
  23. truss-0.9.45.dev101/truss/contexts/image_builder/__pycache__/util.cpython-39.pyc +0 -0
  24. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/image_builder/serving_image_builder.py +11 -0
  25. truss-0.9.45.dev101/truss/contexts/local_loader/__pycache__/docker_build_emulator.cpython-39.pyc +0 -0
  26. truss-0.9.45.dev101/truss/contexts/local_loader/__pycache__/load_model_local.cpython-39.pyc +0 -0
  27. truss-0.9.45.dev101/truss/contexts/local_loader/__pycache__/truss_module_loader.cpython-39.pyc +0 -0
  28. truss-0.9.45.dev101/truss/contexts/local_loader/__pycache__/utils.cpython-39.pyc +0 -0
  29. truss-0.9.45.dev101/truss/local/__pycache__/local_config.cpython-39.pyc +0 -0
  30. truss-0.9.45.dev101/truss/local/__pycache__/local_config_handler.cpython-39.pyc +0 -0
  31. {truss-0.9.45 → truss-0.9.45.dev101}/truss/local/local_config_handler.py +0 -12
  32. truss-0.9.45.dev101/truss/patch/__pycache__/calc_patch.cpython-39.pyc +0 -0
  33. truss-0.9.45.dev101/truss/patch/__pycache__/custom_types.cpython-39.pyc +0 -0
  34. truss-0.9.45.dev101/truss/patch/__pycache__/dir_signature.cpython-39.pyc +0 -0
  35. truss-0.9.45.dev101/truss/patch/__pycache__/hash.cpython-39.pyc +0 -0
  36. truss-0.9.45.dev101/truss/patch/__pycache__/signature.cpython-39.pyc +0 -0
  37. truss-0.9.45.dev101/truss/patch/__pycache__/truss_dir_patch_applier.cpython-39.pyc +0 -0
  38. truss-0.9.45.dev101/truss/patch/__pycache__/types.cpython-39.pyc +0 -0
  39. truss-0.9.45.dev101/truss/remote/__pycache__/remote_cli.cpython-39.pyc +0 -0
  40. truss-0.9.45.dev101/truss/remote/__pycache__/remote_factory.cpython-39.pyc +0 -0
  41. truss-0.9.45.dev101/truss/remote/__pycache__/truss_remote.cpython-39.pyc +0 -0
  42. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/__init__.cpython-39.pyc +0 -0
  43. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/api.cpython-39.pyc +0 -0
  44. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/auth.cpython-39.pyc +0 -0
  45. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/core.cpython-39.pyc +0 -0
  46. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/custom_types.cpython-39.pyc +0 -0
  47. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/error.cpython-39.pyc +0 -0
  48. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/remote.cpython-39.pyc +0 -0
  49. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/service.cpython-39.pyc +0 -0
  50. truss-0.9.45.dev101/truss/remote/baseten/__pycache__/types.cpython-39.pyc +0 -0
  51. truss-0.9.45.dev101/truss/remote/baseten/utils/__pycache__/status.cpython-39.pyc +0 -0
  52. truss-0.9.45.dev101/truss/remote/baseten/utils/__pycache__/tar.cpython-39.pyc +0 -0
  53. truss-0.9.45.dev101/truss/remote/baseten/utils/__pycache__/transfer.cpython-39.pyc +0 -0
  54. truss-0.9.45.dev101/truss/templates/__pycache__/__init__.cpython-39.pyc +0 -0
  55. truss-0.9.45.dev101/truss/templates/control/control/__pycache__/application.cpython-39.pyc +0 -0
  56. truss-0.9.45.dev101/truss/templates/control/control/__pycache__/endpoints.cpython-39.pyc +0 -0
  57. truss-0.9.45.dev101/truss/templates/control/control/helpers/__pycache__/context_managers.cpython-39.pyc +0 -0
  58. truss-0.9.45.dev101/truss/templates/control/control/helpers/__pycache__/custom_types.cpython-39.pyc +0 -0
  59. truss-0.9.45.dev101/truss/templates/control/control/helpers/__pycache__/errors.cpython-39.pyc +0 -0
  60. truss-0.9.45.dev101/truss/templates/control/control/helpers/__pycache__/inference_server_controller.cpython-39.pyc +0 -0
  61. truss-0.9.45.dev101/truss/templates/control/control/helpers/__pycache__/inference_server_process_controller.cpython-39.pyc +0 -0
  62. truss-0.9.45.dev101/truss/templates/control/control/helpers/__pycache__/inference_server_starter.cpython-39.pyc +0 -0
  63. truss-0.9.45.dev101/truss/templates/control/control/helpers/__pycache__/types.cpython-39.pyc +0 -0
  64. truss-0.9.45.dev101/truss/templates/control/control/helpers/truss_patch/__pycache__/__init__.cpython-39.pyc +0 -0
  65. truss-0.9.45.dev101/truss/templates/control/control/helpers/truss_patch/__pycache__/model_code_patch_applier.cpython-39.pyc +0 -0
  66. truss-0.9.45.dev101/truss/templates/control/control/helpers/truss_patch/__pycache__/model_container_patch_applier.cpython-39.pyc +0 -0
  67. truss-0.9.45.dev101/truss/templates/control/control/helpers/truss_patch/__pycache__/requirement_name_identifier.cpython-39.pyc +0 -0
  68. truss-0.9.45.dev101/truss/templates/control/control/helpers/truss_patch/__pycache__/system_packages.cpython-39.pyc +0 -0
  69. truss-0.9.45.dev101/truss/templates/server/__pycache__/__init__.cpython-39.pyc +0 -0
  70. truss-0.9.45.dev101/truss/templates/server/common/__pycache__/__init__.cpython-39.pyc +0 -0
  71. truss-0.9.45.dev101/truss/templates/server/common/__pycache__/errors.cpython-39.pyc +0 -0
  72. truss-0.9.45.dev101/truss/templates/server/common/__pycache__/patches.cpython-39.pyc +0 -0
  73. truss-0.9.45.dev101/truss/templates/server/common/__pycache__/retry.cpython-39.pyc +0 -0
  74. truss-0.9.45.dev101/truss/templates/server/common/__pycache__/schema.cpython-39.pyc +0 -0
  75. truss-0.9.45.dev101/truss/templates/server/common/__pycache__/termination_handler_middleware.cpython-39.pyc +0 -0
  76. truss-0.9.45.dev101/truss/templates/server/common/__pycache__/truss_server.cpython-39.pyc +0 -0
  77. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/errors.py +0 -43
  78. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/model_wrapper.py +1 -89
  79. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/requirements.txt +0 -1
  80. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/truss_server.py +2 -3
  81. truss-0.9.45.dev101/truss/templates/shared/__pycache__/__init__.cpython-39.pyc +0 -0
  82. truss-0.9.45.dev101/truss/templates/shared/__pycache__/dynamic_config_resolver.cpython-39.pyc +0 -0
  83. truss-0.9.45.dev101/truss/templates/shared/__pycache__/lazy_data_resolver.cpython-39.pyc +0 -0
  84. truss-0.9.45.dev101/truss/templates/shared/__pycache__/logging.cpython-39.pyc +0 -0
  85. truss-0.9.45.dev101/truss/templates/shared/__pycache__/secrets_resolver.cpython-39.pyc +0 -0
  86. truss-0.9.45.dev101/truss/templates/shared/__pycache__/serialization.cpython-39.pyc +0 -0
  87. truss-0.9.45.dev101/truss/templates/shared/__pycache__/util.cpython-39.pyc +0 -0
  88. truss-0.9.45.dev101/truss/templates/shared/dynamic_config_resolver.py +13 -0
  89. truss-0.9.45.dev101/truss/templates/trtllm-briton/packages/briton_pb2.py +57 -0
  90. truss-0.9.45.dev101/truss/templates/trtllm-briton/packages/briton_pb2_grpc.py +82 -0
  91. truss-0.9.45.dev101/truss/templates/trtllm-briton/src/engine.py +574 -0
  92. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-briton/src/extension.py +5 -5
  93. truss-0.9.45.dev101/truss/test_data/model_load_failure_test/config.yaml +2 -0
  94. truss-0.9.45.dev101/truss/test_data/test_basic_truss/packages2/package1/foo.py +2 -0
  95. truss-0.9.45.dev101/truss/test_data/test_basic_truss/sidscript.py +8 -0
  96. truss-0.9.45.dev101/truss/test_data/test_streaming_async_generator_truss/model/__pycache__/model.cpython-39.pyc +0 -0
  97. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_trt_llm_truss/config.yaml +2 -1
  98. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_trt_llm_truss/model/model.py +2 -4
  99. truss-0.9.45.dev101/truss/tests/__pycache__/__init__.cpython-39.pyc +0 -0
  100. truss-0.9.45.dev101/truss/tests/__pycache__/conftest.cpython-39-pytest-7.2.0.pyc +0 -0
  101. truss-0.9.45.dev101/truss/tests/__pycache__/helpers.cpython-39.pyc +0 -0
  102. truss-0.9.45.dev101/truss/tests/__pycache__/test_build.cpython-39-pytest-7.2.0.pyc +0 -0
  103. truss-0.9.45.dev101/truss/tests/__pycache__/test_config.cpython-39-pytest-7.2.0.pyc +0 -0
  104. truss-0.9.45.dev101/truss/tests/__pycache__/test_context_builder_image.cpython-39-pytest-7.2.0.pyc +0 -0
  105. truss-0.9.45.dev101/truss/tests/__pycache__/test_control_truss_patching.cpython-39-pytest-7.2.0.pyc +0 -0
  106. truss-0.9.45.dev101/truss/tests/__pycache__/test_docker.cpython-39-pytest-7.2.0.pyc +0 -0
  107. truss-0.9.45.dev101/truss/tests/__pycache__/test_model_inference.cpython-39-pytest-7.2.0.pyc +0 -0
  108. truss-0.9.45.dev101/truss/tests/__pycache__/test_model_schema.cpython-39-pytest-7.2.0.pyc +0 -0
  109. truss-0.9.45.dev101/truss/tests/__pycache__/test_testing_utilities_for_other_tests.cpython-39-pytest-7.2.0.pyc +0 -0
  110. truss-0.9.45.dev101/truss/tests/__pycache__/test_truss_gatherer.cpython-39-pytest-7.2.0.pyc +0 -0
  111. truss-0.9.45.dev101/truss/tests/__pycache__/test_truss_handle.cpython-39-pytest-7.2.0.pyc +0 -0
  112. truss-0.9.45.dev101/truss/tests/__pycache__/test_trussless_docker_server.cpython-39-pytest-7.2.0.pyc +0 -0
  113. truss-0.9.45.dev101/truss/tests/__pycache__/test_util.cpython-39-pytest-7.2.0.pyc +0 -0
  114. truss-0.9.45.dev101/truss/tests/__pycache__/test_validation.cpython-39-pytest-7.2.0.pyc +0 -0
  115. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/conftest.py +2 -1
  116. truss-0.9.45.dev101/truss/tests/contexts/image_builder/__pycache__/test_serving_image_builder.cpython-39-pytest-7.2.0.pyc +0 -0
  117. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/contexts/image_builder/test_serving_image_builder.py +1 -1
  118. truss-0.9.45.dev101/truss/tests/contexts/local_loader/__pycache__/test_load_local.cpython-39-pytest-7.2.0.pyc +0 -0
  119. truss-0.9.45.dev101/truss/tests/contexts/local_loader/__pycache__/test_truss_module_finder.cpython-39-pytest-7.2.0.pyc +0 -0
  120. truss-0.9.45.dev101/truss/tests/local/__pycache__/__init__.cpython-39.pyc +0 -0
  121. truss-0.9.45.dev101/truss/tests/local/__pycache__/test_local_config_handler.cpython-39-pytest-7.2.0.pyc +0 -0
  122. truss-0.9.45.dev101/truss/tests/patch/__pycache__/test_calc_patch.cpython-39-pytest-7.2.0.pyc +0 -0
  123. truss-0.9.45.dev101/truss/tests/patch/__pycache__/test_dir_signature.cpython-39-pytest-7.2.0.pyc +0 -0
  124. truss-0.9.45.dev101/truss/tests/patch/__pycache__/test_hash.cpython-39-pytest-7.2.0.pyc +0 -0
  125. truss-0.9.45.dev101/truss/tests/patch/__pycache__/test_signature.cpython-39-pytest-7.2.0.pyc +0 -0
  126. truss-0.9.45.dev101/truss/tests/patch/__pycache__/test_truss_dir_patch_applier.cpython-39-pytest-7.2.0.pyc +0 -0
  127. truss-0.9.45.dev101/truss/tests/patch/__pycache__/test_types.cpython-39-pytest-7.2.0.pyc +0 -0
  128. truss-0.9.45.dev101/truss/tests/remote/__pycache__/test_remote_factory.cpython-39-pytest-7.2.0.pyc +0 -0
  129. truss-0.9.45.dev101/truss/tests/remote/__pycache__/test_truss_remote.cpython-39-pytest-7.2.0.pyc +0 -0
  130. truss-0.9.45.dev101/truss/tests/remote/baseten/__pycache__/test_api.cpython-39-pytest-7.2.0.pyc +0 -0
  131. truss-0.9.45.dev101/truss/tests/remote/baseten/__pycache__/test_auth.cpython-39-pytest-7.2.0.pyc +0 -0
  132. truss-0.9.45.dev101/truss/tests/remote/baseten/__pycache__/test_core.cpython-39-pytest-7.2.0.pyc +0 -0
  133. truss-0.9.45.dev101/truss/tests/remote/baseten/__pycache__/test_remote.cpython-39-pytest-7.2.0.pyc +0 -0
  134. truss-0.9.45.dev101/truss/tests/remote/baseten/__pycache__/test_service.cpython-39-pytest-7.2.0.pyc +0 -0
  135. truss-0.9.45.dev101/truss/tests/templates/control/control/__pycache__/test_server.cpython-39-pytest-7.2.0.pyc +0 -0
  136. truss-0.9.45.dev101/truss/tests/templates/control/control/__pycache__/test_server_integration.cpython-39-pytest-7.2.0.pyc +0 -0
  137. truss-0.9.45.dev101/truss/tests/templates/control/control/helpers/__pycache__/test_context_managers.cpython-39-pytest-7.2.0.pyc +0 -0
  138. truss-0.9.45.dev101/truss/tests/templates/control/control/helpers/__pycache__/test_model_container_patch_applier.cpython-39-pytest-7.2.0.pyc +0 -0
  139. truss-0.9.45.dev101/truss/tests/templates/control/control/helpers/__pycache__/test_requirement_name_identifier.cpython-39-pytest-7.2.0.pyc +0 -0
  140. truss-0.9.45.dev101/truss/tests/templates/core/server/__pycache__/test_dynamic_config_resolver.cpython-39-pytest-7.2.0.pyc +0 -0
  141. truss-0.9.45.dev101/truss/tests/templates/core/server/__pycache__/test_lazy_data_resolver.cpython-39-pytest-7.2.0.pyc +0 -0
  142. truss-0.9.45.dev101/truss/tests/templates/core/server/__pycache__/test_secrets_resolver.cpython-39-pytest-7.2.0.pyc +0 -0
  143. truss-0.9.45.dev101/truss/tests/templates/core/server/common/__pycache__/test_truss_server.cpython-39-pytest-7.2.0.pyc +0 -0
  144. truss-0.9.45.dev101/truss/tests/templates/core/server/common/__pycache__/test_util.cpython-39-pytest-7.2.0.pyc +0 -0
  145. truss-0.9.45.dev101/truss/tests/templates/core/server/test_dynamic_config_resolver.py +34 -0
  146. truss-0.9.45.dev101/truss/tests/templates/server/__pycache__/test_model_wrapper.cpython-39-pytest-7.2.0.pyc +0 -0
  147. truss-0.9.45.dev101/truss/tests/templates/server/__pycache__/test_schema.cpython-39-pytest-7.2.0.pyc +0 -0
  148. truss-0.9.45.dev101/truss/tests/templates/server/__pycache__/test_truss_server.cpython-39-pytest-7.2.0.pyc +0 -0
  149. truss-0.9.45.dev101/truss/tests/templates/server/common/__pycache__/test_retry.cpython-39-pytest-7.2.0.pyc +0 -0
  150. truss-0.9.45.dev101/truss/tests/templates/server/common/__pycache__/test_termination_handler_middleware.cpython-39-pytest-7.2.0.pyc +0 -0
  151. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/server/test_model_wrapper.py +2 -2
  152. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_config.py +2 -7
  153. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_model_inference.py +0 -113
  154. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_model_schema.py +2 -1
  155. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_trussless_docker_server.py +1 -0
  156. truss-0.9.45.dev101/truss/tests/trt_llm/__pycache__/test_validation.cpython-39-pytest-7.2.0.pyc +0 -0
  157. truss-0.9.45.dev101/truss/tests/util/__pycache__/test_config_checks.cpython-39-pytest-7.2.0.pyc +0 -0
  158. truss-0.9.45.dev101/truss/tests/util/__pycache__/test_path.cpython-39-pytest-7.2.0.pyc +0 -0
  159. truss-0.9.45.dev101/truss/trt_llm/__pycache__/validation.cpython-39.pyc +0 -0
  160. {truss-0.9.45 → truss-0.9.45.dev101}/truss/trt_llm/validation.py +1 -2
  161. {truss-0.9.45 → truss-0.9.45.dev101}/truss/truss_config.py +3 -10
  162. {truss-0.9.45 → truss-0.9.45.dev101}/truss/truss_handle.py +0 -6
  163. truss-0.9.45.dev101/truss/util/__pycache__/config_checks.cpython-39.pyc +0 -0
  164. truss-0.9.45.dev101/truss/util/__pycache__/data_structures.cpython-39.pyc +0 -0
  165. truss-0.9.45.dev101/truss/util/__pycache__/download.cpython-39.pyc +0 -0
  166. truss-0.9.45.dev101/truss/util/__pycache__/errors.cpython-39.pyc +0 -0
  167. truss-0.9.45.dev101/truss/util/__pycache__/jinja.cpython-39.pyc +0 -0
  168. truss-0.9.45.dev101/truss/util/__pycache__/log_utils.cpython-39.pyc +0 -0
  169. truss-0.9.45.dev101/truss/util/__pycache__/path.cpython-39.pyc +0 -0
  170. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/framework.py +0 -20
  171. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/stub.py +9 -5
  172. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/utils.py +40 -1
  173. truss-0.9.45/truss/templates/shared/dynamic_config_resolver.py +0 -28
  174. truss-0.9.45/truss/test_data/model_load_failure_test/config.yaml +0 -2
  175. truss-0.9.45/truss/tests/templates/core/server/test_dynamic_config_resolver.py +0 -126
  176. {truss-0.9.45 → truss-0.9.45.dev101}/CODE_OF_CONDUCT.md +0 -0
  177. {truss-0.9.45 → truss-0.9.45.dev101}/CONTRIBUTING.md +0 -0
  178. {truss-0.9.45 → truss-0.9.45.dev101}/LICENSE +0 -0
  179. {truss-0.9.45 → truss-0.9.45.dev101}/README.md +0 -0
  180. {truss-0.9.45 → truss-0.9.45.dev101}/context_builder.Dockerfile +0 -0
  181. {truss-0.9.45 → truss-0.9.45.dev101}/truss/__init__.py +0 -0
  182. {truss-0.9.45 → truss-0.9.45.dev101}/truss/api/__init__.py +0 -0
  183. {truss-0.9.45 → truss-0.9.45.dev101}/truss/api/definitions.py +0 -0
  184. {truss-0.9.45 → truss-0.9.45.dev101}/truss/blob/blob_backend.py +0 -0
  185. {truss-0.9.45 → truss-0.9.45.dev101}/truss/blob/blob_backend_registry.py +0 -0
  186. {truss-0.9.45 → truss-0.9.45.dev101}/truss/blob/http_public_blob_backend.py +0 -0
  187. {truss-0.9.45 → truss-0.9.45.dev101}/truss/build.py +0 -0
  188. {truss-0.9.45 → truss-0.9.45.dev101}/truss/cli/__init__.py +0 -0
  189. {truss-0.9.45 → truss-0.9.45.dev101}/truss/cli/cli.py +0 -0
  190. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/image_builder/cache_warmer.py +0 -0
  191. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/image_builder/image_builder.py +0 -0
  192. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/image_builder/util.py +0 -0
  193. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/local_loader/docker_build_emulator.py +0 -0
  194. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/local_loader/load_model_local.py +0 -0
  195. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/local_loader/truss_module_loader.py +0 -0
  196. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/local_loader/utils.py +0 -0
  197. {truss-0.9.45 → truss-0.9.45.dev101}/truss/contexts/truss_context.py +0 -0
  198. {truss-0.9.45 → truss-0.9.45.dev101}/truss/custom_types.py +0 -0
  199. {truss-0.9.45 → truss-0.9.45.dev101}/truss/decorators.py +0 -0
  200. {truss-0.9.45 → truss-0.9.45.dev101}/truss/docker.py +0 -0
  201. {truss-0.9.45 → truss-0.9.45.dev101}/truss/errors.py +0 -0
  202. {truss-0.9.45 → truss-0.9.45.dev101}/truss/local/local_config.py +0 -0
  203. {truss-0.9.45 → truss-0.9.45.dev101}/truss/model_inference.py +0 -0
  204. {truss-0.9.45 → truss-0.9.45.dev101}/truss/notebook.py +0 -0
  205. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/calc_patch.py +0 -0
  206. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/constants.py +0 -0
  207. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/custom_types.py +0 -0
  208. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/dir_signature.py +0 -0
  209. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/hash.py +0 -0
  210. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/local_truss_patch_applier.py +0 -0
  211. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/signature.py +0 -0
  212. {truss-0.9.45 → truss-0.9.45.dev101}/truss/patch/truss_dir_patch_applier.py +0 -0
  213. {truss-0.9.45 → truss-0.9.45.dev101}/truss/readme_generator.py +0 -0
  214. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/__init__.py +0 -0
  215. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/api.py +0 -0
  216. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/auth.py +0 -0
  217. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/core.py +0 -0
  218. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/custom_types.py +0 -0
  219. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/error.py +0 -0
  220. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/remote.py +0 -0
  221. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/service.py +0 -0
  222. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/utils/status.py +0 -0
  223. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/utils/tar.py +0 -0
  224. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/baseten/utils/transfer.py +0 -0
  225. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/remote_cli.py +0 -0
  226. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/remote_factory.py +0 -0
  227. {truss-0.9.45 → truss-0.9.45.dev101}/truss/remote/truss_remote.py +0 -0
  228. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/README.md.jinja +0 -0
  229. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/__init__.py +0 -0
  230. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/base.Dockerfile.jinja +0 -0
  231. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/cache.Dockerfile.jinja +0 -0
  232. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/cache_requirements.txt +0 -0
  233. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/application.py +0 -0
  234. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/endpoints.py +0 -0
  235. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/context_managers.py +0 -0
  236. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/custom_types.py +0 -0
  237. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/errors.py +0 -0
  238. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/inference_server_controller.py +0 -0
  239. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/inference_server_process_controller.py +0 -0
  240. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/inference_server_starter.py +0 -0
  241. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/truss_patch/__init__.py +0 -0
  242. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/truss_patch/model_code_patch_applier.py +0 -0
  243. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/truss_patch/model_container_patch_applier.py +0 -0
  244. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/truss_patch/requirement_name_identifier.py +0 -0
  245. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/helpers/truss_patch/system_packages.py +0 -0
  246. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/control/server.py +0 -0
  247. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/control/requirements.txt +0 -0
  248. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/copy_cache_files.Dockerfile.jinja +0 -0
  249. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/custom/examples.yaml +0 -0
  250. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/custom/model/__init__.py +0 -0
  251. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/custom/model/model.py +0 -0
  252. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/docker_server/proxy.conf.jinja +0 -0
  253. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/docker_server/supervisord.conf.jinja +0 -0
  254. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/docker_server_requirements.txt +0 -0
  255. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/__init__.py +0 -0
  256. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/__init__.py +0 -0
  257. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/patches/whisper/patch.py +0 -0
  258. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/patches.py +0 -0
  259. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/retry.py +0 -0
  260. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/schema.py +0 -0
  261. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/termination_handler_middleware.py +0 -0
  262. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/common/tracing.py +0 -0
  263. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server/main.py +0 -0
  264. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/server.Dockerfile.jinja +0 -0
  265. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/shared/README.md +0 -0
  266. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/shared/__init__.py +0 -0
  267. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/shared/lazy_data_resolver.py +0 -0
  268. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/shared/logging.py +0 -0
  269. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/shared/secrets_resolver.py +0 -0
  270. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/shared/serialization.py +0 -0
  271. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/shared/util.py +0 -0
  272. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/model/model.py +0 -0
  273. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/sigint_patch.py +0 -0
  274. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/whisper_trt/__init__.py +0 -0
  275. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/whisper_trt/assets.py +0 -0
  276. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/whisper_trt/batching.py +0 -0
  277. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/whisper_trt/custom_types.py +0 -0
  278. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/whisper_trt/modeling.py +0 -0
  279. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/whisper_trt/tokenizer.py +0 -0
  280. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-audio/packages/whisper_trt/utils.py +0 -0
  281. {truss-0.9.45 → truss-0.9.45.dev101}/truss/templates/trtllm-briton/README.md +0 -0
  282. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/annotated_types_truss/config.yaml +0 -0
  283. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/annotated_types_truss/model/__init__.py +0 -0
  284. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/annotated_types_truss/model/model.py +0 -0
  285. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/auto-mpg.data +0 -0
  286. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/context_builder_image_test/Dockerfile +0 -0
  287. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/context_builder_image_test/test.py +0 -0
  288. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/gcs_fix/config.yaml +0 -0
  289. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/gcs_fix/model/__init__.py +0 -0
  290. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/gcs_fix/model/model.py +0 -0
  291. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/happy.ipynb +0 -0
  292. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/model_load_failure_test/model/model.py +0 -0
  293. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/patch_ping_test_server/app.py +0 -0
  294. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/pima-indians-diabetes.csv +0 -0
  295. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/readme_int_example.md +0 -0
  296. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/readme_no_example.md +0 -0
  297. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/readme_str_example.md +0 -0
  298. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/server.Dockerfile +0 -0
  299. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/server_conformance_test_truss/config.yaml +0 -0
  300. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/server_conformance_test_truss/model/__init__.py +0 -0
  301. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/server_conformance_test_truss/model/model.py +0 -0
  302. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_async_truss/config.yaml +0 -0
  303. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_async_truss/model/model.py +0 -0
  304. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_basic_truss/config.yaml +0 -0
  305. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_basic_truss/model/__init__.py +0 -0
  306. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_basic_truss/model/model.py +0 -0
  307. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_build_commands/config.yaml +0 -0
  308. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_build_commands/model/model.py +0 -0
  309. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_build_commands_failure/config.yaml +0 -0
  310. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_build_commands_failure/model/model.py +0 -0
  311. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_concurrency_truss/config.yaml +0 -0
  312. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_concurrency_truss/model/model.py +0 -0
  313. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_docker_server_truss/config.yaml +0 -0
  314. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_docker_server_truss/test_docker_image/Dockerfile +0 -0
  315. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_docker_server_truss/test_docker_image/README.md +0 -0
  316. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_docker_server_truss/test_docker_image/VERSION +0 -0
  317. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_docker_server_truss/test_docker_image/app.py +0 -0
  318. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_docker_server_truss/test_docker_image/build_upload_new_image.sh +0 -0
  319. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v1/config.yaml +0 -0
  320. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v1/model/__init__.py +0 -0
  321. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v1/model/model.py +0 -0
  322. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v1/requirements.txt +0 -0
  323. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v2/config.yaml +0 -0
  324. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v2/model/__init__.py +0 -0
  325. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v2/model/model.py +0 -0
  326. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_pyantic_v2/requirements.txt +0 -0
  327. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_requirements_file_truss/config.yaml +0 -0
  328. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_requirements_file_truss/model/__init__.py +0 -0
  329. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_requirements_file_truss/model/model.py +0 -0
  330. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_requirements_file_truss/requirements.txt +0 -0
  331. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_async_generator_truss/config.yaml +0 -0
  332. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_async_generator_truss/model/model.py +0 -0
  333. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_read_timeout/config.yaml +0 -0
  334. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_read_timeout/model/model.py +0 -0
  335. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss/config.yaml +0 -0
  336. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss/model/model.py +0 -0
  337. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss_with_error/config.yaml +0 -0
  338. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss_with_error/model/model.py +0 -0
  339. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss_with_error/packages/helpers_1.py +0 -0
  340. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss_with_error/packages/helpers_2.py +0 -0
  341. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss_with_tracing/config.yaml +0 -0
  342. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_streaming_truss_with_tracing/model/model.py +0 -0
  343. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_trt_llm_truss/model/__init__.py +0 -0
  344. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss/config.yaml +0 -0
  345. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss/examples.yaml +0 -0
  346. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss/model/__init__.py +0 -0
  347. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss/model/dummy +0 -0
  348. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss/model/model.py +0 -0
  349. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss/packages/test_package/test.py +0 -0
  350. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_server_caching_truss/config.yaml +0 -0
  351. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_server_caching_truss/model/__init__.py +0 -0
  352. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_server_caching_truss/model/model.py +0 -0
  353. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_with_error/config.yaml +0 -0
  354. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_with_error/model/__init__.py +0 -0
  355. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_with_error/model/model.py +0 -0
  356. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_with_error/packages/helpers_1.py +0 -0
  357. {truss-0.9.45 → truss-0.9.45.dev101}/truss/test_data/test_truss_with_error/packages/helpers_2.py +0 -0
  358. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/__init__.py +0 -0
  359. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/contexts/local_loader/test_load_local.py +0 -0
  360. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/contexts/local_loader/test_truss_module_finder.py +0 -0
  361. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/helpers.py +0 -0
  362. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/local/__init__.py +0 -0
  363. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/local/test_local_config_handler.py +0 -0
  364. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/patch/test_calc_patch.py +0 -0
  365. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/patch/test_dir_signature.py +0 -0
  366. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/patch/test_hash.py +0 -0
  367. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/patch/test_signature.py +0 -0
  368. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/patch/test_truss_dir_patch_applier.py +0 -0
  369. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/patch/test_types.py +0 -0
  370. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/remote/baseten/test_api.py +0 -0
  371. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/remote/baseten/test_auth.py +0 -0
  372. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/remote/baseten/test_core.py +0 -0
  373. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/remote/baseten/test_remote.py +0 -0
  374. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/remote/baseten/test_service.py +0 -0
  375. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/remote/test_remote_factory.py +0 -0
  376. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/remote/test_truss_remote.py +0 -0
  377. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/control/control/helpers/test_context_managers.py +0 -0
  378. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/control/control/helpers/test_model_container_patch_applier.py +0 -0
  379. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/control/control/helpers/test_requirement_name_identifier.py +0 -0
  380. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/control/control/test_server.py +0 -0
  381. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/control/control/test_server_integration.py +0 -0
  382. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/core/server/test_lazy_data_resolver.py +0 -0
  383. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/core/server/test_secrets_resolver.py +0 -0
  384. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/server/common/test_retry.py +0 -0
  385. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/server/common/test_termination_handler_middleware.py +0 -0
  386. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/server/test_schema.py +0 -0
  387. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/templates/server/test_truss_server.py +0 -0
  388. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_build.py +0 -0
  389. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_context_builder_image.py +0 -0
  390. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_control_truss_patching.py +0 -0
  391. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_docker.py +0 -0
  392. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_testing_utilities_for_other_tests.py +0 -0
  393. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_truss_gatherer.py +0 -0
  394. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_truss_handle.py +0 -0
  395. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_util.py +0 -0
  396. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/test_validation.py +0 -0
  397. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/trt_llm/test_validation.py +0 -0
  398. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/util/test_config_checks.py +0 -0
  399. {truss-0.9.45 → truss-0.9.45.dev101}/truss/tests/util/test_path.py +0 -0
  400. {truss-0.9.45 → truss-0.9.45.dev101}/truss/truss_gatherer.py +0 -0
  401. {truss-0.9.45 → truss-0.9.45.dev101}/truss/truss_spec.py +0 -0
  402. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/.truss_ignore +0 -0
  403. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/config_checks.py +0 -0
  404. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/data_structures.py +0 -0
  405. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/download.py +0 -0
  406. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/errors.py +0 -0
  407. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/gpu.py +0 -0
  408. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/jinja.py +0 -0
  409. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/log_utils.py +0 -0
  410. {truss-0.9.45 → truss-0.9.45.dev101}/truss/util/path.py +0 -0
  411. {truss-0.9.45 → truss-0.9.45.dev101}/truss/validation.py +0 -0
  412. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/__init__.py +0 -0
  413. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/code_gen.py +0 -0
  414. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/definitions.py +0 -0
  415. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/example_chainlet.py +0 -0
  416. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/model_skeleton.py +0 -0
  417. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/public_api.py +0 -0
  418. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/py.typed +0 -0
  419. {truss-0.9.45 → truss-0.9.45.dev101}/truss-chains/truss_chains/remote.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: truss
3
- Version: 0.9.45
3
+ Version: 0.9.45.dev101
4
4
  Summary: A seamless bridge from model development to model delivery
5
5
  Home-page: https://github.com/basetenlabs/truss
6
6
  License: MIT
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Dist: Jinja2 (>=3.1.2,<4.0.0)
19
19
  Requires-Dist: PyYAML (>=6.0)
20
- Requires-Dist: aiofiles (>=24.1.0,<25.0.0)
20
+ Requires-Dist: aiohttp (>=3.10.10,<4.0.0)
21
21
  Requires-Dist: blake3 (>=0.3.3,<0.4.0)
22
22
  Requires-Dist: boto3 (>=1.34.85,<2.0.0)
23
23
  Requires-Dist: fastapi (>=0.109.1)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "truss"
3
- version = "0.9.45"
3
+ version = "0.9.45dev101"
4
4
  description = "A seamless bridge from model development to model delivery"
5
5
  license = "MIT"
6
6
  readme = "README.md"
@@ -27,7 +27,7 @@ packages = [
27
27
  "Baseten" = "https://baseten.co"
28
28
 
29
29
  [tool.poetry.dependencies]
30
- aiofiles = "^24.1.0"
30
+ aiohttp = "^3.10.10"
31
31
  blake3 = "^0.3.3"
32
32
  boto3 = "^1.34.85"
33
33
  fastapi = ">=0.109.1"
@@ -97,7 +97,6 @@ pytest = "7.2.0"
97
97
  pytest-cov = "^3.0.0"
98
98
  types-PyYAML = "^6.0.12.12"
99
99
  types-setuptools = "^69.0.0.0"
100
- types-aiofiles = "^24.1.0.20240626"
101
100
 
102
101
  [tool.poetry.scripts]
103
102
  truss = 'truss.cli:truss_cli'
@@ -0,0 +1,2 @@
1
+ # Created by pytest automatically.
2
+ *
@@ -0,0 +1,4 @@
1
+ Signature: 8a477f597d28d172789f06886806bc55
2
+ # This file is a cache directory tag created by pytest.
3
+ # For information about cache directory tags, see:
4
+ # https://bford.info/cachedir/spec.html
@@ -0,0 +1,8 @@
1
+ # pytest cache directory #
2
+
3
+ This directory contains data from the pytest's cache plugin,
4
+ which provides the `--lf` and `--ff` options, as well as the `cache` fixture.
5
+
6
+ **Do not** commit this to version control.
7
+
8
+ See [the docs](https://docs.pytest.org/en/stable/how-to/cache.html) for more information.
@@ -0,0 +1,3 @@
1
+ [
2
+ "tests/test_control_truss_patching.py::test_patch_added_model_dir"
3
+ ]
@@ -23,7 +23,6 @@ class TrussTRTLLMModel(str, Enum):
23
23
  MISTRAL = "mistral"
24
24
  DEEPSEEK = "deepseek"
25
25
  WHISPER = "whisper"
26
- QWEN = "qwen"
27
26
 
28
27
 
29
28
  class TrussTRTLLMQuantizationType(str, Enum):
@@ -31,7 +30,7 @@ class TrussTRTLLMQuantizationType(str, Enum):
31
30
  WEIGHTS_ONLY_INT8 = "weights_int8"
32
31
  WEIGHTS_KV_INT8 = "weights_kv_int8"
33
32
  WEIGHTS_ONLY_INT4 = "weights_int4"
34
- WEIGHTS_INT4_KV_INT8 = "weights_int4_kv_int8"
33
+ WEIGHTS_KV_INT4 = "weights_kv_int4"
35
34
  SMOOTH_QUANT = "smooth_quant"
36
35
  FP8 = "fp8"
37
36
  FP8_KV = "fp8_kv"
@@ -59,9 +58,10 @@ class CheckpointRepository(BaseModel):
59
58
 
60
59
  class TrussTRTLLMBuildConfiguration(BaseModel):
61
60
  base_model: TrussTRTLLMModel
62
- max_seq_len: int
63
- max_batch_size: Optional[int] = 256
64
- max_num_tokens: Optional[int] = 8192
61
+ max_input_len: int
62
+ max_output_len: int
63
+ max_batch_size: int
64
+ max_num_tokens: Optional[int] = None
65
65
  max_beam_width: int = 1
66
66
  max_prompt_embedding_table_size: int = 0
67
67
  checkpoint_repository: CheckpointRepository
@@ -75,6 +75,7 @@ class TrussTRTLLMBuildConfiguration(BaseModel):
75
75
  plugin_configuration: TrussTRTLLMPluginConfiguration = (
76
76
  TrussTRTLLMPluginConfiguration()
77
77
  )
78
+ use_fused_mlp: bool = False
78
79
  kv_cache_free_gpu_mem_fraction: float = 0.9
79
80
  num_builder_gpus: Optional[int] = None
80
81
  enable_chunked_context: bool = False
@@ -106,9 +106,17 @@ HTTP_PUBLIC_BLOB_BACKEND = "http_public"
106
106
 
107
107
  REGISTRY_BUILD_SECRET_PREFIX = "DOCKER_REGISTRY_"
108
108
 
109
- TRTLLM_BASE_IMAGE = "baseten/briton-server:v0.13.0_v0.0.14"
109
+ TRTLLM_BASE_IMAGE = "baseten/briton-server:5fa9436e_v0.0.11"
110
110
  TRTLLM_PYTHON_EXECUTABLE = "/usr/bin/python3"
111
- BASE_TRTLLM_REQUIREMENTS = ["briton==0.3.2"]
111
+ BASE_TRTLLM_REQUIREMENTS = [
112
+ "grpcio==1.62.3",
113
+ "grpcio-tools==1.62.3",
114
+ "transformers==4.44.2",
115
+ "truss==0.9.42rc010",
116
+ "outlines==0.0.46",
117
+ "torch==2.4.0",
118
+ "sentencepiece==0.2.0",
119
+ ]
112
120
  AUDIO_MODEL_TRTLLM_REQUIREMENTS = [
113
121
  "--extra-index-url https://pypi.nvidia.com",
114
122
  "tensorrt_cu12_bindings==10.2.0.post1",
@@ -412,6 +412,17 @@ class ServingImageBuilder(ImageBuilder):
412
412
  DEFAULT_BUNDLED_PACKAGES_DIR,
413
413
  )
414
414
 
415
+ tensor_parallel_count = (
416
+ config.trt_llm.build.tensor_parallel_count # type: ignore[union-attr]
417
+ if config.trt_llm.build is not None
418
+ else config.trt_llm.serve.tensor_parallel_count # type: ignore[union-attr]
419
+ )
420
+
421
+ if tensor_parallel_count != config.resources.accelerator.count:
422
+ raise ValueError(
423
+ "Tensor parallelism and GPU count must be the same for TRT-LLM"
424
+ )
425
+
415
426
  config.runtime.predict_concurrency = TRTLLM_PREDICT_CONCURRENCY
416
427
 
417
428
  if not is_audio_model:
@@ -75,18 +75,6 @@ class LocalConfigHandler:
75
75
  bptr_data_dir.mkdir(exist_ok=True, parents=True)
76
76
  return bptr_data_dir
77
77
 
78
- @staticmethod
79
- def dynamic_config_path():
80
- dynamic_config_dir = LocalConfigHandler.TRUSS_CONFIG_DIR / "b10_dynamic_config"
81
- dynamic_config_dir.mkdir(exist_ok=True, parents=True)
82
- return dynamic_config_dir
83
-
84
- @staticmethod
85
- def set_dynamic_config(key: str, value: str):
86
- key_path = LocalConfigHandler.dynamic_config_path() / key
87
- with key_path.open("w") as key_file:
88
- key_file.write(value)
89
-
90
78
  @staticmethod
91
79
  def _signatures_dir_path():
92
80
  return LocalConfigHandler.TRUSS_CONFIG_DIR / "signatures"
@@ -1,7 +1,6 @@
1
1
  import contextlib
2
2
  import logging
3
3
  import sys
4
- import textwrap
5
4
  from http import HTTPStatus
6
5
  from types import TracebackType
7
6
  from typing import (
@@ -14,7 +13,6 @@ from typing import (
14
13
  )
15
14
 
16
15
  import fastapi
17
- import pydantic
18
16
  import starlette.responses
19
17
  from fastapi import HTTPException
20
18
  from fastapi.responses import JSONResponse
@@ -173,44 +171,3 @@ def intercept_exceptions(
173
171
  "Internal Server Error", exc_info=filter_traceback(model_file_name)
174
172
  )
175
173
  raise UserCodeError(str(exc))
176
-
177
-
178
- def _loc_to_dot_sep(loc: Tuple[Union[str, int], ...]) -> str:
179
- # From https://docs.pydantic.dev/latest/errors/errors/#customize-error-messages.
180
- # Chained field access is stylized with `.`-notation (corresponding to str parts)
181
- # and array indexing is stylized with `[i]`-notation (corresponding to int parts).
182
- # E.g. ('items', 1, 'value') -> items[1].value.
183
- parts = []
184
- for i, x in enumerate(loc):
185
- if isinstance(x, str):
186
- if i > 0:
187
- parts.append(".")
188
- parts.append(x)
189
- elif isinstance(x, int):
190
- parts.append(f"[{x}]")
191
- else:
192
- raise TypeError(f"Unexpected type: {x}.")
193
- return "".join(parts)
194
-
195
-
196
- def format_pydantic_validation_error(exc: pydantic.ValidationError) -> str:
197
- if exc.error_count() == 1:
198
- parts = ["Input Parsing Error:"]
199
- else:
200
- parts = ["Input Parsing Errors:"]
201
-
202
- try:
203
- for error in exc.errors(include_url=False, include_input=False):
204
- loc = _loc_to_dot_sep(error["loc"])
205
- if error["msg"]:
206
- msg = error["msg"]
207
- else:
208
- error_no_loc = dict(error)
209
- error_no_loc.pop("loc")
210
- msg = str(error_no_loc)
211
- parts.append(textwrap.indent(f"`{loc}`: {msg}.", " "))
212
- except: # noqa: E722
213
- # Fallback in case any of the fields cannot be processed as expected.
214
- return f"Input Parsing Error, {str(exc)}"
215
-
216
- return "\n".join(parts)
@@ -4,7 +4,6 @@ import enum
4
4
  import importlib
5
5
  import importlib.util
6
6
  import inspect
7
- import json
8
7
  import logging
9
8
  import os
10
9
  import pathlib
@@ -36,7 +35,7 @@ from common.retry import retry
36
35
  from common.schema import TrussSchema
37
36
  from opentelemetry import trace
38
37
  from pydantic import BaseModel
39
- from shared import dynamic_config_resolver, serialization
38
+ from shared import serialization
40
39
  from shared.lazy_data_resolver import LazyDataResolver
41
40
  from shared.secrets_resolver import SecretsResolver
42
41
 
@@ -54,7 +53,6 @@ EXTENSIONS_DIR_NAME = "extensions"
54
53
  EXTENSION_CLASS_NAME = "Extension"
55
54
  EXTENSION_FILE_NAME = "extension"
56
55
  TRT_LLM_EXTENSION_NAME = "trt_llm"
57
- POLL_FOR_ENVIRONMENT_UPDATES_TIMEOUT_SECS = 30
58
56
 
59
57
 
60
58
  @asynccontextmanager
@@ -193,7 +191,6 @@ class ModelDescriptor:
193
191
  predict: MethodDescriptor
194
192
  postprocess: Optional[MethodDescriptor]
195
193
  truss_schema: Optional[TrussSchema]
196
- setup_environment: Optional[MethodDescriptor]
197
194
 
198
195
  @cached_property
199
196
  def skip_input_parsing(self) -> bool:
@@ -246,19 +243,11 @@ class ModelDescriptor:
246
243
  else:
247
244
  return_annotation = inspect.signature(model.predict).return_annotation
248
245
 
249
- if hasattr(model, "setup_environment"):
250
- setup_environment = MethodDescriptor.from_method(
251
- model.setup_environment, "setup_environment"
252
- )
253
- else:
254
- setup_environment = None
255
-
256
246
  return cls(
257
247
  preprocess=preprocess,
258
248
  predict=predict,
259
249
  postprocess=postprocess,
260
250
  truss_schema=TrussSchema.from_signature(parameters, return_annotation),
261
- setup_environment=setup_environment,
262
251
  )
263
252
 
264
253
 
@@ -270,8 +259,6 @@ class ModelWrapper:
270
259
  _logger: logging.Logger
271
260
  _status: "ModelWrapper.Status"
272
261
  _predict_semaphore: Semaphore
273
- _poll_for_environment_updates_task: Optional[asyncio.Task]
274
- _environment: Optional[dict]
275
262
 
276
263
  class Status(Enum):
277
264
  NOT_READY = 0
@@ -293,8 +280,6 @@ class ModelWrapper:
293
280
  "predict_concurrency", DEFAULT_PREDICT_CONCURRENCY
294
281
  )
295
282
  )
296
- self._poll_for_environment_updates_task = None
297
- self._environment = None
298
283
 
299
284
  @property
300
285
  def _model(self) -> Any:
@@ -434,9 +419,6 @@ class ModelWrapper:
434
419
 
435
420
  self._maybe_model_descriptor = ModelDescriptor.from_model(self._model)
436
421
 
437
- if self._maybe_model_descriptor.setup_environment:
438
- self._initialize_environment_before_load()
439
-
440
422
  if hasattr(self._model, "load"):
441
423
  retry(
442
424
  self._model.load,
@@ -446,76 +428,6 @@ class ModelWrapper:
446
428
  gap_seconds=1.0,
447
429
  )
448
430
 
449
- def setup_polling_for_environment_updates(self):
450
- self._poll_for_environment_updates_task = asyncio.create_task(
451
- self.poll_for_environment_updates()
452
- )
453
-
454
- def _initialize_environment_before_load(self):
455
- environment_str = dynamic_config_resolver.get_dynamic_config_value_sync(
456
- dynamic_config_resolver.ENVIRONMENT_DYNAMIC_CONFIG_KEY
457
- )
458
- if environment_str:
459
- environment_json = json.loads(environment_str)
460
- self._logger.info(
461
- f"Executing model.setup_environment with environment: {environment_json}"
462
- )
463
- # TODO: Support calling an async setup_environment() here once we support async load()
464
- self._model.setup_environment(environment_json)
465
- self._environment = environment_json
466
-
467
- async def setup_environment(self, environment: Optional[dict]):
468
- descriptor = self.model_descriptor.setup_environment
469
- if not descriptor:
470
- return
471
- self._logger.info(
472
- f"Executing model.setup_environment with environment: {environment}"
473
- )
474
- if descriptor.is_async:
475
- return await self._model.setup_environment(environment)
476
- else:
477
- return await to_thread.run_sync(self._model.setup_environment, environment)
478
-
479
- async def poll_for_environment_updates(self) -> None:
480
- last_modified_time = None
481
- environment_config_filename = (
482
- dynamic_config_resolver.get_dynamic_config_file_path(
483
- dynamic_config_resolver.ENVIRONMENT_DYNAMIC_CONFIG_KEY
484
- )
485
- )
486
-
487
- while True:
488
- # Give control back to the event loop while waiting for environment updates
489
- await asyncio.sleep(POLL_FOR_ENVIRONMENT_UPDATES_TIMEOUT_SECS)
490
-
491
- # Wait for load to finish before checking for environment updates
492
- if not self.ready:
493
- continue
494
-
495
- # Skip polling if no setup_environment implementation provided
496
- if not self.model_descriptor.setup_environment:
497
- break
498
-
499
- if environment_config_filename.exists():
500
- try:
501
- current_mtime = os.path.getmtime(environment_config_filename)
502
- if not last_modified_time or last_modified_time != current_mtime:
503
- environment_str = await dynamic_config_resolver.get_dynamic_config_value_async(
504
- dynamic_config_resolver.ENVIRONMENT_DYNAMIC_CONFIG_KEY
505
- )
506
- if environment_str:
507
- last_modified_time = current_mtime
508
- environment_json = json.loads(environment_str)
509
- # Avoid rerunning `setup_environment` with the same environment
510
- if self._environment != environment_json:
511
- await self.setup_environment(environment_json)
512
- self._environment = environment_json
513
- except Exception as e:
514
- self._logger.exception(
515
- "Exception while setting up environment: " + str(e),
516
- exc_info=errors.filter_traceback(self._model_file_name),
517
- )
518
-
519
431
  async def preprocess(
520
432
  self,
521
433
  inputs: serialization.InputType,
@@ -17,4 +17,3 @@ pyyaml==6.0.0
17
17
  requests==2.31.0
18
18
  uvicorn==0.24.0
19
19
  uvloop==0.19.0
20
- aiofiles==24.1.0
@@ -141,7 +141,7 @@ class BasetenEndpoints:
141
141
  inputs = truss_schema.input_type.parse_obj(inputs)
142
142
  except pydantic.ValidationError as e:
143
143
  raise errors.InputParsingError(
144
- errors.format_pydantic_validation_error(e)
144
+ f"Request Validation Error, {str(e)}"
145
145
  ) from e
146
146
  else:
147
147
  if truss_schema:
@@ -151,7 +151,7 @@ class BasetenEndpoints:
151
151
  inputs = truss_schema.input_type.parse_raw(body_raw)
152
152
  except pydantic.ValidationError as e:
153
153
  raise errors.InputParsingError(
154
- errors.format_pydantic_validation_error(e)
154
+ f"Request Validation Error, {str(e)}"
155
155
  ) from e
156
156
  else:
157
157
  try:
@@ -281,7 +281,6 @@ class TrussServer:
281
281
  if self._setup_json_logger:
282
282
  setup_logging()
283
283
  self._model.start_load_thread()
284
- self._model.setup_polling_for_environment_updates()
285
284
 
286
285
  def create_application(self):
287
286
  app = FastAPI(
@@ -0,0 +1,13 @@
1
+ from pathlib import Path
2
+ from typing import Optional
3
+
4
+ DYNAMIC_CONFIG_MOUNT_DIR = "/etc/b10_dynamic_config"
5
+
6
+
7
+ def get_dynamic_config_value(key: str) -> Optional[str]:
8
+ dynamic_config_path = Path(DYNAMIC_CONFIG_MOUNT_DIR) / key
9
+ if dynamic_config_path.exists() and dynamic_config_path.is_file():
10
+ with dynamic_config_path.open() as dynamic_config_file:
11
+ dynamic_config_value = dynamic_config_file.read()
12
+ return dynamic_config_value
13
+ return None