truss 0.9.44__tar.gz → 0.9.45.dev100__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 (416) hide show
  1. {truss-0.9.44 → truss-0.9.45.dev100}/PKG-INFO +2 -1
  2. {truss-0.9.44 → truss-0.9.45.dev100}/pyproject.toml +2 -1
  3. truss-0.9.45.dev100/truss/.pytest_cache/.gitignore +2 -0
  4. truss-0.9.45.dev100/truss/.pytest_cache/CACHEDIR.TAG +4 -0
  5. truss-0.9.45.dev100/truss/.pytest_cache/README.md +8 -0
  6. truss-0.9.45.dev100/truss/.pytest_cache/v/cache/lastfailed +1 -0
  7. truss-0.9.45.dev100/truss/.pytest_cache/v/cache/nodeids +3 -0
  8. truss-0.9.45.dev100/truss/.pytest_cache/v/cache/stepwise +1 -0
  9. truss-0.9.45.dev100/truss/api/__pycache__/__init__.cpython-39.pyc +0 -0
  10. truss-0.9.45.dev100/truss/api/__pycache__/definitions.cpython-39.pyc +0 -0
  11. truss-0.9.45.dev100/truss/cli/__pycache__/__init__.cpython-39.pyc +0 -0
  12. truss-0.9.45.dev100/truss/cli/__pycache__/cli.cpython-39.pyc +0 -0
  13. truss-0.9.45.dev100/truss/cli/__pycache__/console.cpython-39.pyc +0 -0
  14. truss-0.9.45.dev100/truss/cli/__pycache__/create.cpython-39.pyc +0 -0
  15. {truss-0.9.44 → truss-0.9.45.dev100}/truss/cli/cli.py +29 -3
  16. truss-0.9.45.dev100/truss/config/__pycache__/trt_llm.cpython-39.pyc +0 -0
  17. truss-0.9.45.dev100/truss/contexts/__pycache__/truss_context.cpython-39.pyc +0 -0
  18. truss-0.9.45.dev100/truss/contexts/image_builder/__pycache__/cache_warmer.cpython-39.pyc +0 -0
  19. truss-0.9.45.dev100/truss/contexts/image_builder/__pycache__/image_builder.cpython-39.pyc +0 -0
  20. truss-0.9.45.dev100/truss/contexts/image_builder/__pycache__/serving_image_builder.cpython-39-pytest-7.2.0.pyc +0 -0
  21. truss-0.9.45.dev100/truss/contexts/image_builder/__pycache__/serving_image_builder.cpython-39.pyc +0 -0
  22. truss-0.9.45.dev100/truss/contexts/image_builder/__pycache__/util.cpython-39.pyc +0 -0
  23. truss-0.9.45.dev100/truss/contexts/local_loader/__pycache__/docker_build_emulator.cpython-39.pyc +0 -0
  24. truss-0.9.45.dev100/truss/contexts/local_loader/__pycache__/load_model_local.cpython-39.pyc +0 -0
  25. truss-0.9.45.dev100/truss/contexts/local_loader/__pycache__/truss_module_loader.cpython-39.pyc +0 -0
  26. truss-0.9.45.dev100/truss/contexts/local_loader/__pycache__/utils.cpython-39.pyc +0 -0
  27. truss-0.9.45.dev100/truss/local/__pycache__/local_config.cpython-39.pyc +0 -0
  28. truss-0.9.45.dev100/truss/local/__pycache__/local_config_handler.cpython-39.pyc +0 -0
  29. truss-0.9.45.dev100/truss/patch/__pycache__/calc_patch.cpython-39.pyc +0 -0
  30. truss-0.9.45.dev100/truss/patch/__pycache__/custom_types.cpython-39.pyc +0 -0
  31. truss-0.9.45.dev100/truss/patch/__pycache__/dir_signature.cpython-39.pyc +0 -0
  32. truss-0.9.45.dev100/truss/patch/__pycache__/hash.cpython-39.pyc +0 -0
  33. truss-0.9.45.dev100/truss/patch/__pycache__/signature.cpython-39.pyc +0 -0
  34. truss-0.9.45.dev100/truss/patch/__pycache__/truss_dir_patch_applier.cpython-39.pyc +0 -0
  35. truss-0.9.45.dev100/truss/patch/__pycache__/types.cpython-39.pyc +0 -0
  36. truss-0.9.45.dev100/truss/remote/__pycache__/remote_cli.cpython-39.pyc +0 -0
  37. truss-0.9.45.dev100/truss/remote/__pycache__/remote_factory.cpython-39.pyc +0 -0
  38. truss-0.9.45.dev100/truss/remote/__pycache__/truss_remote.cpython-39.pyc +0 -0
  39. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/__init__.cpython-39.pyc +0 -0
  40. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/api.cpython-39.pyc +0 -0
  41. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/auth.cpython-39.pyc +0 -0
  42. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/core.cpython-39.pyc +0 -0
  43. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/custom_types.cpython-39.pyc +0 -0
  44. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/error.cpython-39.pyc +0 -0
  45. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/remote.cpython-39.pyc +0 -0
  46. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/service.cpython-39.pyc +0 -0
  47. truss-0.9.45.dev100/truss/remote/baseten/__pycache__/types.cpython-39.pyc +0 -0
  48. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/api.py +12 -9
  49. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/core.py +18 -3
  50. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/remote.py +4 -4
  51. truss-0.9.45.dev100/truss/remote/baseten/utils/__pycache__/status.cpython-39.pyc +0 -0
  52. truss-0.9.45.dev100/truss/remote/baseten/utils/__pycache__/tar.cpython-39.pyc +0 -0
  53. truss-0.9.45.dev100/truss/remote/baseten/utils/__pycache__/transfer.cpython-39.pyc +0 -0
  54. truss-0.9.45.dev100/truss/templates/__pycache__/__init__.cpython-39.pyc +0 -0
  55. truss-0.9.45.dev100/truss/templates/control/control/__pycache__/application.cpython-39.pyc +0 -0
  56. truss-0.9.45.dev100/truss/templates/control/control/__pycache__/endpoints.cpython-39.pyc +0 -0
  57. truss-0.9.45.dev100/truss/templates/control/control/helpers/__pycache__/context_managers.cpython-39.pyc +0 -0
  58. truss-0.9.45.dev100/truss/templates/control/control/helpers/__pycache__/custom_types.cpython-39.pyc +0 -0
  59. truss-0.9.45.dev100/truss/templates/control/control/helpers/__pycache__/errors.cpython-39.pyc +0 -0
  60. truss-0.9.45.dev100/truss/templates/control/control/helpers/__pycache__/inference_server_controller.cpython-39.pyc +0 -0
  61. truss-0.9.45.dev100/truss/templates/control/control/helpers/__pycache__/inference_server_process_controller.cpython-39.pyc +0 -0
  62. truss-0.9.45.dev100/truss/templates/control/control/helpers/__pycache__/inference_server_starter.cpython-39.pyc +0 -0
  63. truss-0.9.45.dev100/truss/templates/control/control/helpers/__pycache__/types.cpython-39.pyc +0 -0
  64. truss-0.9.45.dev100/truss/templates/control/control/helpers/truss_patch/__pycache__/__init__.cpython-39.pyc +0 -0
  65. truss-0.9.45.dev100/truss/templates/control/control/helpers/truss_patch/__pycache__/model_code_patch_applier.cpython-39.pyc +0 -0
  66. truss-0.9.45.dev100/truss/templates/control/control/helpers/truss_patch/__pycache__/model_container_patch_applier.cpython-39.pyc +0 -0
  67. truss-0.9.45.dev100/truss/templates/control/control/helpers/truss_patch/__pycache__/requirement_name_identifier.cpython-39.pyc +0 -0
  68. truss-0.9.45.dev100/truss/templates/control/control/helpers/truss_patch/__pycache__/system_packages.cpython-39.pyc +0 -0
  69. truss-0.9.45.dev100/truss/templates/server/__pycache__/__init__.cpython-39.pyc +0 -0
  70. truss-0.9.45.dev100/truss/templates/server/common/__pycache__/__init__.cpython-39.pyc +0 -0
  71. truss-0.9.45.dev100/truss/templates/server/common/__pycache__/errors.cpython-39.pyc +0 -0
  72. truss-0.9.45.dev100/truss/templates/server/common/__pycache__/patches.cpython-39.pyc +0 -0
  73. truss-0.9.45.dev100/truss/templates/server/common/__pycache__/retry.cpython-39.pyc +0 -0
  74. truss-0.9.45.dev100/truss/templates/server/common/__pycache__/schema.cpython-39.pyc +0 -0
  75. truss-0.9.45.dev100/truss/templates/server/common/__pycache__/termination_handler_middleware.cpython-39.pyc +0 -0
  76. truss-0.9.45.dev100/truss/templates/server/common/__pycache__/truss_server.cpython-39.pyc +0 -0
  77. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server.Dockerfile.jinja +1 -1
  78. truss-0.9.45.dev100/truss/templates/shared/__pycache__/__init__.cpython-39.pyc +0 -0
  79. truss-0.9.45.dev100/truss/templates/shared/__pycache__/dynamic_config_resolver.cpython-39.pyc +0 -0
  80. truss-0.9.45.dev100/truss/templates/shared/__pycache__/lazy_data_resolver.cpython-39.pyc +0 -0
  81. truss-0.9.45.dev100/truss/templates/shared/__pycache__/logging.cpython-39.pyc +0 -0
  82. truss-0.9.45.dev100/truss/templates/shared/__pycache__/secrets_resolver.cpython-39.pyc +0 -0
  83. truss-0.9.45.dev100/truss/templates/shared/__pycache__/serialization.cpython-39.pyc +0 -0
  84. truss-0.9.45.dev100/truss/templates/shared/__pycache__/util.cpython-39.pyc +0 -0
  85. truss-0.9.45.dev100/truss/test_data/test_basic_truss/packages2/package1/foo.py +2 -0
  86. truss-0.9.45.dev100/truss/test_data/test_basic_truss/sidscript.py +8 -0
  87. truss-0.9.45.dev100/truss/test_data/test_streaming_async_generator_truss/model/__pycache__/model.cpython-39.pyc +0 -0
  88. truss-0.9.45.dev100/truss/tests/__pycache__/__init__.cpython-39.pyc +0 -0
  89. truss-0.9.45.dev100/truss/tests/__pycache__/conftest.cpython-39-pytest-7.2.0.pyc +0 -0
  90. truss-0.9.45.dev100/truss/tests/__pycache__/helpers.cpython-39.pyc +0 -0
  91. truss-0.9.45.dev100/truss/tests/__pycache__/test_build.cpython-39-pytest-7.2.0.pyc +0 -0
  92. truss-0.9.45.dev100/truss/tests/__pycache__/test_config.cpython-39-pytest-7.2.0.pyc +0 -0
  93. truss-0.9.45.dev100/truss/tests/__pycache__/test_context_builder_image.cpython-39-pytest-7.2.0.pyc +0 -0
  94. truss-0.9.45.dev100/truss/tests/__pycache__/test_control_truss_patching.cpython-39-pytest-7.2.0.pyc +0 -0
  95. truss-0.9.45.dev100/truss/tests/__pycache__/test_docker.cpython-39-pytest-7.2.0.pyc +0 -0
  96. truss-0.9.45.dev100/truss/tests/__pycache__/test_model_inference.cpython-39-pytest-7.2.0.pyc +0 -0
  97. truss-0.9.45.dev100/truss/tests/__pycache__/test_model_schema.cpython-39-pytest-7.2.0.pyc +0 -0
  98. truss-0.9.45.dev100/truss/tests/__pycache__/test_testing_utilities_for_other_tests.cpython-39-pytest-7.2.0.pyc +0 -0
  99. truss-0.9.45.dev100/truss/tests/__pycache__/test_truss_gatherer.cpython-39-pytest-7.2.0.pyc +0 -0
  100. truss-0.9.45.dev100/truss/tests/__pycache__/test_truss_handle.cpython-39-pytest-7.2.0.pyc +0 -0
  101. truss-0.9.45.dev100/truss/tests/__pycache__/test_trussless_docker_server.cpython-39-pytest-7.2.0.pyc +0 -0
  102. truss-0.9.45.dev100/truss/tests/__pycache__/test_util.cpython-39-pytest-7.2.0.pyc +0 -0
  103. truss-0.9.45.dev100/truss/tests/__pycache__/test_validation.cpython-39-pytest-7.2.0.pyc +0 -0
  104. truss-0.9.45.dev100/truss/tests/contexts/image_builder/__pycache__/test_serving_image_builder.cpython-39-pytest-7.2.0.pyc +0 -0
  105. truss-0.9.45.dev100/truss/tests/contexts/local_loader/__pycache__/test_load_local.cpython-39-pytest-7.2.0.pyc +0 -0
  106. truss-0.9.45.dev100/truss/tests/contexts/local_loader/__pycache__/test_truss_module_finder.cpython-39-pytest-7.2.0.pyc +0 -0
  107. truss-0.9.45.dev100/truss/tests/local/__pycache__/__init__.cpython-39.pyc +0 -0
  108. truss-0.9.45.dev100/truss/tests/local/__pycache__/test_local_config_handler.cpython-39-pytest-7.2.0.pyc +0 -0
  109. truss-0.9.45.dev100/truss/tests/patch/__pycache__/test_calc_patch.cpython-39-pytest-7.2.0.pyc +0 -0
  110. truss-0.9.45.dev100/truss/tests/patch/__pycache__/test_dir_signature.cpython-39-pytest-7.2.0.pyc +0 -0
  111. truss-0.9.45.dev100/truss/tests/patch/__pycache__/test_hash.cpython-39-pytest-7.2.0.pyc +0 -0
  112. truss-0.9.45.dev100/truss/tests/patch/__pycache__/test_signature.cpython-39-pytest-7.2.0.pyc +0 -0
  113. truss-0.9.45.dev100/truss/tests/patch/__pycache__/test_truss_dir_patch_applier.cpython-39-pytest-7.2.0.pyc +0 -0
  114. truss-0.9.45.dev100/truss/tests/patch/__pycache__/test_types.cpython-39-pytest-7.2.0.pyc +0 -0
  115. truss-0.9.45.dev100/truss/tests/remote/__pycache__/test_remote_factory.cpython-39-pytest-7.2.0.pyc +0 -0
  116. truss-0.9.45.dev100/truss/tests/remote/__pycache__/test_truss_remote.cpython-39-pytest-7.2.0.pyc +0 -0
  117. truss-0.9.45.dev100/truss/tests/remote/baseten/__pycache__/test_api.cpython-39-pytest-7.2.0.pyc +0 -0
  118. truss-0.9.45.dev100/truss/tests/remote/baseten/__pycache__/test_auth.cpython-39-pytest-7.2.0.pyc +0 -0
  119. truss-0.9.45.dev100/truss/tests/remote/baseten/__pycache__/test_core.cpython-39-pytest-7.2.0.pyc +0 -0
  120. truss-0.9.45.dev100/truss/tests/remote/baseten/__pycache__/test_remote.cpython-39-pytest-7.2.0.pyc +0 -0
  121. truss-0.9.45.dev100/truss/tests/remote/baseten/__pycache__/test_service.cpython-39-pytest-7.2.0.pyc +0 -0
  122. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/remote/baseten/test_api.py +56 -0
  123. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/remote/baseten/test_remote.py +31 -31
  124. truss-0.9.45.dev100/truss/tests/templates/control/control/__pycache__/test_server.cpython-39-pytest-7.2.0.pyc +0 -0
  125. truss-0.9.45.dev100/truss/tests/templates/control/control/__pycache__/test_server_integration.cpython-39-pytest-7.2.0.pyc +0 -0
  126. truss-0.9.45.dev100/truss/tests/templates/control/control/helpers/__pycache__/test_context_managers.cpython-39-pytest-7.2.0.pyc +0 -0
  127. truss-0.9.45.dev100/truss/tests/templates/control/control/helpers/__pycache__/test_model_container_patch_applier.cpython-39-pytest-7.2.0.pyc +0 -0
  128. truss-0.9.45.dev100/truss/tests/templates/control/control/helpers/__pycache__/test_requirement_name_identifier.cpython-39-pytest-7.2.0.pyc +0 -0
  129. truss-0.9.45.dev100/truss/tests/templates/core/server/__pycache__/test_dynamic_config_resolver.cpython-39-pytest-7.2.0.pyc +0 -0
  130. truss-0.9.45.dev100/truss/tests/templates/core/server/__pycache__/test_lazy_data_resolver.cpython-39-pytest-7.2.0.pyc +0 -0
  131. truss-0.9.45.dev100/truss/tests/templates/core/server/__pycache__/test_secrets_resolver.cpython-39-pytest-7.2.0.pyc +0 -0
  132. truss-0.9.45.dev100/truss/tests/templates/core/server/common/__pycache__/test_truss_server.cpython-39-pytest-7.2.0.pyc +0 -0
  133. truss-0.9.45.dev100/truss/tests/templates/core/server/common/__pycache__/test_util.cpython-39-pytest-7.2.0.pyc +0 -0
  134. truss-0.9.45.dev100/truss/tests/templates/server/__pycache__/test_model_wrapper.cpython-39-pytest-7.2.0.pyc +0 -0
  135. truss-0.9.45.dev100/truss/tests/templates/server/__pycache__/test_schema.cpython-39-pytest-7.2.0.pyc +0 -0
  136. truss-0.9.45.dev100/truss/tests/templates/server/__pycache__/test_truss_server.cpython-39-pytest-7.2.0.pyc +0 -0
  137. truss-0.9.45.dev100/truss/tests/templates/server/common/__pycache__/test_retry.cpython-39-pytest-7.2.0.pyc +0 -0
  138. truss-0.9.45.dev100/truss/tests/templates/server/common/__pycache__/test_termination_handler_middleware.cpython-39-pytest-7.2.0.pyc +0 -0
  139. truss-0.9.45.dev100/truss/tests/trt_llm/__pycache__/test_validation.cpython-39-pytest-7.2.0.pyc +0 -0
  140. truss-0.9.45.dev100/truss/tests/util/__pycache__/test_config_checks.cpython-39-pytest-7.2.0.pyc +0 -0
  141. truss-0.9.45.dev100/truss/tests/util/__pycache__/test_path.cpython-39-pytest-7.2.0.pyc +0 -0
  142. truss-0.9.45.dev100/truss/trt_llm/__pycache__/validation.cpython-39.pyc +0 -0
  143. truss-0.9.45.dev100/truss/util/__pycache__/config_checks.cpython-39.pyc +0 -0
  144. truss-0.9.45.dev100/truss/util/__pycache__/data_structures.cpython-39.pyc +0 -0
  145. truss-0.9.45.dev100/truss/util/__pycache__/download.cpython-39.pyc +0 -0
  146. truss-0.9.45.dev100/truss/util/__pycache__/errors.cpython-39.pyc +0 -0
  147. truss-0.9.45.dev100/truss/util/__pycache__/jinja.cpython-39.pyc +0 -0
  148. truss-0.9.45.dev100/truss/util/__pycache__/log_utils.cpython-39.pyc +0 -0
  149. truss-0.9.45.dev100/truss/util/__pycache__/path.cpython-39.pyc +0 -0
  150. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/definitions.py +9 -3
  151. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/public_api.py +3 -0
  152. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/remote.py +2 -6
  153. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/stub.py +8 -4
  154. {truss-0.9.44 → truss-0.9.45.dev100}/CODE_OF_CONDUCT.md +0 -0
  155. {truss-0.9.44 → truss-0.9.45.dev100}/CONTRIBUTING.md +0 -0
  156. {truss-0.9.44 → truss-0.9.45.dev100}/LICENSE +0 -0
  157. {truss-0.9.44 → truss-0.9.45.dev100}/README.md +0 -0
  158. {truss-0.9.44 → truss-0.9.45.dev100}/context_builder.Dockerfile +0 -0
  159. {truss-0.9.44 → truss-0.9.45.dev100}/truss/__init__.py +0 -0
  160. {truss-0.9.44 → truss-0.9.45.dev100}/truss/api/__init__.py +0 -0
  161. {truss-0.9.44 → truss-0.9.45.dev100}/truss/api/definitions.py +0 -0
  162. {truss-0.9.44 → truss-0.9.45.dev100}/truss/blob/blob_backend.py +0 -0
  163. {truss-0.9.44 → truss-0.9.45.dev100}/truss/blob/blob_backend_registry.py +0 -0
  164. {truss-0.9.44 → truss-0.9.45.dev100}/truss/blob/http_public_blob_backend.py +0 -0
  165. {truss-0.9.44 → truss-0.9.45.dev100}/truss/build.py +0 -0
  166. {truss-0.9.44 → truss-0.9.45.dev100}/truss/cli/__init__.py +0 -0
  167. {truss-0.9.44 → truss-0.9.45.dev100}/truss/config/trt_llm.py +0 -0
  168. {truss-0.9.44 → truss-0.9.45.dev100}/truss/constants.py +0 -0
  169. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/image_builder/cache_warmer.py +0 -0
  170. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/image_builder/image_builder.py +0 -0
  171. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/image_builder/serving_image_builder.py +0 -0
  172. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/image_builder/util.py +0 -0
  173. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/local_loader/docker_build_emulator.py +0 -0
  174. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/local_loader/load_model_local.py +0 -0
  175. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/local_loader/truss_module_loader.py +0 -0
  176. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/local_loader/utils.py +0 -0
  177. {truss-0.9.44 → truss-0.9.45.dev100}/truss/contexts/truss_context.py +0 -0
  178. {truss-0.9.44 → truss-0.9.45.dev100}/truss/custom_types.py +0 -0
  179. {truss-0.9.44 → truss-0.9.45.dev100}/truss/decorators.py +0 -0
  180. {truss-0.9.44 → truss-0.9.45.dev100}/truss/docker.py +0 -0
  181. {truss-0.9.44 → truss-0.9.45.dev100}/truss/errors.py +0 -0
  182. {truss-0.9.44 → truss-0.9.45.dev100}/truss/local/local_config.py +0 -0
  183. {truss-0.9.44 → truss-0.9.45.dev100}/truss/local/local_config_handler.py +0 -0
  184. {truss-0.9.44 → truss-0.9.45.dev100}/truss/model_inference.py +0 -0
  185. {truss-0.9.44 → truss-0.9.45.dev100}/truss/notebook.py +0 -0
  186. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/calc_patch.py +0 -0
  187. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/constants.py +0 -0
  188. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/custom_types.py +0 -0
  189. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/dir_signature.py +0 -0
  190. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/hash.py +0 -0
  191. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/local_truss_patch_applier.py +0 -0
  192. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/signature.py +0 -0
  193. {truss-0.9.44 → truss-0.9.45.dev100}/truss/patch/truss_dir_patch_applier.py +0 -0
  194. {truss-0.9.44 → truss-0.9.45.dev100}/truss/readme_generator.py +0 -0
  195. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/__init__.py +0 -0
  196. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/auth.py +0 -0
  197. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/custom_types.py +0 -0
  198. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/error.py +0 -0
  199. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/service.py +0 -0
  200. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/utils/status.py +0 -0
  201. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/utils/tar.py +0 -0
  202. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/baseten/utils/transfer.py +0 -0
  203. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/remote_cli.py +0 -0
  204. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/remote_factory.py +0 -0
  205. {truss-0.9.44 → truss-0.9.45.dev100}/truss/remote/truss_remote.py +0 -0
  206. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/README.md.jinja +0 -0
  207. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/__init__.py +0 -0
  208. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/base.Dockerfile.jinja +0 -0
  209. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/cache.Dockerfile.jinja +0 -0
  210. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/cache_requirements.txt +0 -0
  211. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/application.py +0 -0
  212. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/endpoints.py +0 -0
  213. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/context_managers.py +0 -0
  214. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/custom_types.py +0 -0
  215. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/errors.py +0 -0
  216. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/inference_server_controller.py +0 -0
  217. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/inference_server_process_controller.py +0 -0
  218. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/inference_server_starter.py +0 -0
  219. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/truss_patch/__init__.py +0 -0
  220. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/truss_patch/model_code_patch_applier.py +0 -0
  221. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/truss_patch/model_container_patch_applier.py +0 -0
  222. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/truss_patch/requirement_name_identifier.py +0 -0
  223. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/helpers/truss_patch/system_packages.py +0 -0
  224. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/control/server.py +0 -0
  225. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/control/requirements.txt +0 -0
  226. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/copy_cache_files.Dockerfile.jinja +0 -0
  227. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/custom/examples.yaml +0 -0
  228. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/custom/model/__init__.py +0 -0
  229. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/custom/model/model.py +0 -0
  230. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/docker_server/proxy.conf.jinja +0 -0
  231. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/docker_server/supervisord.conf.jinja +0 -0
  232. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/docker_server_requirements.txt +0 -0
  233. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/__init__.py +0 -0
  234. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/__init__.py +0 -0
  235. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/errors.py +0 -0
  236. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/patches/whisper/patch.py +0 -0
  237. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/patches.py +0 -0
  238. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/retry.py +0 -0
  239. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/schema.py +0 -0
  240. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/termination_handler_middleware.py +0 -0
  241. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/common/tracing.py +0 -0
  242. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/main.py +0 -0
  243. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/model_wrapper.py +0 -0
  244. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/requirements.txt +0 -0
  245. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/server/truss_server.py +0 -0
  246. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/README.md +0 -0
  247. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/__init__.py +0 -0
  248. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/dynamic_config_resolver.py +0 -0
  249. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/lazy_data_resolver.py +0 -0
  250. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/logging.py +0 -0
  251. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/secrets_resolver.py +0 -0
  252. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/serialization.py +0 -0
  253. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/shared/util.py +0 -0
  254. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/model/model.py +0 -0
  255. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/sigint_patch.py +0 -0
  256. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/whisper_trt/__init__.py +0 -0
  257. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/whisper_trt/assets.py +0 -0
  258. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/whisper_trt/batching.py +0 -0
  259. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/whisper_trt/custom_types.py +0 -0
  260. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/whisper_trt/modeling.py +0 -0
  261. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/whisper_trt/tokenizer.py +0 -0
  262. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-audio/packages/whisper_trt/utils.py +0 -0
  263. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-briton/README.md +0 -0
  264. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-briton/packages/briton_pb2.py +0 -0
  265. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-briton/packages/briton_pb2_grpc.py +0 -0
  266. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-briton/src/engine.py +0 -0
  267. {truss-0.9.44 → truss-0.9.45.dev100}/truss/templates/trtllm-briton/src/extension.py +0 -0
  268. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/annotated_types_truss/config.yaml +0 -0
  269. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/annotated_types_truss/model/__init__.py +0 -0
  270. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/annotated_types_truss/model/model.py +0 -0
  271. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/auto-mpg.data +0 -0
  272. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/context_builder_image_test/Dockerfile +0 -0
  273. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/context_builder_image_test/test.py +0 -0
  274. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/gcs_fix/config.yaml +0 -0
  275. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/gcs_fix/model/__init__.py +0 -0
  276. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/gcs_fix/model/model.py +0 -0
  277. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/happy.ipynb +0 -0
  278. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/model_load_failure_test/config.yaml +0 -0
  279. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/model_load_failure_test/model/model.py +0 -0
  280. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/patch_ping_test_server/app.py +0 -0
  281. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/pima-indians-diabetes.csv +0 -0
  282. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/readme_int_example.md +0 -0
  283. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/readme_no_example.md +0 -0
  284. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/readme_str_example.md +0 -0
  285. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/server.Dockerfile +0 -0
  286. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/server_conformance_test_truss/config.yaml +0 -0
  287. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/server_conformance_test_truss/model/__init__.py +0 -0
  288. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/server_conformance_test_truss/model/model.py +0 -0
  289. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_async_truss/config.yaml +0 -0
  290. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_async_truss/model/model.py +0 -0
  291. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_basic_truss/config.yaml +0 -0
  292. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_basic_truss/model/__init__.py +0 -0
  293. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_basic_truss/model/model.py +0 -0
  294. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_build_commands/config.yaml +0 -0
  295. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_build_commands/model/model.py +0 -0
  296. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_build_commands_failure/config.yaml +0 -0
  297. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_build_commands_failure/model/model.py +0 -0
  298. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_concurrency_truss/config.yaml +0 -0
  299. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_concurrency_truss/model/model.py +0 -0
  300. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_docker_server_truss/config.yaml +0 -0
  301. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_docker_server_truss/test_docker_image/Dockerfile +0 -0
  302. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_docker_server_truss/test_docker_image/README.md +0 -0
  303. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_docker_server_truss/test_docker_image/VERSION +0 -0
  304. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_docker_server_truss/test_docker_image/app.py +0 -0
  305. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_docker_server_truss/test_docker_image/build_upload_new_image.sh +0 -0
  306. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v1/config.yaml +0 -0
  307. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v1/model/__init__.py +0 -0
  308. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v1/model/model.py +0 -0
  309. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v1/requirements.txt +0 -0
  310. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v2/config.yaml +0 -0
  311. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v2/model/__init__.py +0 -0
  312. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v2/model/model.py +0 -0
  313. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_pyantic_v2/requirements.txt +0 -0
  314. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_requirements_file_truss/config.yaml +0 -0
  315. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_requirements_file_truss/model/__init__.py +0 -0
  316. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_requirements_file_truss/model/model.py +0 -0
  317. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_requirements_file_truss/requirements.txt +0 -0
  318. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_async_generator_truss/config.yaml +0 -0
  319. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_async_generator_truss/model/model.py +0 -0
  320. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_read_timeout/config.yaml +0 -0
  321. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_read_timeout/model/model.py +0 -0
  322. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss/config.yaml +0 -0
  323. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss/model/model.py +0 -0
  324. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss_with_error/config.yaml +0 -0
  325. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss_with_error/model/model.py +0 -0
  326. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss_with_error/packages/helpers_1.py +0 -0
  327. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss_with_error/packages/helpers_2.py +0 -0
  328. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss_with_tracing/config.yaml +0 -0
  329. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_streaming_truss_with_tracing/model/model.py +0 -0
  330. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_trt_llm_truss/config.yaml +0 -0
  331. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_trt_llm_truss/model/__init__.py +0 -0
  332. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_trt_llm_truss/model/model.py +0 -0
  333. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss/config.yaml +0 -0
  334. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss/examples.yaml +0 -0
  335. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss/model/__init__.py +0 -0
  336. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss/model/dummy +0 -0
  337. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss/model/model.py +0 -0
  338. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss/packages/test_package/test.py +0 -0
  339. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_server_caching_truss/config.yaml +0 -0
  340. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_server_caching_truss/model/__init__.py +0 -0
  341. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_server_caching_truss/model/model.py +0 -0
  342. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_with_error/config.yaml +0 -0
  343. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_with_error/model/__init__.py +0 -0
  344. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_with_error/model/model.py +0 -0
  345. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_with_error/packages/helpers_1.py +0 -0
  346. {truss-0.9.44 → truss-0.9.45.dev100}/truss/test_data/test_truss_with_error/packages/helpers_2.py +0 -0
  347. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/__init__.py +0 -0
  348. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/conftest.py +0 -0
  349. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/contexts/image_builder/test_serving_image_builder.py +0 -0
  350. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/contexts/local_loader/test_load_local.py +0 -0
  351. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/contexts/local_loader/test_truss_module_finder.py +0 -0
  352. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/helpers.py +0 -0
  353. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/local/__init__.py +0 -0
  354. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/local/test_local_config_handler.py +0 -0
  355. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/patch/test_calc_patch.py +0 -0
  356. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/patch/test_dir_signature.py +0 -0
  357. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/patch/test_hash.py +0 -0
  358. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/patch/test_signature.py +0 -0
  359. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/patch/test_truss_dir_patch_applier.py +0 -0
  360. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/patch/test_types.py +0 -0
  361. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/remote/baseten/test_auth.py +0 -0
  362. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/remote/baseten/test_core.py +0 -0
  363. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/remote/baseten/test_service.py +0 -0
  364. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/remote/test_remote_factory.py +0 -0
  365. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/remote/test_truss_remote.py +0 -0
  366. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/control/control/helpers/test_context_managers.py +0 -0
  367. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/control/control/helpers/test_model_container_patch_applier.py +0 -0
  368. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/control/control/helpers/test_requirement_name_identifier.py +0 -0
  369. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/control/control/test_server.py +0 -0
  370. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/control/control/test_server_integration.py +0 -0
  371. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/core/server/test_dynamic_config_resolver.py +0 -0
  372. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/core/server/test_lazy_data_resolver.py +0 -0
  373. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/core/server/test_secrets_resolver.py +0 -0
  374. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/server/common/test_retry.py +0 -0
  375. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/server/common/test_termination_handler_middleware.py +0 -0
  376. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/server/test_model_wrapper.py +0 -0
  377. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/server/test_schema.py +0 -0
  378. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/templates/server/test_truss_server.py +0 -0
  379. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_build.py +0 -0
  380. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_config.py +0 -0
  381. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_context_builder_image.py +0 -0
  382. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_control_truss_patching.py +0 -0
  383. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_docker.py +0 -0
  384. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_model_inference.py +0 -0
  385. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_model_schema.py +0 -0
  386. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_testing_utilities_for_other_tests.py +0 -0
  387. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_truss_gatherer.py +0 -0
  388. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_truss_handle.py +0 -0
  389. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_trussless_docker_server.py +0 -0
  390. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_util.py +0 -0
  391. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/test_validation.py +0 -0
  392. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/trt_llm/test_validation.py +0 -0
  393. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/util/test_config_checks.py +0 -0
  394. {truss-0.9.44 → truss-0.9.45.dev100}/truss/tests/util/test_path.py +0 -0
  395. {truss-0.9.44 → truss-0.9.45.dev100}/truss/trt_llm/validation.py +0 -0
  396. {truss-0.9.44 → truss-0.9.45.dev100}/truss/truss_config.py +0 -0
  397. {truss-0.9.44 → truss-0.9.45.dev100}/truss/truss_gatherer.py +0 -0
  398. {truss-0.9.44 → truss-0.9.45.dev100}/truss/truss_handle.py +0 -0
  399. {truss-0.9.44 → truss-0.9.45.dev100}/truss/truss_spec.py +0 -0
  400. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/.truss_ignore +0 -0
  401. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/config_checks.py +0 -0
  402. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/data_structures.py +0 -0
  403. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/download.py +0 -0
  404. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/errors.py +0 -0
  405. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/gpu.py +0 -0
  406. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/jinja.py +0 -0
  407. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/log_utils.py +0 -0
  408. {truss-0.9.44 → truss-0.9.45.dev100}/truss/util/path.py +0 -0
  409. {truss-0.9.44 → truss-0.9.45.dev100}/truss/validation.py +0 -0
  410. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/__init__.py +0 -0
  411. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/code_gen.py +0 -0
  412. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/example_chainlet.py +0 -0
  413. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/framework.py +0 -0
  414. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/model_skeleton.py +0 -0
  415. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/py.typed +0 -0
  416. {truss-0.9.44 → truss-0.9.45.dev100}/truss-chains/truss_chains/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: truss
3
- Version: 0.9.44
3
+ Version: 0.9.45.dev100
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,6 +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: aiohttp (>=3.10.10,<4.0.0)
20
21
  Requires-Dist: blake3 (>=0.3.3,<0.4.0)
21
22
  Requires-Dist: boto3 (>=1.34.85,<2.0.0)
22
23
  Requires-Dist: fastapi (>=0.109.1)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "truss"
3
- version = "0.9.44"
3
+ version = "0.9.45dev100"
4
4
  description = "A seamless bridge from model development to model delivery"
5
5
  license = "MIT"
6
6
  readme = "README.md"
@@ -27,6 +27,7 @@ packages = [
27
27
  "Baseten" = "https://baseten.co"
28
28
 
29
29
  [tool.poetry.dependencies]
30
+ aiohttp = "^3.10.10"
30
31
  blake3 = "^0.3.3"
31
32
  boto3 = "^1.34.85"
32
33
  fastapi = ">=0.109.1"
@@ -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
+ ]
@@ -410,7 +410,13 @@ def chains():
410
410
  """Subcommands for truss chains"""
411
411
 
412
412
 
413
- def _make_chains_curl_snippet(run_remote_url: str) -> str:
413
+ def _make_chains_curl_snippet(run_remote_url: str, environment: Optional[str]) -> str:
414
+ if environment:
415
+ idx = run_remote_url.find("deployment")
416
+ if idx != -1:
417
+ run_remote_url = (
418
+ run_remote_url[:idx] + f"environments/{environment}/run_remote"
419
+ )
414
420
  return (
415
421
  f"curl -X POST '{run_remote_url}' \\\n"
416
422
  ' -H "Authorization: Api-Key $BASETEN_API_KEY" \\\n'
@@ -505,6 +511,15 @@ def _create_chains_table(service) -> Tuple[rich.table.Table, List[str]]:
505
511
  default=False,
506
512
  help="Replace production chainlets with newly deployed chainlets.",
507
513
  )
514
+ @click.option(
515
+ "--environment",
516
+ type=str,
517
+ required=False,
518
+ help=(
519
+ "Deploy the chain as a published deployment to the specified environment."
520
+ "If specified, --publish is implied and the supplied value of --promote will be ignored."
521
+ ),
522
+ )
508
523
  @click.option(
509
524
  "--wait/--no-wait",
510
525
  type=bool,
@@ -557,6 +572,7 @@ def push_chain(
557
572
  dryrun: bool,
558
573
  user_env: Optional[str],
559
574
  remote: Optional[str],
575
+ environment: Optional[str],
560
576
  ) -> None:
561
577
  """
562
578
  Deploys a chain remotely.
@@ -597,6 +613,10 @@ def push_chain(
597
613
  else:
598
614
  user_env_parsed = {}
599
615
 
616
+ if promote and environment:
617
+ promote_warning = "`promote` flag and `environment` flag were both specified. Ignoring the value of `promote`"
618
+ console.print(promote_warning, style="yellow")
619
+
600
620
  with framework.import_target(source, entrypoint) as entrypoint_cls:
601
621
  chain_name = name or entrypoint_cls.__name__
602
622
  options = chains_def.PushOptionsBaseten.create(
@@ -606,6 +626,7 @@ def push_chain(
606
626
  only_generate_trusses=dryrun,
607
627
  user_env=user_env_parsed,
608
628
  remote=remote,
629
+ environment=environment,
609
630
  )
610
631
  service = chains_remote.push(entrypoint_cls, options)
611
632
 
@@ -614,7 +635,9 @@ def push_chain(
614
635
  return
615
636
 
616
637
  assert isinstance(service, chains_remote.BasetenChainService)
617
- curl_snippet = _make_chains_curl_snippet(service.run_remote_url)
638
+ curl_snippet = _make_chains_curl_snippet(
639
+ service.run_remote_url, options.environment
640
+ )
618
641
 
619
642
  table, statuses = _create_chains_table(service)
620
643
  status_check_wait_sec = 2
@@ -647,7 +670,10 @@ def push_chain(
647
670
  for log in intercepted_logs:
648
671
  console.print(f"\t{log}")
649
672
  if success:
650
- console.print("Deployment succeeded.", style="bold green")
673
+ deploy_success_text = "Deployment succeeded."
674
+ if environment:
675
+ deploy_success_text = f"Your chain has been deployed into the {options.environment} environment."
676
+ console.print(deploy_success_text, style="bold green")
651
677
  console.print(f"You can run the chain with:\n{curl_snippet}")
652
678
  if watch: # Note that this command will print a startup message.
653
679
  chains_remote.watch(
@@ -235,7 +235,10 @@ class BasetenApi:
235
235
  return resp["data"]["deploy_draft_chain"]
236
236
 
237
237
  def deploy_chain_deployment(
238
- self, chain_id: str, chainlet_data: List[b10_types.ChainletData], promote: bool
238
+ self,
239
+ chain_id: str,
240
+ chainlet_data: List[b10_types.ChainletData],
241
+ environment: Optional[str] = None,
239
242
  ):
240
243
  chainlet_data_strings = [
241
244
  _chainlet_data_to_graphql_mutation(chainlet) for chainlet in chainlet_data
@@ -243,14 +246,14 @@ class BasetenApi:
243
246
  chainlets_string = ", ".join(chainlet_data_strings)
244
247
  query_string = f"""
245
248
  mutation {{
246
- deploy_chain_deployment(
247
- chain_id: "{chain_id}",
248
- chainlets: [{chainlets_string}],
249
- promote_after_deploy: {'true' if promote else 'false'},
250
- ) {{
251
- chain_id
252
- chain_deployment_id
253
- }}
249
+ deploy_chain_deployment(
250
+ chain_id: "{chain_id}",
251
+ chainlets: [{chainlets_string}],
252
+ {f'environment_name: "{environment}"' if environment else ""}
253
+ ) {{
254
+ chain_id
255
+ chain_deployment_id
256
+ }}
254
257
  }}
255
258
  """
256
259
  resp = self._post_graphql_query(query_string)
@@ -84,7 +84,7 @@ def create_chain(
84
84
  chain_name: str,
85
85
  chainlets: List[b10_types.ChainletData],
86
86
  is_draft: bool,
87
- promote: bool,
87
+ environment: Optional[str],
88
88
  ) -> ChainDeploymentHandle:
89
89
  if is_draft:
90
90
  response = api.deploy_draft_chain(chain_name, chainlets)
@@ -93,8 +93,20 @@ def create_chain(
93
93
  # if there is no chain already, the first deployment will
94
94
  # already be production, and only published deployments can
95
95
  # be promoted.
96
- response = api.deploy_chain_deployment(chain_id, chainlets, promote)
96
+ try:
97
+ response = api.deploy_chain_deployment(chain_id, chainlets, environment)
98
+ except ApiError as e:
99
+ if (
100
+ e.graphql_error_code
101
+ == BasetenApi.GraphQLErrorCodes.RESOURCE_NOT_FOUND.value
102
+ ):
103
+ raise ValueError(
104
+ f'Environment "{environment}" does not exist. You can create environments in the Chains UI.'
105
+ ) from e
106
+ raise e
97
107
  else:
108
+ if environment and environment != PRODUCTION_ENVIRONMENT_NAME:
109
+ raise ValueError(NO_ENVIRONMENTS_EXIST_ERROR_MESSAGING)
98
110
  response = api.deploy_chain(chain_name, chainlets)
99
111
 
100
112
  return ChainDeploymentHandle(
@@ -299,7 +311,10 @@ def create_truss_service(
299
311
  environment=environment,
300
312
  )
301
313
  except ApiError as e:
302
- if "Environment matching query does not exist" in e.message:
314
+ if (
315
+ e.graphql_error_code
316
+ == BasetenApi.GraphQLErrorCodes.RESOURCE_NOT_FOUND.value
317
+ ):
303
318
  raise ValueError(
304
319
  f'Environment "{environment}" does not exist. You can create environments in the Baseten UI.'
305
320
  ) from e
@@ -67,10 +67,10 @@ class BasetenRemote(TrussRemote):
67
67
  chain_name: str,
68
68
  chainlets: List[custom_types.ChainletData],
69
69
  publish: bool = False,
70
- promote: bool = False,
70
+ environment: Optional[str] = None,
71
71
  ) -> ChainDeploymentHandle:
72
- if promote:
73
- # If we are promoting a model after deploy, it must be published.
72
+ if environment:
73
+ # If we are promoting a model to an environment after deploy, it must be published.
74
74
  # Draft models cannot be promoted.
75
75
  publish = True
76
76
  # Returns tuple of (chain_id, chain_deployment_id)
@@ -81,7 +81,7 @@ class BasetenRemote(TrussRemote):
81
81
  chain_name=chain_name,
82
82
  chainlets=chainlets,
83
83
  is_draft=not publish,
84
- promote=promote,
84
+ environment=environment,
85
85
  )
86
86
 
87
87
  def get_chainlets(
@@ -105,7 +105,7 @@ COPY ./proxy.conf {{ proxy_config_path }}
105
105
  RUN mkdir -p {{ supervisor_log_dir }}
106
106
  COPY supervisord.conf {{ supervisor_config_path }}
107
107
  ENV SUPERVISOR_SERVER_URL="{{ supervisor_server_url }}"
108
- ENV SERVER_START_CMD="/usr/local/bin/supervisord -c {{ supervisor_config_path }}"
108
+ ENV SERVER_START_CMD="supervisord -c {{ supervisor_config_path }}"
109
109
  ENTRYPOINT ["/usr/local/bin/supervisord", "-c", "{{ supervisor_config_path }}"]
110
110
  {%- elif config.live_reload %}
111
111
  ENV HASH_TRUSS="{{truss_hash}}"
@@ -0,0 +1,2 @@
1
+ def bar():
2
+ print("in bar")
@@ -0,0 +1,8 @@
1
+ import os
2
+
3
+ print("HI SID")
4
+
5
+ print("Hi agaisdfn")
6
+ print("more content")
7
+
8
+ raise Exception("Foo")