together 2.0.0a6__tar.gz → 2.0.0a8__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 (244) hide show
  1. together-2.0.0a8/.release-please-manifest.json +3 -0
  2. {together-2.0.0a6 → together-2.0.0a8}/CHANGELOG.md +28 -0
  3. {together-2.0.0a6 → together-2.0.0a8}/PKG-INFO +2 -51
  4. {together-2.0.0a6 → together-2.0.0a8}/README.md +0 -50
  5. {together-2.0.0a6 → together-2.0.0a8}/api.md +2 -2
  6. {together-2.0.0a6 → together-2.0.0a8}/pyproject.toml +2 -1
  7. {together-2.0.0a6 → together-2.0.0a8}/requirements-dev.lock +1 -0
  8. {together-2.0.0a6 → together-2.0.0a8}/src/together/_version.py +1 -1
  9. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/api/endpoints.py +3 -4
  10. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/types/fine_tuning.py +72 -14
  11. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/fine_tuning.py +4 -4
  12. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/videos.py +4 -5
  13. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/__init__.py +0 -1
  14. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/fine_tuning_delete_params.py +2 -2
  15. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_fine_tuning.py +14 -6
  16. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_videos.py +9 -9
  17. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_fine_tuning_resources.py +2 -0
  18. {together-2.0.0a6 → together-2.0.0a8}/uv.lock +3 -1
  19. together-2.0.0a6/.release-please-manifest.json +0 -3
  20. together-2.0.0a6/src/together/types/video_create_response.py +0 -10
  21. {together-2.0.0a6 → together-2.0.0a8}/.gitignore +0 -0
  22. {together-2.0.0a6 → together-2.0.0a8}/CONTRIBUTING.md +0 -0
  23. {together-2.0.0a6 → together-2.0.0a8}/LICENSE +0 -0
  24. {together-2.0.0a6 → together-2.0.0a8}/SECURITY.md +0 -0
  25. {together-2.0.0a6 → together-2.0.0a8}/bin/check-release-environment +0 -0
  26. {together-2.0.0a6 → together-2.0.0a8}/bin/publish-pypi +0 -0
  27. {together-2.0.0a6 → together-2.0.0a8}/examples/.keep +0 -0
  28. {together-2.0.0a6 → together-2.0.0a8}/examples/coqa-small.jsonl +0 -0
  29. {together-2.0.0a6 → together-2.0.0a8}/examples/coqa.jsonl +0 -0
  30. {together-2.0.0a6 → together-2.0.0a8}/examples/embedding.py +0 -0
  31. {together-2.0.0a6 → together-2.0.0a8}/examples/file-upload.py +0 -0
  32. {together-2.0.0a6 → together-2.0.0a8}/examples/files.py +0 -0
  33. {together-2.0.0a6 → together-2.0.0a8}/examples/fine_tuning.py +0 -0
  34. {together-2.0.0a6 → together-2.0.0a8}/examples/image.py +0 -0
  35. {together-2.0.0a6 → together-2.0.0a8}/examples/models.py +0 -0
  36. {together-2.0.0a6 → together-2.0.0a8}/examples/streaming.py +0 -0
  37. {together-2.0.0a6 → together-2.0.0a8}/release-please-config.json +0 -0
  38. {together-2.0.0a6 → together-2.0.0a8}/src/together/__init__.py +0 -0
  39. {together-2.0.0a6 → together-2.0.0a8}/src/together/_base_client.py +0 -0
  40. {together-2.0.0a6 → together-2.0.0a8}/src/together/_client.py +0 -0
  41. {together-2.0.0a6 → together-2.0.0a8}/src/together/_compat.py +0 -0
  42. {together-2.0.0a6 → together-2.0.0a8}/src/together/_constants.py +0 -0
  43. {together-2.0.0a6 → together-2.0.0a8}/src/together/_exceptions.py +0 -0
  44. {together-2.0.0a6 → together-2.0.0a8}/src/together/_files.py +0 -0
  45. {together-2.0.0a6 → together-2.0.0a8}/src/together/_models.py +0 -0
  46. {together-2.0.0a6 → together-2.0.0a8}/src/together/_qs.py +0 -0
  47. {together-2.0.0a6 → together-2.0.0a8}/src/together/_resource.py +0 -0
  48. {together-2.0.0a6 → together-2.0.0a8}/src/together/_response.py +0 -0
  49. {together-2.0.0a6 → together-2.0.0a8}/src/together/_streaming.py +0 -0
  50. {together-2.0.0a6 → together-2.0.0a8}/src/together/_types.py +0 -0
  51. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/__init__.py +0 -0
  52. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_compat.py +0 -0
  53. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_datetime_parse.py +0 -0
  54. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_logs.py +0 -0
  55. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_proxy.py +0 -0
  56. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_reflection.py +0 -0
  57. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_resources_proxy.py +0 -0
  58. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_streams.py +0 -0
  59. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_sync.py +0 -0
  60. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_transform.py +0 -0
  61. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_typing.py +0 -0
  62. {together-2.0.0a6 → together-2.0.0a8}/src/together/_utils/_utils.py +0 -0
  63. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/.keep +0 -0
  64. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/__init__.py +0 -0
  65. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/__init__.py +0 -0
  66. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/api/__init__.py +0 -0
  67. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/api/evals.py +0 -0
  68. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/api/files.py +0 -0
  69. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/api/fine_tuning.py +0 -0
  70. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/api/models.py +0 -0
  71. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/api/utils.py +0 -0
  72. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/cli/cli.py +0 -0
  73. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/constants.py +0 -0
  74. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/resources/__init__.py +0 -0
  75. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/resources/files.py +0 -0
  76. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/resources/fine_tuning.py +0 -0
  77. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/resources/models.py +0 -0
  78. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/types/__init__.py +0 -0
  79. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/types/error.py +0 -0
  80. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/utils/__init__.py +0 -0
  81. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/utils/_log.py +0 -0
  82. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/utils/files.py +0 -0
  83. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/utils/serializer.py +0 -0
  84. {together-2.0.0a6 → together-2.0.0a8}/src/together/lib/utils/tools.py +0 -0
  85. {together-2.0.0a6 → together-2.0.0a8}/src/together/py.typed +0 -0
  86. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/__init__.py +0 -0
  87. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/audio/__init__.py +0 -0
  88. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/audio/audio.py +0 -0
  89. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/audio/speech.py +0 -0
  90. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/audio/transcriptions.py +0 -0
  91. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/audio/translations.py +0 -0
  92. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/audio/voices.py +0 -0
  93. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/batches.py +0 -0
  94. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/chat/__init__.py +0 -0
  95. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/chat/chat.py +0 -0
  96. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/chat/completions.py +0 -0
  97. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/code_interpreter/__init__.py +0 -0
  98. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/code_interpreter/code_interpreter.py +0 -0
  99. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/code_interpreter/sessions.py +0 -0
  100. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/completions.py +0 -0
  101. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/embeddings.py +0 -0
  102. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/endpoints.py +0 -0
  103. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/evals.py +0 -0
  104. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/files.py +0 -0
  105. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/hardware.py +0 -0
  106. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/images.py +0 -0
  107. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/jobs.py +0 -0
  108. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/models.py +0 -0
  109. {together-2.0.0a6 → together-2.0.0a8}/src/together/resources/rerank.py +0 -0
  110. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio/__init__.py +0 -0
  111. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio/speech_create_params.py +0 -0
  112. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio/transcription_create_params.py +0 -0
  113. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio/transcription_create_response.py +0 -0
  114. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio/translation_create_params.py +0 -0
  115. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio/translation_create_response.py +0 -0
  116. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio/voice_list_response.py +0 -0
  117. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/audio_speech_stream_chunk.py +0 -0
  118. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/autoscaling.py +0 -0
  119. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/autoscaling_param.py +0 -0
  120. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/batch_create_params.py +0 -0
  121. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/batch_create_response.py +0 -0
  122. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/batch_job.py +0 -0
  123. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/batch_list_response.py +0 -0
  124. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/__init__.py +0 -0
  125. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/chat_completion.py +0 -0
  126. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/chat_completion_chunk.py +0 -0
  127. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/chat_completion_structured_message_image_url_param.py +0 -0
  128. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/chat_completion_structured_message_text_param.py +0 -0
  129. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/chat_completion_structured_message_video_url_param.py +0 -0
  130. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/chat_completion_usage.py +0 -0
  131. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/chat_completion_warning.py +0 -0
  132. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/chat/completion_create_params.py +0 -0
  133. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/code_interpreter/__init__.py +0 -0
  134. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/code_interpreter/session_list_response.py +0 -0
  135. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/code_interpreter_execute_params.py +0 -0
  136. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/completion.py +0 -0
  137. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/completion_chunk.py +0 -0
  138. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/completion_create_params.py +0 -0
  139. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/dedicated_endpoint.py +0 -0
  140. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/embedding.py +0 -0
  141. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/embedding_create_params.py +0 -0
  142. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/endpoint_create_params.py +0 -0
  143. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/endpoint_list_avzones_response.py +0 -0
  144. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/endpoint_list_params.py +0 -0
  145. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/endpoint_list_response.py +0 -0
  146. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/endpoint_update_params.py +0 -0
  147. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/eval_create_params.py +0 -0
  148. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/eval_create_response.py +0 -0
  149. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/eval_list_params.py +0 -0
  150. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/eval_list_response.py +0 -0
  151. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/eval_status_response.py +0 -0
  152. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/evaluation_job.py +0 -0
  153. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/execute_response.py +0 -0
  154. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/file_delete_response.py +0 -0
  155. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/file_list.py +0 -0
  156. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/file_purpose.py +0 -0
  157. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/file_response.py +0 -0
  158. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/file_type.py +0 -0
  159. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/fine_tuning_cancel_response.py +0 -0
  160. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/fine_tuning_content_params.py +0 -0
  161. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/fine_tuning_delete_response.py +0 -0
  162. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/fine_tuning_list_checkpoints_response.py +0 -0
  163. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/fine_tuning_list_events_response.py +0 -0
  164. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/fine_tuning_list_response.py +0 -0
  165. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/finetune_event.py +0 -0
  166. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/finetune_event_type.py +0 -0
  167. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/finetune_response.py +0 -0
  168. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/hardware_list_params.py +0 -0
  169. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/hardware_list_response.py +0 -0
  170. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/image_data_b64.py +0 -0
  171. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/image_data_url.py +0 -0
  172. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/image_file.py +0 -0
  173. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/image_generate_params.py +0 -0
  174. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/job_list_response.py +0 -0
  175. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/job_retrieve_response.py +0 -0
  176. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/log_probs.py +0 -0
  177. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/model_list_response.py +0 -0
  178. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/model_object.py +0 -0
  179. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/model_upload_params.py +0 -0
  180. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/model_upload_response.py +0 -0
  181. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/rerank_create_params.py +0 -0
  182. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/rerank_create_response.py +0 -0
  183. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/tool_choice.py +0 -0
  184. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/tool_choice_param.py +0 -0
  185. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/tools_param.py +0 -0
  186. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/training_method_dpo.py +0 -0
  187. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/training_method_sft.py +0 -0
  188. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/video_create_params.py +0 -0
  189. {together-2.0.0a6 → together-2.0.0a8}/src/together/types/video_job.py +0 -0
  190. {together-2.0.0a6 → together-2.0.0a8}/tests/__init__.py +0 -0
  191. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/__init__.py +0 -0
  192. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/audio/__init__.py +0 -0
  193. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/audio/test_speech.py +0 -0
  194. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/audio/test_transcriptions.py +0 -0
  195. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/audio/test_translations.py +0 -0
  196. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/audio/test_voices.py +0 -0
  197. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/chat/__init__.py +0 -0
  198. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/chat/test_completions.py +0 -0
  199. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/code_interpreter/__init__.py +0 -0
  200. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/code_interpreter/test_sessions.py +0 -0
  201. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_batches.py +0 -0
  202. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_code_interpreter.py +0 -0
  203. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_completions.py +0 -0
  204. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_embeddings.py +0 -0
  205. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_endpoints.py +0 -0
  206. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_evals.py +0 -0
  207. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_files.py +0 -0
  208. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_hardware.py +0 -0
  209. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_images.py +0 -0
  210. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_jobs.py +0 -0
  211. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_models.py +0 -0
  212. {together-2.0.0a6 → together-2.0.0a8}/tests/api_resources/test_rerank.py +0 -0
  213. {together-2.0.0a6 → together-2.0.0a8}/tests/conftest.py +0 -0
  214. {together-2.0.0a6 → together-2.0.0a8}/tests/integration/__init__.py +0 -0
  215. {together-2.0.0a6 → together-2.0.0a8}/tests/integration/constants.py +0 -0
  216. {together-2.0.0a6 → together-2.0.0a8}/tests/integration/resources/__init__.py +0 -0
  217. {together-2.0.0a6 → together-2.0.0a8}/tests/integration/resources/generate_hyperparameters.py +0 -0
  218. {together-2.0.0a6 → together-2.0.0a8}/tests/integration/resources/test_completion.py +0 -0
  219. {together-2.0.0a6 → together-2.0.0a8}/tests/integration/resources/test_completion_stream.py +0 -0
  220. {together-2.0.0a6 → together-2.0.0a8}/tests/integration/resources/test_files.py +0 -0
  221. {together-2.0.0a6 → together-2.0.0a8}/tests/sample_file.txt +0 -0
  222. {together-2.0.0a6 → together-2.0.0a8}/tests/test_client.py +0 -0
  223. {together-2.0.0a6 → together-2.0.0a8}/tests/test_deepcopy.py +0 -0
  224. {together-2.0.0a6 → together-2.0.0a8}/tests/test_extract_files.py +0 -0
  225. {together-2.0.0a6 → together-2.0.0a8}/tests/test_files.py +0 -0
  226. {together-2.0.0a6 → together-2.0.0a8}/tests/test_models.py +0 -0
  227. {together-2.0.0a6 → together-2.0.0a8}/tests/test_qs.py +0 -0
  228. {together-2.0.0a6 → together-2.0.0a8}/tests/test_required_args.py +0 -0
  229. {together-2.0.0a6 → together-2.0.0a8}/tests/test_response.py +0 -0
  230. {together-2.0.0a6 → together-2.0.0a8}/tests/test_streaming.py +0 -0
  231. {together-2.0.0a6 → together-2.0.0a8}/tests/test_transform.py +0 -0
  232. {together-2.0.0a6 → together-2.0.0a8}/tests/test_utils/test_datetime_parse.py +0 -0
  233. {together-2.0.0a6 → together-2.0.0a8}/tests/test_utils/test_proxy.py +0 -0
  234. {together-2.0.0a6 → together-2.0.0a8}/tests/test_utils/test_typing.py +0 -0
  235. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_async_client.py +0 -0
  236. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_client.py +0 -0
  237. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_code_interpreter.py +0 -0
  238. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_files_checks.py +0 -0
  239. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_files_resource.py +0 -0
  240. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_imports.py +0 -0
  241. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_multipart_upload_manager.py +0 -0
  242. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_preference_openai.py +0 -0
  243. {together-2.0.0a6 → together-2.0.0a8}/tests/unit/test_video_url.py +0 -0
  244. {together-2.0.0a6 → together-2.0.0a8}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "2.0.0-alpha.8"
3
+ }
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.0-alpha.8 (2025-11-26)
4
+
5
+ Full Changelog: [v2.0.0-alpha.7...v2.0.0-alpha.8](https://github.com/togethercomputer/together-py/compare/v2.0.0-alpha.7...v2.0.0-alpha.8)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([49bb5d4](https://github.com/togethercomputer/together-py/commit/49bb5d4ba69ca118ecc34be2d69c4253665e2e81))
10
+ * **api:** Fix internal references for VideoJob spec ([fb5e7bb](https://github.com/togethercomputer/together-py/commit/fb5e7bb3dbaa9427d291de7440c201529b6cf528))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * Address incorrect logic for `endpoint [command] --wait false` logic ([31236a9](https://github.com/togethercomputer/together-py/commit/31236a9df29c22fe7444c2dbb0d4bfc518bc79aa))
16
+
17
+
18
+ ### Chores
19
+
20
+ * Remove incorrect file upload docs ([5bb847e](https://github.com/togethercomputer/together-py/commit/5bb847e33b55e5d0978c742e86cf931a2c08f919))
21
+ * Remove incorrect file upload docs ([bb97093](https://github.com/togethercomputer/together-py/commit/bb970938650b6f9580538528979221d142f74b6a))
22
+
23
+ ## 2.0.0-alpha.7 (2025-11-26)
24
+
25
+ Full Changelog: [v2.0.0-alpha.6...v2.0.0-alpha.7](https://github.com/togethercomputer/together-py/compare/v2.0.0-alpha.6...v2.0.0-alpha.7)
26
+
27
+ ### Bug Fixes
28
+
29
+ * include rich in package dependencies ([9c9c5fc](https://github.com/togethercomputer/together-py/commit/9c9c5fcc29183e1598418684391b480d4052c9b9))
30
+
3
31
  ## 2.0.0-alpha.6 (2025-11-25)
4
32
 
5
33
  Full Changelog: [v2.0.0-alpha.5...v2.0.0-alpha.6](https://github.com/togethercomputer/together-py/compare/v2.0.0-alpha.5...v2.0.0-alpha.6)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: together
3
- Version: 2.0.0a6
3
+ Version: 2.0.0a8
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
@@ -29,6 +29,7 @@ Requires-Dist: filelock>=3.13.1
29
29
  Requires-Dist: httpx<1,>=0.23.0
30
30
  Requires-Dist: pillow>=10.4.0
31
31
  Requires-Dist: pydantic<3,>=1.9.0
32
+ Requires-Dist: rich>=13.7.1
32
33
  Requires-Dist: sniffio
33
34
  Requires-Dist: tabulate>=0.9.0
34
35
  Requires-Dist: tqdm>=4.67.1
@@ -243,22 +244,6 @@ chat_completion = client.chat.completions.create(
243
244
  print(chat_completion.response_format)
244
245
  ```
245
246
 
246
- ## File uploads
247
-
248
- Request parameters that correspond to file uploads can be passed as `bytes`, or a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
249
-
250
- ```python
251
- from pathlib import Path
252
- from together import Together
253
-
254
- client = Together()
255
-
256
- client.files.upload(
257
- file=Path("/path/to/file"),
258
- purpose="fine-tune",
259
- )
260
- ```
261
-
262
247
  The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
263
248
 
264
249
  ## Handling errors
@@ -527,40 +512,6 @@ with Together() as client:
527
512
 
528
513
  ## Usage – CLI
529
514
 
530
- ### Chat Completions
531
-
532
- ```bash
533
- together chat.completions \
534
- --message "system" "You are a helpful assistant named Together" \
535
- --message "user" "What is your name?" \
536
- --model mistralai/Mixtral-8x7B-Instruct-v0.1
537
- ```
538
-
539
- The Chat Completions CLI enables streaming tokens to stdout by default. To disable streaming, use `--no-stream`.
540
-
541
- ### Completions
542
-
543
- ```bash
544
- together completions \
545
- "Large language models are " \
546
- --model mistralai/Mixtral-8x7B-v0.1 \
547
- --max-tokens 512 \
548
- --stop "."
549
- ```
550
-
551
- The Completions CLI enables streaming tokens to stdout by default. To disable streaming, use `--no-stream`.
552
-
553
- ### Image Generations
554
-
555
- ```bash
556
- together images generate \
557
- "space robots" \
558
- --model stabilityai/stable-diffusion-xl-base-1.0 \
559
- --n 4
560
- ```
561
-
562
- The image is opened in the default image viewer by default. To disable this, use `--no-show`.
563
-
564
515
  ### Files
565
516
 
566
517
  ```bash
@@ -198,22 +198,6 @@ chat_completion = client.chat.completions.create(
198
198
  print(chat_completion.response_format)
199
199
  ```
200
200
 
201
- ## File uploads
202
-
203
- Request parameters that correspond to file uploads can be passed as `bytes`, or a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
204
-
205
- ```python
206
- from pathlib import Path
207
- from together import Together
208
-
209
- client = Together()
210
-
211
- client.files.upload(
212
- file=Path("/path/to/file"),
213
- purpose="fine-tune",
214
- )
215
- ```
216
-
217
201
  The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
218
202
 
219
203
  ## Handling errors
@@ -482,40 +466,6 @@ with Together() as client:
482
466
 
483
467
  ## Usage – CLI
484
468
 
485
- ### Chat Completions
486
-
487
- ```bash
488
- together chat.completions \
489
- --message "system" "You are a helpful assistant named Together" \
490
- --message "user" "What is your name?" \
491
- --model mistralai/Mixtral-8x7B-Instruct-v0.1
492
- ```
493
-
494
- The Chat Completions CLI enables streaming tokens to stdout by default. To disable streaming, use `--no-stream`.
495
-
496
- ### Completions
497
-
498
- ```bash
499
- together completions \
500
- "Large language models are " \
501
- --model mistralai/Mixtral-8x7B-v0.1 \
502
- --max-tokens 512 \
503
- --stop "."
504
- ```
505
-
506
- The Completions CLI enables streaming tokens to stdout by default. To disable streaming, use `--no-stream`.
507
-
508
- ### Image Generations
509
-
510
- ```bash
511
- together images generate \
512
- "space robots" \
513
- --model stabilityai/stable-diffusion-xl-base-1.0 \
514
- --n 4
515
- ```
516
-
517
- The image is opened in the default image viewer by default. To disable this, use `--no-show`.
518
-
519
469
  ### Files
520
470
 
521
471
  ```bash
@@ -134,12 +134,12 @@ Methods:
134
134
  Types:
135
135
 
136
136
  ```python
137
- from together.types import VideoJob, VideoCreateResponse
137
+ from together.types import VideoJob
138
138
  ```
139
139
 
140
140
  Methods:
141
141
 
142
- - <code title="post /videos">client.videos.<a href="./src/together/resources/videos.py">create</a>(\*\*<a href="src/together/types/video_create_params.py">params</a>) -> <a href="./src/together/types/video_create_response.py">VideoCreateResponse</a></code>
142
+ - <code title="post /videos">client.videos.<a href="./src/together/resources/videos.py">create</a>(\*\*<a href="src/together/types/video_create_params.py">params</a>) -> <a href="./src/together/types/video_job.py">VideoJob</a></code>
143
143
  - <code title="get /videos/{id}">client.videos.<a href="./src/together/resources/videos.py">retrieve</a>(id) -> <a href="./src/together/types/video_job.py">VideoJob</a></code>
144
144
 
145
145
  # Audio
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "together"
3
- version = "2.0.0-alpha.6"
3
+ version = "2.0.0-alpha.8"
4
4
  description = "The official Python library for the together API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -15,6 +15,7 @@ dependencies = [
15
15
  "distro>=1.7.0, <2",
16
16
  "sniffio",
17
17
  "click>=8.1.7",
18
+ "rich>=13.7.1",
18
19
  "tabulate>=0.9.0",
19
20
  "pillow>=10.4.0",
20
21
  "types-tabulate>=0.9.0.20240106",
@@ -122,6 +122,7 @@ python-dateutil==2.9.0.post0 ; python_full_version < '3.10'
122
122
  # via time-machine
123
123
  respx==0.22.0
124
124
  rich==14.2.0
125
+ # via together
125
126
  ruff==0.14.6
126
127
  six==1.17.0 ; python_full_version < '3.10'
127
128
  # via python-dateutil
@@ -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.6" # x-release-please-version
4
+ __version__ = "2.0.0-alpha.8" # x-release-please-version
@@ -128,8 +128,7 @@ def endpoints(ctx: click.Context) -> None:
128
128
  help="Start endpoint in specified availability zone (e.g., us-central-4b)",
129
129
  )
130
130
  @click.option(
131
- "--wait",
132
- is_flag=True,
131
+ "--wait/--no-wait",
133
132
  default=True,
134
133
  help="Wait for the endpoint to be ready after creation",
135
134
  )
@@ -272,7 +271,7 @@ def fetch_and_print_hardware_options(client: Together, model: str | None, print_
272
271
 
273
272
  @endpoints.command()
274
273
  @click.argument("endpoint-id", required=True)
275
- @click.option("--wait", is_flag=True, default=True, help="Wait for the endpoint to stop")
274
+ @click.option("--wait/--no-wait", default=True, help="Wait for the endpoint to stop")
276
275
  @click.pass_obj
277
276
  @handle_api_errors
278
277
  def stop(client: Together, endpoint_id: str, wait: bool) -> None:
@@ -293,7 +292,7 @@ def stop(client: Together, endpoint_id: str, wait: bool) -> None:
293
292
 
294
293
  @endpoints.command()
295
294
  @click.argument("endpoint-id", required=True)
296
- @click.option("--wait", is_flag=True, default=True, help="Wait for the endpoint to start")
295
+ @click.option("--wait/--no-wait", default=True, help="Wait for the endpoint to start")
297
296
  @click.pass_obj
298
297
  @handle_api_errors
299
298
  def start(client: Together, endpoint_id: str, wait: bool) -> None:
@@ -70,9 +70,6 @@ class FinetuneEventLevels(str, Enum):
70
70
  INFO = "Info"
71
71
  WARNING = "Warning"
72
72
  ERROR = "Error"
73
- LEGACY_INFO = "info"
74
- LEGACY_IWARNING = "warning"
75
- LEGACY_IERROR = "error"
76
73
 
77
74
 
78
75
  class FinetuneEvent(BaseModel):
@@ -85,7 +82,7 @@ class FinetuneEvent(BaseModel):
85
82
  # created at datetime stamp
86
83
  created_at: Union[str, None] = None
87
84
  # event log level
88
- level: Union[FinetuneEventLevels, None] = None
85
+ level: Union[FinetuneEventLevels, str, None] = None
89
86
  # event message string
90
87
  message: Union[str, None] = None
91
88
  # event type
@@ -120,7 +117,20 @@ class LoRATrainingType(BaseModel):
120
117
  type: Literal["Lora"] = "Lora"
121
118
 
122
119
 
123
- TrainingType: TypeAlias = Union[FullTrainingType, LoRATrainingType]
120
+ class UnknownTrainingType(BaseModel):
121
+ """
122
+ Catch-all for unknown training types (forward compatibility).
123
+ Accepts any training type not explicitly defined.
124
+ """
125
+
126
+ type: str
127
+
128
+
129
+ TrainingType: TypeAlias = Union[
130
+ FullTrainingType,
131
+ LoRATrainingType,
132
+ UnknownTrainingType,
133
+ ]
124
134
 
125
135
 
126
136
  class FinetuneFullTrainingLimits(BaseModel):
@@ -163,7 +173,19 @@ class TrainingMethodDPO(BaseModel):
163
173
  simpo_gamma: Union[float, None] = None
164
174
 
165
175
 
166
- TrainingMethod: TypeAlias = Union[TrainingMethodSFT, TrainingMethodDPO]
176
+ class TrainingMethodUnknown(BaseModel):
177
+ """
178
+ Catch-all for unknown training methods (forward compatibility).
179
+ Accepts any training method not explicitly defined.
180
+ """
181
+
182
+ method: str
183
+
184
+ TrainingMethod: TypeAlias = Union[
185
+ TrainingMethodSFT,
186
+ TrainingMethodDPO,
187
+ TrainingMethodUnknown,
188
+ ]
167
189
 
168
190
 
169
191
  class FinetuneTrainingLimits(BaseModel):
@@ -175,31 +197,67 @@ class FinetuneTrainingLimits(BaseModel):
175
197
 
176
198
 
177
199
  class LinearLRSchedulerArgs(BaseModel):
200
+ """
201
+ Linear learning rate scheduler arguments
202
+ """
203
+
178
204
  min_lr_ratio: Union[float, None] = 0.0
179
205
 
180
206
 
181
207
  class CosineLRSchedulerArgs(BaseModel):
208
+ """
209
+ Cosine learning rate scheduler arguments
210
+ """
211
+
182
212
  min_lr_ratio: Union[float, None] = 0.0
183
213
  num_cycles: Union[float, None] = 0.5
184
214
 
185
215
 
186
216
  class LinearLRScheduler(BaseModel):
217
+ """
218
+ Linear learning rate scheduler
219
+ """
220
+
187
221
  lr_scheduler_type: Literal["linear"] = "linear"
188
222
  lr_scheduler_args: Union[LinearLRSchedulerArgs, None] = None
189
223
 
190
224
 
191
225
  class CosineLRScheduler(BaseModel):
226
+ """
227
+ Cosine learning rate scheduler
228
+ """
229
+
192
230
  lr_scheduler_type: Literal["cosine"] = "cosine"
193
231
  lr_scheduler_args: Union[CosineLRSchedulerArgs, None] = None
194
232
 
195
233
 
196
- # placeholder for old fine-tuning jobs with no lr_scheduler_type specified
197
234
  class EmptyLRScheduler(BaseModel):
235
+ """
236
+ Empty learning rate scheduler
237
+
238
+ Placeholder for old fine-tuning jobs with no lr_scheduler_type specified
239
+ """
240
+
198
241
  lr_scheduler_type: Literal[""]
199
242
  lr_scheduler_args: None = None
200
243
 
244
+ class UnknownLRScheduler(BaseModel):
245
+ """
246
+ Unknown learning rate scheduler
247
+
248
+ Catch-all for unknown LR scheduler types (forward compatibility)
249
+ """
250
+
251
+ lr_scheduler_type: str
252
+ lr_scheduler_args: Optional[Any] = None
253
+
201
254
 
202
- FinetuneLRScheduler: TypeAlias = Union[LinearLRScheduler, CosineLRScheduler, EmptyLRScheduler]
255
+ FinetuneLRScheduler: TypeAlias = Union[
256
+ LinearLRScheduler,
257
+ CosineLRScheduler,
258
+ EmptyLRScheduler,
259
+ UnknownLRScheduler,
260
+ ]
203
261
 
204
262
 
205
263
  class FinetuneResponse(BaseModel):
@@ -213,8 +271,8 @@ class FinetuneResponse(BaseModel):
213
271
  created_at: datetime
214
272
  """Creation timestamp of the fine-tune job"""
215
273
 
216
- status: Optional[FinetuneJobStatus] = None
217
- """Status of the fine-tune job"""
274
+ status: Optional[Union[FinetuneJobStatus, str]] = None
275
+ """Status of the fine-tune job (accepts known enum values or string for forward compatibility)"""
218
276
 
219
277
  updated_at: datetime
220
278
  """Last update timestamp of the fine-tune job"""
@@ -222,8 +280,8 @@ class FinetuneResponse(BaseModel):
222
280
  batch_size: Optional[int] = None
223
281
  """Batch size used for training"""
224
282
 
225
- events: Optional[List[FinetuneEvent]] = None
226
- """Events related to this fine-tune job"""
283
+ events: Optional[List[Union[FinetuneEvent, str]]] = None
284
+ """Events related to this fine-tune job (accepts known enum values or string for forward compatibility)"""
227
285
 
228
286
  from_checkpoint: Optional[str] = None
229
287
  """Checkpoint used to continue training"""
@@ -361,7 +419,7 @@ class FinetuneRequest(BaseModel):
361
419
  # training learning rate
362
420
  learning_rate: float
363
421
  # learning rate scheduler type and args
364
- lr_scheduler: Union[LinearLRScheduler, CosineLRScheduler, None] = None
422
+ lr_scheduler: Union[FinetuneLRScheduler, None] = None
365
423
  # learning rate warmup ratio
366
424
  warmup_ratio: float
367
425
  # max gradient norm
@@ -387,7 +445,7 @@ class FinetuneRequest(BaseModel):
387
445
  # training type
388
446
  training_type: Union[TrainingType, None] = None
389
447
  # training method
390
- training_method: Union[TrainingMethodSFT, TrainingMethodDPO] = Field(default_factory=TrainingMethodSFT)
448
+ training_method: TrainingMethod = Field(default_factory=TrainingMethodSFT)
391
449
  # from step
392
450
  from_checkpoint: Union[str, None] = None
393
451
  from_hf_model: Union[str, None] = None
@@ -291,7 +291,7 @@ class FineTuningResource(SyncAPIResource):
291
291
  self,
292
292
  id: str,
293
293
  *,
294
- force: bool,
294
+ force: bool | Omit = omit,
295
295
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
296
296
  # The extra values given here take precedence over values defined on the client or passed to this method.
297
297
  extra_headers: Headers | None = None,
@@ -374,7 +374,7 @@ class FineTuningResource(SyncAPIResource):
374
374
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
375
375
  ) -> BinaryAPIResponse:
376
376
  """
377
- Download a compressed fine-tuned model or checkpoint.
377
+ Receive a compressed fine-tuned model or checkpoint.
378
378
 
379
379
  Args:
380
380
  ft_id: Fine-tune ID to download. A string that starts with `ft-`.
@@ -732,7 +732,7 @@ class AsyncFineTuningResource(AsyncAPIResource):
732
732
  self,
733
733
  id: str,
734
734
  *,
735
- force: bool,
735
+ force: bool | Omit = omit,
736
736
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
737
737
  # The extra values given here take precedence over values defined on the client or passed to this method.
738
738
  extra_headers: Headers | None = None,
@@ -815,7 +815,7 @@ class AsyncFineTuningResource(AsyncAPIResource):
815
815
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
816
816
  ) -> AsyncBinaryAPIResponse:
817
817
  """
818
- Download a compressed fine-tuned model or checkpoint.
818
+ Receive a compressed fine-tuned model or checkpoint.
819
819
 
820
820
  Args:
821
821
  ft_id: Fine-tune ID to download. A string that starts with `ft-`.
@@ -20,7 +20,6 @@ from .._response import (
20
20
  )
21
21
  from .._base_client import make_request_options
22
22
  from ..types.video_job import VideoJob
23
- from ..types.video_create_response import VideoCreateResponse
24
23
 
25
24
  __all__ = ["VideosResource", "AsyncVideosResource"]
26
25
 
@@ -68,7 +67,7 @@ class VideosResource(SyncAPIResource):
68
67
  extra_query: Query | None = None,
69
68
  extra_body: Body | None = None,
70
69
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
71
- ) -> VideoCreateResponse:
70
+ ) -> VideoJob:
72
71
  """
73
72
  Create a video
74
73
 
@@ -139,7 +138,7 @@ class VideosResource(SyncAPIResource):
139
138
  options=make_request_options(
140
139
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
141
140
  ),
142
- cast_to=VideoCreateResponse,
141
+ cast_to=VideoJob,
143
142
  )
144
143
 
145
144
  def retrieve(
@@ -219,7 +218,7 @@ class AsyncVideosResource(AsyncAPIResource):
219
218
  extra_query: Query | None = None,
220
219
  extra_body: Body | None = None,
221
220
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
222
- ) -> VideoCreateResponse:
221
+ ) -> VideoJob:
223
222
  """
224
223
  Create a video
225
224
 
@@ -290,7 +289,7 @@ class AsyncVideosResource(AsyncAPIResource):
290
289
  options=make_request_options(
291
290
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
292
291
  ),
293
- cast_to=VideoCreateResponse,
292
+ cast_to=VideoJob,
294
293
  )
295
294
 
296
295
  async def retrieve(
@@ -46,7 +46,6 @@ from .batch_create_response import BatchCreateResponse as BatchCreateResponse
46
46
  from .image_generate_params import ImageGenerateParams as ImageGenerateParams
47
47
  from .job_retrieve_response import JobRetrieveResponse as JobRetrieveResponse
48
48
  from .model_upload_response import ModelUploadResponse as ModelUploadResponse
49
- from .video_create_response import VideoCreateResponse as VideoCreateResponse
50
49
  from .endpoint_create_params import EndpointCreateParams as EndpointCreateParams
51
50
  from .endpoint_list_response import EndpointListResponse as EndpointListResponse
52
51
  from .endpoint_update_params import EndpointUpdateParams as EndpointUpdateParams
@@ -2,10 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Required, TypedDict
5
+ from typing_extensions import TypedDict
6
6
 
7
7
  __all__ = ["FineTuningDeleteParams"]
8
8
 
9
9
 
10
10
  class FineTuningDeleteParams(TypedDict, total=False):
11
- force: Required[bool]
11
+ force: bool
@@ -97,6 +97,13 @@ class TestFineTuning:
97
97
 
98
98
  @parametrize
99
99
  def test_method_delete(self, client: Together) -> None:
100
+ fine_tuning = client.fine_tuning.delete(
101
+ id="id",
102
+ )
103
+ assert_matches_type(FineTuningDeleteResponse, fine_tuning, path=["response"])
104
+
105
+ @parametrize
106
+ def test_method_delete_with_all_params(self, client: Together) -> None:
100
107
  fine_tuning = client.fine_tuning.delete(
101
108
  id="id",
102
109
  force=True,
@@ -107,7 +114,6 @@ class TestFineTuning:
107
114
  def test_raw_response_delete(self, client: Together) -> None:
108
115
  response = client.fine_tuning.with_raw_response.delete(
109
116
  id="id",
110
- force=True,
111
117
  )
112
118
 
113
119
  assert response.is_closed is True
@@ -119,7 +125,6 @@ class TestFineTuning:
119
125
  def test_streaming_response_delete(self, client: Together) -> None:
120
126
  with client.fine_tuning.with_streaming_response.delete(
121
127
  id="id",
122
- force=True,
123
128
  ) as response:
124
129
  assert not response.is_closed
125
130
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -134,7 +139,6 @@ class TestFineTuning:
134
139
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
135
140
  client.fine_tuning.with_raw_response.delete(
136
141
  id="",
137
- force=True,
138
142
  )
139
143
 
140
144
  @parametrize
@@ -378,6 +382,13 @@ class TestAsyncFineTuning:
378
382
 
379
383
  @parametrize
380
384
  async def test_method_delete(self, async_client: AsyncTogether) -> None:
385
+ fine_tuning = await async_client.fine_tuning.delete(
386
+ id="id",
387
+ )
388
+ assert_matches_type(FineTuningDeleteResponse, fine_tuning, path=["response"])
389
+
390
+ @parametrize
391
+ async def test_method_delete_with_all_params(self, async_client: AsyncTogether) -> None:
381
392
  fine_tuning = await async_client.fine_tuning.delete(
382
393
  id="id",
383
394
  force=True,
@@ -388,7 +399,6 @@ class TestAsyncFineTuning:
388
399
  async def test_raw_response_delete(self, async_client: AsyncTogether) -> None:
389
400
  response = await async_client.fine_tuning.with_raw_response.delete(
390
401
  id="id",
391
- force=True,
392
402
  )
393
403
 
394
404
  assert response.is_closed is True
@@ -400,7 +410,6 @@ class TestAsyncFineTuning:
400
410
  async def test_streaming_response_delete(self, async_client: AsyncTogether) -> None:
401
411
  async with async_client.fine_tuning.with_streaming_response.delete(
402
412
  id="id",
403
- force=True,
404
413
  ) as response:
405
414
  assert not response.is_closed
406
415
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -415,7 +424,6 @@ class TestAsyncFineTuning:
415
424
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
416
425
  await async_client.fine_tuning.with_raw_response.delete(
417
426
  id="",
418
- force=True,
419
427
  )
420
428
 
421
429
  @parametrize