together 2.0.0a18__tar.gz → 2.0.0a19__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 (360) hide show
  1. together-2.0.0a19/.release-please-manifest.json +3 -0
  2. {together-2.0.0a18 → together-2.0.0a19}/CHANGELOG.md +15 -0
  3. {together-2.0.0a18 → together-2.0.0a19}/PKG-INFO +5 -1
  4. {together-2.0.0a18 → together-2.0.0a19}/api.md +2 -12
  5. {together-2.0.0a18 → together-2.0.0a19}/examples/tokenize_data.py +1 -1
  6. {together-2.0.0a18 → together-2.0.0a19}/pyproject.toml +3 -1
  7. {together-2.0.0a18 → together-2.0.0a19}/src/together/_client.py +0 -38
  8. {together-2.0.0a18 → together-2.0.0a19}/src/together/_version.py +1 -1
  9. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/__init__.py +2 -0
  10. together-2.0.0a19/src/together/lib/cli/api/beta/jig/__init__.py +52 -0
  11. together-2.0.0a19/src/together/lib/cli/api/beta/jig/_config.py +170 -0
  12. together-2.0.0a19/src/together/lib/cli/api/beta/jig/jig.py +664 -0
  13. together-2.0.0a19/src/together/lib/cli/api/beta/jig/secrets.py +138 -0
  14. together-2.0.0a19/src/together/lib/cli/api/beta/jig/volumes.py +509 -0
  15. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/hardware.py +3 -3
  16. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/models/upload.py +1 -1
  17. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/__init__.py +0 -14
  18. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/jig/jig.py +8 -28
  19. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/endpoints.py +103 -1
  20. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/__init__.py +2 -2
  21. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig_deploy_params.py +1 -1
  22. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig_retrieve_logs_params.py +0 -3
  23. together-2.0.0a18/src/together/types/hardware_list_params.py → together-2.0.0a19/src/together/types/endpoint_list_hardware_params.py +2 -2
  24. together-2.0.0a18/src/together/types/hardware_list_response.py → together-2.0.0a19/src/together/types/endpoint_list_hardware_response.py +2 -2
  25. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/test_jig.py +0 -2
  26. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_endpoints.py +65 -0
  27. {together-2.0.0a18 → together-2.0.0a19}/uv.lock +1 -1
  28. together-2.0.0a18/.release-please-manifest.json +0 -3
  29. together-2.0.0a18/src/together/resources/hardware.py +0 -181
  30. together-2.0.0a18/tests/api_resources/test_hardware.py +0 -88
  31. {together-2.0.0a18 → together-2.0.0a19}/.gitignore +0 -0
  32. {together-2.0.0a18 → together-2.0.0a19}/CONTRIBUTING.md +0 -0
  33. {together-2.0.0a18 → together-2.0.0a19}/LICENSE +0 -0
  34. {together-2.0.0a18 → together-2.0.0a19}/README.md +0 -0
  35. {together-2.0.0a18 → together-2.0.0a19}/SECURITY.md +0 -0
  36. {together-2.0.0a18 → together-2.0.0a19}/bin/check-release-environment +0 -0
  37. {together-2.0.0a18 → together-2.0.0a19}/bin/publish-pypi +0 -0
  38. {together-2.0.0a18 → together-2.0.0a19}/examples/.keep +0 -0
  39. {together-2.0.0a18 → together-2.0.0a19}/examples/coqa-small.jsonl +0 -0
  40. {together-2.0.0a18 → together-2.0.0a19}/examples/coqa.jsonl +0 -0
  41. {together-2.0.0a18 → together-2.0.0a19}/examples/embedding.py +0 -0
  42. {together-2.0.0a18 → together-2.0.0a19}/examples/file-upload.py +0 -0
  43. {together-2.0.0a18 → together-2.0.0a19}/examples/files.py +0 -0
  44. {together-2.0.0a18 → together-2.0.0a19}/examples/fine_tuning.py +0 -0
  45. {together-2.0.0a18 → together-2.0.0a19}/examples/image.py +0 -0
  46. {together-2.0.0a18 → together-2.0.0a19}/examples/models.py +0 -0
  47. {together-2.0.0a18 → together-2.0.0a19}/examples/streaming.py +0 -0
  48. {together-2.0.0a18 → together-2.0.0a19}/release-please-config.json +0 -0
  49. {together-2.0.0a18 → together-2.0.0a19}/requirements-dev.lock +0 -0
  50. {together-2.0.0a18 → together-2.0.0a19}/src/together/__init__.py +0 -0
  51. {together-2.0.0a18 → together-2.0.0a19}/src/together/_base_client.py +0 -0
  52. {together-2.0.0a18 → together-2.0.0a19}/src/together/_compat.py +0 -0
  53. {together-2.0.0a18 → together-2.0.0a19}/src/together/_constants.py +0 -0
  54. {together-2.0.0a18 → together-2.0.0a19}/src/together/_exceptions.py +0 -0
  55. {together-2.0.0a18 → together-2.0.0a19}/src/together/_files.py +0 -0
  56. {together-2.0.0a18 → together-2.0.0a19}/src/together/_models.py +0 -0
  57. {together-2.0.0a18 → together-2.0.0a19}/src/together/_qs.py +0 -0
  58. {together-2.0.0a18 → together-2.0.0a19}/src/together/_resource.py +0 -0
  59. {together-2.0.0a18 → together-2.0.0a19}/src/together/_response.py +0 -0
  60. {together-2.0.0a18 → together-2.0.0a19}/src/together/_streaming.py +0 -0
  61. {together-2.0.0a18 → together-2.0.0a19}/src/together/_types.py +0 -0
  62. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/__init__.py +0 -0
  63. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_compat.py +0 -0
  64. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_datetime_parse.py +0 -0
  65. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_json.py +0 -0
  66. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_logs.py +0 -0
  67. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_proxy.py +0 -0
  68. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_reflection.py +0 -0
  69. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_resources_proxy.py +0 -0
  70. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_streams.py +0 -0
  71. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_sync.py +0 -0
  72. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_transform.py +0 -0
  73. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_typing.py +0 -0
  74. {together-2.0.0a18 → together-2.0.0a19}/src/together/_utils/_utils.py +0 -0
  75. {together-2.0.0a18 → together-2.0.0a19}/src/together/constants.py +0 -0
  76. {together-2.0.0a18 → together-2.0.0a19}/src/together/error.py +0 -0
  77. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/.keep +0 -0
  78. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/__init__.py +0 -0
  79. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/_google_colab.py +0 -0
  80. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/__init__.py +0 -0
  81. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/_utils.py +0 -0
  82. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/__init__.py +0 -0
  83. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/create.py +0 -0
  84. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/delete.py +0 -0
  85. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/get_credentials.py +0 -0
  86. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/list.py +0 -0
  87. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/list_regions.py +0 -0
  88. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/retrieve.py +0 -0
  89. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/storage/__init__.py +0 -0
  90. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/storage/create.py +0 -0
  91. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/storage/delete.py +0 -0
  92. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/storage/list.py +0 -0
  93. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/storage/retrieve.py +0 -0
  94. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/beta/clusters/update.py +0 -0
  95. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/__init__.py +0 -0
  96. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/availability_zones.py +0 -0
  97. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/create.py +0 -0
  98. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/delete.py +0 -0
  99. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/list.py +0 -0
  100. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/retrieve.py +0 -0
  101. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/start.py +0 -0
  102. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/stop.py +0 -0
  103. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/endpoints/update.py +0 -0
  104. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/evals/__init__.py +0 -0
  105. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/evals/create.py +0 -0
  106. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/evals/list.py +0 -0
  107. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/evals/retrieve.py +0 -0
  108. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/evals/status.py +0 -0
  109. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/files/__init__.py +0 -0
  110. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/files/check.py +0 -0
  111. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/files/delete.py +0 -0
  112. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/files/list.py +0 -0
  113. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/files/retrieve.py +0 -0
  114. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/files/retrieve_content.py +0 -0
  115. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/files/upload.py +0 -0
  116. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/__init__.py +0 -0
  117. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/cancel.py +0 -0
  118. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/create.py +0 -0
  119. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/delete.py +0 -0
  120. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/download.py +0 -0
  121. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/list.py +0 -0
  122. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/list_checkpoints.py +0 -0
  123. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/list_events.py +0 -0
  124. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/fine_tuning/retrieve.py +0 -0
  125. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/models/__init__.py +0 -0
  126. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/cli/api/models/list.py +0 -0
  127. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/constants.py +0 -0
  128. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/resources/__init__.py +0 -0
  129. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/resources/files.py +0 -0
  130. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/resources/fine_tuning.py +0 -0
  131. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/types/__init__.py +0 -0
  132. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/types/error.py +0 -0
  133. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/types/fine_tuning.py +0 -0
  134. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/utils/__init__.py +0 -0
  135. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/utils/_log.py +0 -0
  136. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/utils/files.py +0 -0
  137. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/utils/serializer.py +0 -0
  138. {together-2.0.0a18 → together-2.0.0a19}/src/together/lib/utils/tools.py +0 -0
  139. {together-2.0.0a18 → together-2.0.0a19}/src/together/py.typed +0 -0
  140. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/audio/__init__.py +0 -0
  141. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/audio/audio.py +0 -0
  142. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/audio/speech.py +0 -0
  143. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/audio/transcriptions.py +0 -0
  144. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/audio/translations.py +0 -0
  145. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/audio/voices.py +0 -0
  146. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/batches.py +0 -0
  147. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/__init__.py +0 -0
  148. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/beta.py +0 -0
  149. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/clusters/__init__.py +0 -0
  150. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/clusters/clusters.py +0 -0
  151. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/clusters/storage.py +0 -0
  152. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/jig/__init__.py +0 -0
  153. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/jig/queue.py +0 -0
  154. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/jig/secrets.py +0 -0
  155. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/beta/jig/volumes.py +0 -0
  156. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/chat/__init__.py +0 -0
  157. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/chat/chat.py +0 -0
  158. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/chat/completions.py +0 -0
  159. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/code_interpreter/__init__.py +0 -0
  160. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/code_interpreter/code_interpreter.py +0 -0
  161. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/code_interpreter/sessions.py +0 -0
  162. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/completions.py +0 -0
  163. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/embeddings.py +0 -0
  164. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/evals.py +0 -0
  165. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/files.py +0 -0
  166. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/fine_tuning.py +0 -0
  167. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/images.py +0 -0
  168. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/models/__init__.py +0 -0
  169. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/models/models.py +0 -0
  170. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/models/uploads.py +0 -0
  171. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/rerank.py +0 -0
  172. {together-2.0.0a18 → together-2.0.0a19}/src/together/resources/videos.py +0 -0
  173. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio/__init__.py +0 -0
  174. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio/speech_create_params.py +0 -0
  175. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio/transcription_create_params.py +0 -0
  176. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio/transcription_create_response.py +0 -0
  177. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio/translation_create_params.py +0 -0
  178. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio/translation_create_response.py +0 -0
  179. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio/voice_list_response.py +0 -0
  180. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/audio_speech_stream_chunk.py +0 -0
  181. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/autoscaling.py +0 -0
  182. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/autoscaling_param.py +0 -0
  183. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/batch_create_params.py +0 -0
  184. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/batch_create_response.py +0 -0
  185. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/batch_job.py +0 -0
  186. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/batch_list_response.py +0 -0
  187. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/__init__.py +0 -0
  188. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/cluster.py +0 -0
  189. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/cluster_create_params.py +0 -0
  190. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/cluster_delete_response.py +0 -0
  191. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/cluster_list_regions_response.py +0 -0
  192. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/cluster_list_response.py +0 -0
  193. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/cluster_update_params.py +0 -0
  194. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/clusters/__init__.py +0 -0
  195. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/clusters/cluster_storage.py +0 -0
  196. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/clusters/storage_create_params.py +0 -0
  197. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/clusters/storage_delete_response.py +0 -0
  198. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/clusters/storage_list_response.py +0 -0
  199. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/clusters/storage_update_params.py +0 -0
  200. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/deployment.py +0 -0
  201. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/deployment_logs.py +0 -0
  202. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/__init__.py +0 -0
  203. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_cancel_params.py +0 -0
  204. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_cancel_response.py +0 -0
  205. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_metrics_params.py +0 -0
  206. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_metrics_response.py +0 -0
  207. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_retrieve_params.py +0 -0
  208. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_retrieve_response.py +0 -0
  209. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_submit_params.py +0 -0
  210. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/queue_submit_response.py +0 -0
  211. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/secret.py +0 -0
  212. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/secret_create_params.py +0 -0
  213. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/secret_list_response.py +0 -0
  214. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/secret_update_params.py +0 -0
  215. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/volume.py +0 -0
  216. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/volume_create_params.py +0 -0
  217. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/volume_list_response.py +0 -0
  218. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig/volume_update_params.py +0 -0
  219. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig_list_response.py +0 -0
  220. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/beta/jig_update_params.py +0 -0
  221. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/__init__.py +0 -0
  222. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/chat_completion.py +0 -0
  223. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/chat_completion_chunk.py +0 -0
  224. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/chat_completion_structured_message_image_url_param.py +0 -0
  225. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/chat_completion_structured_message_text_param.py +0 -0
  226. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/chat_completion_structured_message_video_url_param.py +0 -0
  227. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/chat_completion_usage.py +0 -0
  228. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/chat_completion_warning.py +0 -0
  229. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat/completion_create_params.py +0 -0
  230. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/chat_completions.py +0 -0
  231. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/code_interpreter/__init__.py +0 -0
  232. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/code_interpreter/session_list_response.py +0 -0
  233. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/code_interpreter_execute_params.py +0 -0
  234. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/completion.py +0 -0
  235. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/completion_chunk.py +0 -0
  236. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/completion_create_params.py +0 -0
  237. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/dedicated_endpoint.py +0 -0
  238. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/embedding.py +0 -0
  239. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/embedding_create_params.py +0 -0
  240. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/endpoint_create_params.py +0 -0
  241. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/endpoint_list_avzones_response.py +0 -0
  242. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/endpoint_list_params.py +0 -0
  243. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/endpoint_list_response.py +0 -0
  244. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/endpoint_update_params.py +0 -0
  245. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/endpoints.py +0 -0
  246. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/eval_create_params.py +0 -0
  247. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/eval_create_response.py +0 -0
  248. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/eval_list_params.py +0 -0
  249. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/eval_list_response.py +0 -0
  250. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/eval_status_response.py +0 -0
  251. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/evaluation_job.py +0 -0
  252. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/execute_response.py +0 -0
  253. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/file_delete_response.py +0 -0
  254. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/file_list.py +0 -0
  255. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/file_purpose.py +0 -0
  256. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/file_response.py +0 -0
  257. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/file_type.py +0 -0
  258. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/files.py +0 -0
  259. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_cancel_response.py +0 -0
  260. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_content_params.py +0 -0
  261. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_delete_params.py +0 -0
  262. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_delete_response.py +0 -0
  263. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_estimate_price_params.py +0 -0
  264. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_estimate_price_response.py +0 -0
  265. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_list_checkpoints_response.py +0 -0
  266. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_list_events_response.py +0 -0
  267. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/fine_tuning_list_response.py +0 -0
  268. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/finetune.py +0 -0
  269. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/finetune_event.py +0 -0
  270. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/finetune_event_type.py +0 -0
  271. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/finetune_response.py +0 -0
  272. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/image_data_b64.py +0 -0
  273. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/image_data_url.py +0 -0
  274. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/image_file.py +0 -0
  275. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/image_generate_params.py +0 -0
  276. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/log_probs.py +0 -0
  277. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/model_list_params.py +0 -0
  278. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/model_list_response.py +0 -0
  279. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/model_object.py +0 -0
  280. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/model_upload_params.py +0 -0
  281. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/model_upload_response.py +0 -0
  282. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/models/__init__.py +0 -0
  283. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/models/upload_status_response.py +0 -0
  284. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/models.py +0 -0
  285. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/rerank_create_params.py +0 -0
  286. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/rerank_create_response.py +0 -0
  287. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/tool_choice.py +0 -0
  288. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/tool_choice_param.py +0 -0
  289. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/tools_param.py +0 -0
  290. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/training_method_dpo.py +0 -0
  291. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/training_method_sft.py +0 -0
  292. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/video_create_params.py +0 -0
  293. {together-2.0.0a18 → together-2.0.0a19}/src/together/types/video_job.py +0 -0
  294. {together-2.0.0a18 → together-2.0.0a19}/tests/__init__.py +0 -0
  295. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/__init__.py +0 -0
  296. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/audio/__init__.py +0 -0
  297. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/audio/test_speech.py +0 -0
  298. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/audio/test_transcriptions.py +0 -0
  299. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/audio/test_translations.py +0 -0
  300. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/audio/test_voices.py +0 -0
  301. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/__init__.py +0 -0
  302. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/clusters/__init__.py +0 -0
  303. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/clusters/test_storage.py +0 -0
  304. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/jig/__init__.py +0 -0
  305. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/jig/test_queue.py +0 -0
  306. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/jig/test_secrets.py +0 -0
  307. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/jig/test_volumes.py +0 -0
  308. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/beta/test_clusters.py +0 -0
  309. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/chat/__init__.py +0 -0
  310. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/chat/test_completions.py +0 -0
  311. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/code_interpreter/__init__.py +0 -0
  312. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/code_interpreter/test_sessions.py +0 -0
  313. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/models/__init__.py +0 -0
  314. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/models/test_uploads.py +0 -0
  315. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_batches.py +0 -0
  316. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_code_interpreter.py +0 -0
  317. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_completions.py +0 -0
  318. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_embeddings.py +0 -0
  319. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_evals.py +0 -0
  320. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_files.py +0 -0
  321. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_fine_tuning.py +0 -0
  322. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_images.py +0 -0
  323. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_models.py +0 -0
  324. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_rerank.py +0 -0
  325. {together-2.0.0a18 → together-2.0.0a19}/tests/api_resources/test_videos.py +0 -0
  326. {together-2.0.0a18 → together-2.0.0a19}/tests/conftest.py +0 -0
  327. {together-2.0.0a18 → together-2.0.0a19}/tests/integration/__init__.py +0 -0
  328. {together-2.0.0a18 → together-2.0.0a19}/tests/integration/constants.py +0 -0
  329. {together-2.0.0a18 → together-2.0.0a19}/tests/integration/resources/__init__.py +0 -0
  330. {together-2.0.0a18 → together-2.0.0a19}/tests/integration/resources/generate_hyperparameters.py +0 -0
  331. {together-2.0.0a18 → together-2.0.0a19}/tests/integration/resources/test_completion.py +0 -0
  332. {together-2.0.0a18 → together-2.0.0a19}/tests/integration/resources/test_completion_stream.py +0 -0
  333. {together-2.0.0a18 → together-2.0.0a19}/tests/integration/resources/test_files.py +0 -0
  334. {together-2.0.0a18 → together-2.0.0a19}/tests/sample_file.txt +0 -0
  335. {together-2.0.0a18 → together-2.0.0a19}/tests/test_cli_utils.py +0 -0
  336. {together-2.0.0a18 → together-2.0.0a19}/tests/test_client.py +0 -0
  337. {together-2.0.0a18 → together-2.0.0a19}/tests/test_deepcopy.py +0 -0
  338. {together-2.0.0a18 → together-2.0.0a19}/tests/test_extract_files.py +0 -0
  339. {together-2.0.0a18 → together-2.0.0a19}/tests/test_files.py +0 -0
  340. {together-2.0.0a18 → together-2.0.0a19}/tests/test_models.py +0 -0
  341. {together-2.0.0a18 → together-2.0.0a19}/tests/test_qs.py +0 -0
  342. {together-2.0.0a18 → together-2.0.0a19}/tests/test_required_args.py +0 -0
  343. {together-2.0.0a18 → together-2.0.0a19}/tests/test_response.py +0 -0
  344. {together-2.0.0a18 → together-2.0.0a19}/tests/test_streaming.py +0 -0
  345. {together-2.0.0a18 → together-2.0.0a19}/tests/test_transform.py +0 -0
  346. {together-2.0.0a18 → together-2.0.0a19}/tests/test_utils/test_datetime_parse.py +0 -0
  347. {together-2.0.0a18 → together-2.0.0a19}/tests/test_utils/test_json.py +0 -0
  348. {together-2.0.0a18 → together-2.0.0a19}/tests/test_utils/test_proxy.py +0 -0
  349. {together-2.0.0a18 → together-2.0.0a19}/tests/test_utils/test_typing.py +0 -0
  350. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_async_client.py +0 -0
  351. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_client.py +0 -0
  352. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_code_interpreter.py +0 -0
  353. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_files_checks.py +0 -0
  354. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_files_resource.py +0 -0
  355. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_fine_tuning_resources.py +0 -0
  356. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_imports.py +0 -0
  357. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_multipart_upload_manager.py +0 -0
  358. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_preference_openai.py +0 -0
  359. {together-2.0.0a18 → together-2.0.0a19}/tests/unit/test_video_url.py +0 -0
  360. {together-2.0.0a18 → together-2.0.0a19}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "2.0.0-alpha.19"
3
+ }
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.0-alpha.19 (2026-02-03)
4
+
5
+ Full Changelog: [v2.0.0-alpha.18...v2.0.0-alpha.19](https://github.com/togethercomputer/together-py/compare/v2.0.0-alpha.18...v2.0.0-alpha.19)
6
+
7
+ ### Features
8
+
9
+ * internal: Add code samples to deployments features ([eaa20a5](https://github.com/togethercomputer/together-py/commit/eaa20a59aa3bf1d48026f0018060ef6b34d7b50d))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **api:** move hardware listing feature under endpoints resource. ([ac6671a](https://github.com/togethercomputer/together-py/commit/ac6671a36b1c41374e7d491a37e7086718972e20))
15
+ * Fix CLI ([5d89415](https://github.com/togethercomputer/together-py/commit/5d8941523300914c62e4f97d354cdff664445517))
16
+ * run internal foramt ([45ef6b3](https://github.com/togethercomputer/together-py/commit/45ef6b3d97a49108f02eeeb4ec856bd7c352fd75))
17
+
3
18
  ## 2.0.0-alpha.18 (2026-01-31)
4
19
 
5
20
  Full Changelog: [v2.0.0-alpha.17...v2.0.0-alpha.18](https://github.com/togethercomputer/together-py/compare/v2.0.0-alpha.17...v2.0.0-alpha.18)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: together
3
- Version: 2.0.0a18
3
+ Version: 2.0.0a19
4
4
  Summary: The official Python library for the together API
5
5
  Project-URL: Homepage, https://github.com/togethercomputer/together-py
6
6
  Project-URL: Repository, https://github.com/togethercomputer/together-py
@@ -32,11 +32,15 @@ Requires-Dist: pydantic<3,>=1.9.0
32
32
  Requires-Dist: rich>=13.7.1
33
33
  Requires-Dist: sniffio
34
34
  Requires-Dist: tabulate>=0.9.0
35
+ Requires-Dist: tomli>=2.0.0; python_version < '3.11'
35
36
  Requires-Dist: tqdm>=4.67.1
36
37
  Requires-Dist: types-pyyaml>=6.0.12.20250915
37
38
  Requires-Dist: types-tabulate>=0.9.0.20240106
38
39
  Requires-Dist: types-tqdm>=4.67.0.20250516
39
40
  Requires-Dist: typing-extensions<5,>=4.10
41
+ Provides-Extra: aiofiles
42
+ Requires-Dist: aiofiles>=25.0.0; extra == 'aiofiles'
43
+ Requires-Dist: types-aiofiles; extra == 'aiofiles'
40
44
  Provides-Extra: aiohttp
41
45
  Requires-Dist: aiohttp; extra == 'aiohttp'
42
46
  Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
@@ -338,6 +338,7 @@ from together.types import (
338
338
  DedicatedEndpoint,
339
339
  EndpointListResponse,
340
340
  EndpointListAvzonesResponse,
341
+ EndpointListHardwareResponse,
341
342
  )
342
343
  ```
343
344
 
@@ -349,18 +350,7 @@ Methods:
349
350
  - <code title="get /endpoints">client.endpoints.<a href="./src/together/resources/endpoints.py">list</a>(\*\*<a href="src/together/types/endpoint_list_params.py">params</a>) -> <a href="./src/together/types/endpoint_list_response.py">EndpointListResponse</a></code>
350
351
  - <code title="delete /endpoints/{endpointId}">client.endpoints.<a href="./src/together/resources/endpoints.py">delete</a>(endpoint_id) -> None</code>
351
352
  - <code title="get /clusters/availability-zones">client.endpoints.<a href="./src/together/resources/endpoints.py">list_avzones</a>() -> <a href="./src/together/types/endpoint_list_avzones_response.py">EndpointListAvzonesResponse</a></code>
352
-
353
- # Hardware
354
-
355
- Types:
356
-
357
- ```python
358
- from together.types import HardwareListResponse
359
- ```
360
-
361
- Methods:
362
-
363
- - <code title="get /hardware">client.hardware.<a href="./src/together/resources/hardware.py">list</a>(\*\*<a href="src/together/types/hardware_list_params.py">params</a>) -> <a href="./src/together/types/hardware_list_response.py">HardwareListResponse</a></code>
353
+ - <code title="get /hardware">client.endpoints.<a href="./src/together/resources/endpoints.py">list_hardware</a>(\*\*<a href="src/together/types/endpoint_list_hardware_params.py">params</a>) -> <a href="./src/together/types/endpoint_list_hardware_response.py">EndpointListHardwareResponse</a></code>
364
354
 
365
355
  # Rerank
366
356
 
@@ -158,7 +158,7 @@ def process_data(args: argparse.Namespace) -> None:
158
158
  prompt_field = args.prompt_field
159
159
  completion_field = args.completion_field
160
160
  separator = args.separator
161
-
161
+
162
162
  if prompt_field in dataset.column_names and completion_field in dataset.column_names:
163
163
  if "text" not in dataset.column_names:
164
164
  dataset = dataset.map(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "together"
3
- version = "2.0.0-alpha.18"
3
+ version = "2.0.0-alpha.19"
4
4
  description = "The official Python library for the together API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -24,6 +24,7 @@ dependencies = [
24
24
  "types-tqdm>=4.67.0.20250516",
25
25
  "filelock>=3.13.1",
26
26
  "types-pyyaml>=6.0.12.20250915",
27
+ "tomli>=2.0.0; python_version < '3.11'",
27
28
  ]
28
29
 
29
30
  requires-python = ">= 3.9"
@@ -51,6 +52,7 @@ Repository = "https://github.com/togethercomputer/together-py"
51
52
 
52
53
  [project.optional-dependencies]
53
54
  aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
55
+ aiofiles = ["aiofiles>=25.0.0", "types-aiofiles"]
54
56
  pyarrow = ["pyarrow>=16.1.0", "pyarrow-stubs>=10.0.1.7"]
55
57
  cli = ["PyYAML"]
56
58
 
@@ -45,7 +45,6 @@ if TYPE_CHECKING:
45
45
  rerank,
46
46
  videos,
47
47
  batches,
48
- hardware,
49
48
  endpoints,
50
49
  embeddings,
51
50
  completions,
@@ -58,7 +57,6 @@ if TYPE_CHECKING:
58
57
  from .resources.rerank import RerankResource, AsyncRerankResource
59
58
  from .resources.videos import VideosResource, AsyncVideosResource
60
59
  from .resources.batches import BatchesResource, AsyncBatchesResource
61
- from .resources.hardware import HardwareResource, AsyncHardwareResource
62
60
  from .resources.beta.beta import BetaResource, AsyncBetaResource
63
61
  from .resources.chat.chat import ChatResource, AsyncChatResource
64
62
  from .resources.endpoints import EndpointsResource, AsyncEndpointsResource
@@ -213,12 +211,6 @@ class Together(SyncAPIClient):
213
211
 
214
212
  return EndpointsResource(self)
215
213
 
216
- @cached_property
217
- def hardware(self) -> HardwareResource:
218
- from .resources.hardware import HardwareResource
219
-
220
- return HardwareResource(self)
221
-
222
214
  @cached_property
223
215
  def rerank(self) -> RerankResource:
224
216
  from .resources.rerank import RerankResource
@@ -484,12 +476,6 @@ class AsyncTogether(AsyncAPIClient):
484
476
 
485
477
  return AsyncEndpointsResource(self)
486
478
 
487
- @cached_property
488
- def hardware(self) -> AsyncHardwareResource:
489
- from .resources.hardware import AsyncHardwareResource
490
-
491
- return AsyncHardwareResource(self)
492
-
493
479
  @cached_property
494
480
  def rerank(self) -> AsyncRerankResource:
495
481
  from .resources.rerank import AsyncRerankResource
@@ -701,12 +687,6 @@ class TogetherWithRawResponse:
701
687
 
702
688
  return EndpointsResourceWithRawResponse(self._client.endpoints)
703
689
 
704
- @cached_property
705
- def hardware(self) -> hardware.HardwareResourceWithRawResponse:
706
- from .resources.hardware import HardwareResourceWithRawResponse
707
-
708
- return HardwareResourceWithRawResponse(self._client.hardware)
709
-
710
690
  @cached_property
711
691
  def rerank(self) -> rerank.RerankResourceWithRawResponse:
712
692
  from .resources.rerank import RerankResourceWithRawResponse
@@ -804,12 +784,6 @@ class AsyncTogetherWithRawResponse:
804
784
 
805
785
  return AsyncEndpointsResourceWithRawResponse(self._client.endpoints)
806
786
 
807
- @cached_property
808
- def hardware(self) -> hardware.AsyncHardwareResourceWithRawResponse:
809
- from .resources.hardware import AsyncHardwareResourceWithRawResponse
810
-
811
- return AsyncHardwareResourceWithRawResponse(self._client.hardware)
812
-
813
787
  @cached_property
814
788
  def rerank(self) -> rerank.AsyncRerankResourceWithRawResponse:
815
789
  from .resources.rerank import AsyncRerankResourceWithRawResponse
@@ -907,12 +881,6 @@ class TogetherWithStreamedResponse:
907
881
 
908
882
  return EndpointsResourceWithStreamingResponse(self._client.endpoints)
909
883
 
910
- @cached_property
911
- def hardware(self) -> hardware.HardwareResourceWithStreamingResponse:
912
- from .resources.hardware import HardwareResourceWithStreamingResponse
913
-
914
- return HardwareResourceWithStreamingResponse(self._client.hardware)
915
-
916
884
  @cached_property
917
885
  def rerank(self) -> rerank.RerankResourceWithStreamingResponse:
918
886
  from .resources.rerank import RerankResourceWithStreamingResponse
@@ -1010,12 +978,6 @@ class AsyncTogetherWithStreamedResponse:
1010
978
 
1011
979
  return AsyncEndpointsResourceWithStreamingResponse(self._client.endpoints)
1012
980
 
1013
- @cached_property
1014
- def hardware(self) -> hardware.AsyncHardwareResourceWithStreamingResponse:
1015
- from .resources.hardware import AsyncHardwareResourceWithStreamingResponse
1016
-
1017
- return AsyncHardwareResourceWithStreamingResponse(self._client.hardware)
1018
-
1019
981
  @cached_property
1020
982
  def rerank(self) -> rerank.AsyncRerankResourceWithStreamingResponse:
1021
983
  from .resources.rerank import AsyncRerankResourceWithStreamingResponse
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "together"
4
- __version__ = "2.0.0-alpha.18" # x-release-please-version
4
+ __version__ = "2.0.0-alpha.19" # x-release-please-version
@@ -1,5 +1,6 @@
1
1
  import click
2
2
 
3
+ from together.lib.cli.api.beta.jig import jig
3
4
  from together.lib.cli.api.beta.clusters import clusters
4
5
 
5
6
 
@@ -10,3 +11,4 @@ def beta() -> None:
10
11
 
11
12
 
12
13
  beta.add_command(clusters)
14
+ beta.add_command(jig)
@@ -0,0 +1,52 @@
1
+ """Jig CLI - deployment tool for Together AI."""
2
+
3
+ import click
4
+
5
+ from together.lib.cli.api.beta.jig.jig import (
6
+ init,
7
+ logs,
8
+ push,
9
+ build,
10
+ deploy,
11
+ status,
12
+ endpoint,
13
+ submit,
14
+ destroy,
15
+ dockerfile,
16
+ job_status,
17
+ queue_status,
18
+ list_deployments,
19
+ )
20
+ from together.lib.cli.api.beta.jig.secrets import secrets
21
+ from together.lib.cli.api.beta.jig.volumes import volumes
22
+
23
+
24
+ @click.group()
25
+ @click.pass_context
26
+ def jig(ctx: click.Context) -> None:
27
+ """Jig commands - deploy and manage containers"""
28
+ pass
29
+
30
+
31
+ def add_commands(parent: click.Group):
32
+ # Add subgroups
33
+ parent.add_command(secrets)
34
+ parent.add_command(volumes)
35
+
36
+ # Add main commands
37
+ parent.add_command(init)
38
+ parent.add_command(dockerfile)
39
+ parent.add_command(build)
40
+ parent.add_command(push)
41
+ parent.add_command(deploy)
42
+ parent.add_command(status)
43
+ parent.add_command(endpoint)
44
+ parent.add_command(logs)
45
+ parent.add_command(destroy)
46
+ parent.add_command(submit)
47
+ parent.add_command(job_status)
48
+ parent.add_command(queue_status)
49
+ parent.add_command(list_deployments)
50
+
51
+
52
+ add_commands(jig)
@@ -0,0 +1,170 @@
1
+ """Configuration and state management for jig CLI."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ import sys
7
+ import json
8
+ from typing import TYPE_CHECKING, Any, Optional
9
+ from pathlib import Path
10
+ from dataclasses import field, asdict, dataclass
11
+
12
+ import click
13
+
14
+ if TYPE_CHECKING:
15
+ import tomli as tomllib
16
+ else:
17
+ try:
18
+ import tomllib
19
+ except ImportError:
20
+ import tomli as tomllib
21
+
22
+ # --- Environment Configuration ---
23
+
24
+ DEBUG = os.getenv("TOGETHER_DEBUG", "").strip()[:1] in ("y", "1", "t")
25
+
26
+ UPLOAD_CONCURRENCY_LIMIT = int(os.getenv("TOGETHER_UPLOAD_CONCURRENCY", "15"))
27
+ MULTIPART_CHUNK_SIZE_MB = int(os.getenv("TOGETHER_MULTIPART_CHUNK_SIZE_MB", "20"))
28
+ MULTIPART_THRESHOLD_MB = int(os.getenv("TOGETHER_MULTIPART_THRESHOLD_MB", "100"))
29
+ MAX_UPLOAD_RETRIES = 3
30
+
31
+ # Warmup configuration (for torch compile cache)
32
+ WARMUP_ENV_NAME = os.getenv("WARMUP_ENV_NAME", "TORCHINDUCTOR_CACHE_DIR")
33
+ WARMUP_DEST = os.getenv("WARMUP_DEST", "torch_cache")
34
+
35
+
36
+ # --- Configuration Dataclasses ---
37
+
38
+
39
+ @dataclass
40
+ class ImageConfig:
41
+ """Container image configuration from pyproject.toml"""
42
+
43
+ python_version: str = "3.11"
44
+ system_packages: list[str] = field(default_factory=list[str])
45
+ environment: dict[str, str] = field(default_factory=dict[str, str])
46
+ run: list[str] = field(default_factory=list[str])
47
+ cmd: str = "python app.py"
48
+ copy: list[str] = field(default_factory=list[str])
49
+ auto_include_git: bool = False
50
+
51
+ @classmethod
52
+ def from_dict(cls, data: dict[str, Any]) -> ImageConfig:
53
+ return cls(**{k: v for k, v in data.items() if k in cls.__annotations__})
54
+
55
+
56
+ @dataclass
57
+ class DeployConfig:
58
+ """Deployment configuration"""
59
+
60
+ description: str = ""
61
+ gpu_type: str = "h100-80gb"
62
+ gpu_count: int = 1
63
+ cpu: float = 1
64
+ memory: float = 8
65
+ storage: int = 100
66
+ min_replicas: int = 1
67
+ max_replicas: int = 1
68
+ port: int = 8000
69
+ environment_variables: dict[str, str] = field(default_factory=dict[str, str])
70
+ command: Optional[list[str]] = None
71
+ autoscaling: dict[str, str] = field(default_factory=dict[str, str])
72
+ health_check_path: str = "/health"
73
+ termination_grace_period_seconds: int = 300
74
+
75
+ @classmethod
76
+ def from_dict(cls, data: dict[str, Any]) -> DeployConfig:
77
+ return cls(**{k: v for k, v in data.items() if k in cls.__annotations__})
78
+
79
+
80
+ @dataclass
81
+ class Config:
82
+ """Main configuration from jig.toml or pyproject.toml"""
83
+
84
+ model_name: str = ""
85
+ dockerfile: str = "Dockerfile"
86
+ image: ImageConfig = field(default_factory=ImageConfig)
87
+ deploy: DeployConfig = field(default_factory=DeployConfig)
88
+ _path: Path = field(default_factory=lambda: Path("pyproject.toml"))
89
+
90
+ @classmethod
91
+ def find(cls, config_path: Optional[str] = None, init: bool = False) -> Config:
92
+ """Find specified config_path, pyproject.toml, or jig.toml"""
93
+ if config_path:
94
+ found_path = Path(config_path)
95
+ if not found_path.exists():
96
+ click.echo(f"ERROR: Configuration file not found: {config_path}", err=True)
97
+ sys.exit(1)
98
+ return cls.load(tomllib.load(found_path.open("rb")), found_path)
99
+
100
+ if (jigfile := Path("jig.toml")).exists():
101
+ return cls.load(tomllib.load(jigfile.open("rb")), jigfile)
102
+
103
+ if (pyproject_path := Path("pyproject.toml")).exists():
104
+ data = tomllib.load(pyproject_path.open("rb"))
105
+ if "tool" in data and "jig" in data["tool"]:
106
+ return cls.load(data, pyproject_path)
107
+
108
+ if init:
109
+ return cls()
110
+ click.echo(
111
+ "ERROR: No pyproject.toml or jig.toml found, use --config to specify a config path.",
112
+ err=True,
113
+ )
114
+ sys.exit(1)
115
+
116
+ @classmethod
117
+ def load(cls, data: dict[str, Any], path: Path) -> Config:
118
+ """Load configuration from parsed TOML data"""
119
+ is_pyproject = path.name == "pyproject.toml"
120
+
121
+ jig_config = data.get("tool", {}).get("jig", {}) if is_pyproject else data
122
+
123
+ name = jig_config.get("name")
124
+ if name is None:
125
+ if is_pyproject:
126
+ name = data.get("project", {}).get("name", "")
127
+ else:
128
+ name = path.resolve().parent.name
129
+ click.echo(f"\N{PACKAGE} Name not set in config file or pyproject.toml - defaulting to {name}")
130
+
131
+ if autoscaling := jig_config.get("autoscaling", {}):
132
+ autoscaling["model"] = name
133
+ jig_config["deploy"]["autoscaling"] = autoscaling
134
+
135
+ return cls(
136
+ image=ImageConfig.from_dict(jig_config.get("image", {})),
137
+ deploy=DeployConfig.from_dict(jig_config.get("deploy", {})),
138
+ dockerfile=jig_config.get("dockerfile", "Dockerfile"),
139
+ model_name=name,
140
+ _path=path,
141
+ )
142
+
143
+
144
+ # --- State Management ---
145
+
146
+
147
+ @dataclass
148
+ class State:
149
+ """Persistent state stored in .jig.json"""
150
+
151
+ _config_dir: Path
152
+ registry_base_path: str = ""
153
+ secrets: dict[str, str] = field(default_factory=dict[str, str])
154
+ volumes: dict[str, str] = field(default_factory=dict[str, str])
155
+
156
+ @classmethod
157
+ def load(cls, config_dir: Path) -> State:
158
+ path = config_dir / ".jig.json"
159
+ try:
160
+ with open(path) as f:
161
+ data = {k: v for k, v in json.load(f).items() if k in cls.__annotations__ and not k.startswith("_")}
162
+ return cls(_config_dir=config_dir, **data)
163
+ except FileNotFoundError:
164
+ return cls(_config_dir=config_dir)
165
+
166
+ def save(self) -> None:
167
+ path = self._config_dir / ".jig.json"
168
+ data = {k: v for k, v in asdict(self).items() if not k.startswith("_")}
169
+ with open(path, "w") as f:
170
+ json.dump(data, f, indent=2)