cartesia 2.0.7__tar.gz → 2.0.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cartesia might be problematic. Click here for more details.

Files changed (208) hide show
  1. {cartesia-2.0.7 → cartesia-2.0.9}/PKG-INFO +2 -4
  2. {cartesia-2.0.7 → cartesia-2.0.9}/pyproject.toml +1 -1
  3. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/__init__.py +0 -8
  4. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/client_wrapper.py +1 -1
  5. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/__init__.py +0 -8
  6. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/_async_websocket.py +40 -24
  7. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/_websocket.py +0 -1
  8. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/client.py +0 -13
  9. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/__init__.py +0 -4
  10. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/tts_request.py +0 -2
  11. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/__init__.py +0 -4
  12. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/tts_request.py +0 -2
  13. cartesia-2.0.7/src/cartesia/tts/requests/experimental_model_controls.py +0 -17
  14. cartesia-2.0.7/src/cartesia/tts/requests/generation_config.py +0 -23
  15. cartesia-2.0.7/src/cartesia/tts/types/experimental_model_controls.py +0 -28
  16. cartesia-2.0.7/src/cartesia/tts/types/generation_config.py +0 -34
  17. {cartesia-2.0.7 → cartesia-2.0.9}/LICENSE +0 -0
  18. {cartesia-2.0.7 → cartesia-2.0.9}/README.md +0 -0
  19. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/api_status/__init__.py +0 -0
  20. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/api_status/client.py +0 -0
  21. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/api_status/requests/__init__.py +0 -0
  22. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/api_status/requests/api_info.py +0 -0
  23. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/api_status/types/__init__.py +0 -0
  24. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/api_status/types/api_info.py +0 -0
  25. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/__init__.py +0 -0
  26. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/client.py +0 -0
  27. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/requests/__init__.py +0 -0
  28. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/requests/token_grant.py +0 -0
  29. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/requests/token_request.py +0 -0
  30. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/requests/token_response.py +0 -0
  31. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/types/__init__.py +0 -0
  32. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/types/token_grant.py +0 -0
  33. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/types/token_request.py +0 -0
  34. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/auth/types/token_response.py +0 -0
  35. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/base_client.py +0 -0
  36. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/client.py +0 -0
  37. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/__init__.py +0 -0
  38. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/api_error.py +0 -0
  39. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/datetime_utils.py +0 -0
  40. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/file.py +0 -0
  41. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/http_client.py +0 -0
  42. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/jsonable_encoder.py +0 -0
  43. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/pagination.py +0 -0
  44. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/pydantic_utilities.py +0 -0
  45. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/query_encoder.py +0 -0
  46. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/remove_none_from_dict.py +0 -0
  47. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/request_options.py +0 -0
  48. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/core/serialization.py +0 -0
  49. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/__init__.py +0 -0
  50. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/requests/__init__.py +0 -0
  51. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/requests/create_dataset_request.py +0 -0
  52. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/requests/dataset.py +0 -0
  53. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/requests/dataset_file.py +0 -0
  54. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/requests/paginated_dataset_files.py +0 -0
  55. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/requests/paginated_datasets.py +0 -0
  56. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/types/__init__.py +0 -0
  57. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/types/create_dataset_request.py +0 -0
  58. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/types/dataset.py +0 -0
  59. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/types/dataset_file.py +0 -0
  60. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/types/file_purpose.py +0 -0
  61. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/types/paginated_dataset_files.py +0 -0
  62. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/datasets/types/paginated_datasets.py +0 -0
  63. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/embedding/__init__.py +0 -0
  64. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/embedding/types/__init__.py +0 -0
  65. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/embedding/types/embedding.py +0 -0
  66. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/environment.py +0 -0
  67. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/infill/__init__.py +0 -0
  68. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/infill/client.py +0 -0
  69. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/py.typed +0 -0
  70. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/__init__.py +0 -0
  71. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/_async_websocket.py +0 -0
  72. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/_websocket.py +0 -0
  73. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/client.py +0 -0
  74. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/__init__.py +0 -0
  75. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/done_message.py +0 -0
  76. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/error_message.py +0 -0
  77. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/flush_done_message.py +0 -0
  78. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/streaming_transcription_response.py +0 -0
  79. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/transcript_message.py +0 -0
  80. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/transcription_response.py +0 -0
  81. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/requests/transcription_word.py +0 -0
  82. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/socket_client.py +0 -0
  83. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/__init__.py +0 -0
  84. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/done_message.py +0 -0
  85. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/error_message.py +0 -0
  86. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/flush_done_message.py +0 -0
  87. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/streaming_transcription_response.py +0 -0
  88. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/stt_encoding.py +0 -0
  89. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/timestamp_granularity.py +0 -0
  90. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/transcript_message.py +0 -0
  91. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/transcription_response.py +0 -0
  92. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/stt/types/transcription_word.py +0 -0
  93. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/cancel_context_request.py +0 -0
  94. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/controls.py +0 -0
  95. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/generation_request.py +0 -0
  96. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/mp_3_output_format.py +0 -0
  97. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/output_format.py +0 -0
  98. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/phoneme_timestamps.py +0 -0
  99. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/raw_output_format.py +0 -0
  100. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/speed.py +0 -0
  101. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/sse_output_format.py +0 -0
  102. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/tts_request_embedding_specifier.py +0 -0
  103. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/tts_request_id_specifier.py +0 -0
  104. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/tts_request_voice_specifier.py +0 -0
  105. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/ttssse_request.py +0 -0
  106. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/wav_output_format.py +0 -0
  107. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_base_response.py +0 -0
  108. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_chunk_response.py +0 -0
  109. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_done_response.py +0 -0
  110. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_error_response.py +0 -0
  111. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_flush_done_response.py +0 -0
  112. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_phoneme_timestamps_response.py +0 -0
  113. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_raw_output_format.py +0 -0
  114. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_request.py +0 -0
  115. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_response.py +0 -0
  116. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_stream_options.py +0 -0
  117. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_timestamps_response.py +0 -0
  118. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_tts_output.py +0 -0
  119. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/web_socket_tts_request.py +0 -0
  120. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/requests/word_timestamps.py +0 -0
  121. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/socket_client.py +0 -0
  122. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/cancel_context_request.py +0 -0
  123. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/context_id.py +0 -0
  124. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/controls.py +0 -0
  125. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/emotion.py +0 -0
  126. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/flush_id.py +0 -0
  127. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/generation_request.py +0 -0
  128. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/model_speed.py +0 -0
  129. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/mp_3_output_format.py +0 -0
  130. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/natural_specifier.py +0 -0
  131. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/numerical_specifier.py +0 -0
  132. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/output_format.py +0 -0
  133. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/phoneme_timestamps.py +0 -0
  134. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/raw_encoding.py +0 -0
  135. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/raw_output_format.py +0 -0
  136. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/speed.py +0 -0
  137. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/sse_output_format.py +0 -0
  138. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/supported_language.py +0 -0
  139. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/tts_request_embedding_specifier.py +0 -0
  140. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/tts_request_id_specifier.py +0 -0
  141. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/tts_request_voice_specifier.py +0 -0
  142. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/ttssse_request.py +0 -0
  143. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/wav_output_format.py +0 -0
  144. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_base_response.py +0 -0
  145. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_chunk_response.py +0 -0
  146. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_done_response.py +0 -0
  147. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_error_response.py +0 -0
  148. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_flush_done_response.py +0 -0
  149. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_phoneme_timestamps_response.py +0 -0
  150. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_raw_output_format.py +0 -0
  151. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_request.py +0 -0
  152. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_response.py +0 -0
  153. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_stream_options.py +0 -0
  154. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_timestamps_response.py +0 -0
  155. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_tts_output.py +0 -0
  156. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/web_socket_tts_request.py +0 -0
  157. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/types/word_timestamps.py +0 -0
  158. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/utils/constants.py +0 -0
  159. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/utils/tts.py +0 -0
  160. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/tts/utils/types.py +0 -0
  161. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/version.py +0 -0
  162. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voice_changer/__init__.py +0 -0
  163. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voice_changer/client.py +0 -0
  164. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voice_changer/requests/__init__.py +0 -0
  165. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voice_changer/requests/streaming_response.py +0 -0
  166. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voice_changer/types/__init__.py +0 -0
  167. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voice_changer/types/output_format_container.py +0 -0
  168. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voice_changer/types/streaming_response.py +0 -0
  169. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/__init__.py +0 -0
  170. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/client.py +0 -0
  171. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/__init__.py +0 -0
  172. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/create_voice_request.py +0 -0
  173. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/embedding_response.py +0 -0
  174. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/embedding_specifier.py +0 -0
  175. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/get_voices_response.py +0 -0
  176. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/id_specifier.py +0 -0
  177. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/localize_dialect.py +0 -0
  178. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/localize_voice_request.py +0 -0
  179. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/mix_voice_specifier.py +0 -0
  180. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/mix_voices_request.py +0 -0
  181. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/update_voice_request.py +0 -0
  182. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/voice.py +0 -0
  183. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/requests/voice_metadata.py +0 -0
  184. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/__init__.py +0 -0
  185. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/base_voice_id.py +0 -0
  186. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/clone_mode.py +0 -0
  187. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/create_voice_request.py +0 -0
  188. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/embedding_response.py +0 -0
  189. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/embedding_specifier.py +0 -0
  190. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/gender.py +0 -0
  191. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/gender_presentation.py +0 -0
  192. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/get_voices_response.py +0 -0
  193. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/id_specifier.py +0 -0
  194. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/localize_dialect.py +0 -0
  195. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/localize_english_dialect.py +0 -0
  196. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/localize_french_dialect.py +0 -0
  197. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/localize_portuguese_dialect.py +0 -0
  198. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/localize_spanish_dialect.py +0 -0
  199. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/localize_target_language.py +0 -0
  200. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/localize_voice_request.py +0 -0
  201. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/mix_voice_specifier.py +0 -0
  202. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/mix_voices_request.py +0 -0
  203. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/update_voice_request.py +0 -0
  204. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/voice.py +0 -0
  205. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/voice_expand_options.py +0 -0
  206. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/voice_id.py +0 -0
  207. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/voice_metadata.py +0 -0
  208. {cartesia-2.0.7 → cartesia-2.0.9}/src/cartesia/voices/types/weight.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.1
2
2
  Name: cartesia
3
- Version: 2.0.7
3
+ Version: 2.0.9
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -16,7 +16,6 @@ Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Programming Language :: Python :: 3.13
20
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
20
  Classifier: Typing :: Typed
22
21
  Requires-Dist: aiohttp (>=3.10.10)
@@ -29,7 +28,6 @@ Requires-Dist: pydantic-core (>=2.18.2,<3.0.0)
29
28
  Requires-Dist: pydub (>=0.25.1)
30
29
  Requires-Dist: typing_extensions (>=4.0.0)
31
30
  Requires-Dist: websockets (>=10.4)
32
- Project-URL: Repository, https://github.com/cartesia-ai/cartesia-python
33
31
  Description-Content-Type: text/markdown
34
32
 
35
33
  # Cartesia Python Library
@@ -3,7 +3,7 @@ name = "cartesia"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "cartesia"
6
- version = "2.0.7"
6
+ version = "2.0.9"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -52,11 +52,7 @@ from .tts import (
52
52
  Controls,
53
53
  ControlsParams,
54
54
  Emotion,
55
- ExperimentalModelControls,
56
- ExperimentalModelControlsParams,
57
55
  FlushId,
58
- GenerationConfig,
59
- GenerationConfigParams,
60
56
  GenerationRequest,
61
57
  GenerationRequestParams,
62
58
  ModelSpeed,
@@ -217,16 +213,12 @@ __all__ = [
217
213
  "Emotion",
218
214
  "ErrorMessage",
219
215
  "ErrorMessageParams",
220
- "ExperimentalModelControls",
221
- "ExperimentalModelControlsParams",
222
216
  "FilePurpose",
223
217
  "FlushDoneMessage",
224
218
  "FlushDoneMessageParams",
225
219
  "FlushId",
226
220
  "Gender",
227
221
  "GenderPresentation",
228
- "GenerationConfig",
229
- "GenerationConfigParams",
230
222
  "GenerationRequest",
231
223
  "GenerationRequestParams",
232
224
  "GetVoicesResponse",
@@ -16,7 +16,7 @@ class BaseClientWrapper:
16
16
  headers: typing.Dict[str, str] = {
17
17
  "X-Fern-Language": "Python",
18
18
  "X-Fern-SDK-Name": "cartesia",
19
- "X-Fern-SDK-Version": "2.0.7",
19
+ "X-Fern-SDK-Version": "2.0.9",
20
20
  }
21
21
  headers["X-API-Key"] = self.api_key
22
22
  headers["Cartesia-Version"] = "2024-11-13"
@@ -5,9 +5,7 @@ from .types import (
5
5
  ContextId,
6
6
  Controls,
7
7
  Emotion,
8
- ExperimentalModelControls,
9
8
  FlushId,
10
- GenerationConfig,
11
9
  GenerationRequest,
12
10
  ModelSpeed,
13
11
  Mp3OutputFormat,
@@ -53,8 +51,6 @@ from .types import (
53
51
  from .requests import (
54
52
  CancelContextRequestParams,
55
53
  ControlsParams,
56
- ExperimentalModelControlsParams,
57
- GenerationConfigParams,
58
54
  GenerationRequestParams,
59
55
  Mp3OutputFormatParams,
60
56
  OutputFormatParams,
@@ -100,11 +96,7 @@ __all__ = [
100
96
  "Controls",
101
97
  "ControlsParams",
102
98
  "Emotion",
103
- "ExperimentalModelControls",
104
- "ExperimentalModelControlsParams",
105
99
  "FlushId",
106
- "GenerationConfig",
107
- "GenerationConfigParams",
108
100
  "GenerationRequest",
109
101
  "GenerationRequestParams",
110
102
  "ModelSpeed",
@@ -50,7 +50,6 @@ class _AsyncTTSContext:
50
50
  self._context_id = context_id
51
51
  self._websocket = websocket
52
52
  self.timeout = timeout
53
- self._error = None
54
53
 
55
54
  @property
56
55
  def context_id(self) -> str:
@@ -292,6 +291,7 @@ class AsyncTtsWebsocket(TtsWebsocket):
292
291
  self.websocket = None
293
292
  self._context_queues: Dict[str, List[asyncio.Queue]] = {}
294
293
  self._processing_task: Optional[asyncio.Task] = None
294
+ self._closing = False
295
295
 
296
296
  def __del__(self):
297
297
  try:
@@ -338,27 +338,28 @@ class AsyncTtsWebsocket(TtsWebsocket):
338
338
 
339
339
  async def close(self):
340
340
  """This method closes the websocket connection. *Highly* recommended to call this method when done."""
341
- if self.websocket is not None and not self._is_websocket_closed():
342
- await self.websocket.close()
343
- if self._processing_task:
344
- self._processing_task.cancel()
345
- try:
346
- self._processing_task = None
347
- except asyncio.CancelledError:
348
- pass
349
- except TypeError as e:
350
- # Ignore the error if the task is already canceled.
351
- # For some reason we are getting None responses
352
- # TODO: This needs to be fixed - we need to think about why we are getting None responses.
353
- if "Received message 256:None" not in str(e):
354
- raise e
355
-
356
- for context_id in list(self._context_queues.keys()):
357
- self._remove_context(context_id)
358
-
359
- self._context_queues.clear()
360
- self._processing_task = None
361
- self.websocket = None
341
+ self._closing = True
342
+ try:
343
+ if self._processing_task:
344
+ self._processing_task.cancel()
345
+ try:
346
+ await self._processing_task
347
+ except asyncio.CancelledError:
348
+ pass
349
+ finally:
350
+ self._processing_task = None
351
+
352
+ if self.websocket is not None and not self._is_websocket_closed():
353
+ await self.websocket.close()
354
+
355
+ for context_id in list(self._context_queues.keys()):
356
+ self._remove_context(context_id)
357
+
358
+ self._context_queues.clear()
359
+ self._processing_task = None
360
+ self.websocket = None
361
+ finally:
362
+ self._closing = False
362
363
 
363
364
  async def send(
364
365
  self,
@@ -444,6 +445,16 @@ class AsyncTtsWebsocket(TtsWebsocket):
444
445
  ),
445
446
  )
446
447
 
448
+ def _is_close_error(self, e: TypeError) -> bool:
449
+ # TODO: This method checks the error string, but should check the code directly if/when aiohttp
450
+ # adds the code as a field to the error
451
+ exception_str = str(e)
452
+ return (
453
+ f"{aiohttp.WSMsgType.CLOSING}:None" in exception_str
454
+ or f"{aiohttp.WSMsgType.CLOSED}:None" in exception_str
455
+ or f"{aiohttp.WSMsgType.CLOSE}:1000" in exception_str
456
+ )
457
+
447
458
  async def _process_responses(self):
448
459
  try:
449
460
  while True:
@@ -453,8 +464,13 @@ class AsyncTtsWebsocket(TtsWebsocket):
453
464
  flush_id = response.get("flush_id", -1)
454
465
  if context_id in self._context_queues:
455
466
  await self._context_queues[context_id][flush_id].put(response)
456
- except Exception as e:
457
- self._error = e
467
+ except TypeError as e:
468
+ # If the WebSocket is closing and the error is a close error, ignore it.
469
+ if self._closing and self._is_close_error(e):
470
+ return
471
+ # Otherwise, if this is a close error, raise a more clear error.
472
+ if self._is_close_error(e):
473
+ raise RuntimeError(f"WebSocket closed unexpectedly: {e}")
458
474
  raise e
459
475
 
460
476
  async def _get_message(
@@ -46,7 +46,6 @@ class _TTSContext:
46
46
  def __init__(self, context_id: str, websocket: "TtsWebsocket"):
47
47
  self._context_id = context_id
48
48
  self._websocket = websocket
49
- self._error = None
50
49
 
51
50
  def __del__(self):
52
51
  self._close()
@@ -6,7 +6,6 @@ from .requests.tts_request_voice_specifier import TtsRequestVoiceSpecifierParams
6
6
  from .requests.output_format import OutputFormatParams
7
7
  from .types.supported_language import SupportedLanguage
8
8
  from .types.model_speed import ModelSpeed
9
- from .requests.generation_config import GenerationConfigParams
10
9
  from ..core.request_options import RequestOptions
11
10
  from ..core.serialization import convert_and_respect_annotation_metadata
12
11
  from json.decoder import JSONDecodeError
@@ -37,7 +36,6 @@ class TtsClient:
37
36
  language: typing.Optional[SupportedLanguage] = OMIT,
38
37
  duration: typing.Optional[float] = OMIT,
39
38
  speed: typing.Optional[ModelSpeed] = OMIT,
40
- generation_config: typing.Optional[GenerationConfigParams] = OMIT,
41
39
  request_options: typing.Optional[RequestOptions] = None,
42
40
  ) -> typing.Iterator[bytes]:
43
41
  """
@@ -60,8 +58,6 @@ class TtsClient:
60
58
 
61
59
  speed : typing.Optional[ModelSpeed]
62
60
 
63
- generation_config : typing.Optional[GenerationConfigParams]
64
-
65
61
  request_options : typing.Optional[RequestOptions]
66
62
  Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
67
63
 
@@ -103,9 +99,6 @@ class TtsClient:
103
99
  ),
104
100
  "duration": duration,
105
101
  "speed": speed,
106
- "generation_config": convert_and_respect_annotation_metadata(
107
- object_=generation_config, annotation=GenerationConfigParams, direction="write"
108
- ),
109
102
  },
110
103
  request_options=request_options,
111
104
  omit=OMIT,
@@ -257,7 +250,6 @@ class AsyncTtsClient:
257
250
  language: typing.Optional[SupportedLanguage] = OMIT,
258
251
  duration: typing.Optional[float] = OMIT,
259
252
  speed: typing.Optional[ModelSpeed] = OMIT,
260
- generation_config: typing.Optional[GenerationConfigParams] = OMIT,
261
253
  request_options: typing.Optional[RequestOptions] = None,
262
254
  ) -> typing.AsyncIterator[bytes]:
263
255
  """
@@ -280,8 +272,6 @@ class AsyncTtsClient:
280
272
 
281
273
  speed : typing.Optional[ModelSpeed]
282
274
 
283
- generation_config : typing.Optional[GenerationConfigParams]
284
-
285
275
  request_options : typing.Optional[RequestOptions]
286
276
  Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
287
277
 
@@ -331,9 +321,6 @@ class AsyncTtsClient:
331
321
  ),
332
322
  "duration": duration,
333
323
  "speed": speed,
334
- "generation_config": convert_and_respect_annotation_metadata(
335
- object_=generation_config, annotation=GenerationConfigParams, direction="write"
336
- ),
337
324
  },
338
325
  request_options=request_options,
339
326
  omit=OMIT,
@@ -2,8 +2,6 @@
2
2
 
3
3
  from .cancel_context_request import CancelContextRequestParams
4
4
  from .controls import ControlsParams
5
- from .experimental_model_controls import ExperimentalModelControlsParams
6
- from .generation_config import GenerationConfigParams
7
5
  from .generation_request import GenerationRequestParams
8
6
  from .mp_3_output_format import Mp3OutputFormatParams
9
7
  from .output_format import OutputFormatParams, OutputFormat_Mp3Params, OutputFormat_RawParams, OutputFormat_WavParams
@@ -43,8 +41,6 @@ from .word_timestamps import WordTimestampsParams
43
41
  __all__ = [
44
42
  "CancelContextRequestParams",
45
43
  "ControlsParams",
46
- "ExperimentalModelControlsParams",
47
- "GenerationConfigParams",
48
44
  "GenerationRequestParams",
49
45
  "Mp3OutputFormatParams",
50
46
  "OutputFormatParams",
@@ -6,7 +6,6 @@ import typing_extensions
6
6
  from ..types.supported_language import SupportedLanguage
7
7
  from .output_format import OutputFormatParams
8
8
  from ..types.model_speed import ModelSpeed
9
- from .generation_config import GenerationConfigParams
10
9
 
11
10
 
12
11
  class TtsRequestParams(typing_extensions.TypedDict):
@@ -26,4 +25,3 @@ class TtsRequestParams(typing_extensions.TypedDict):
26
25
  """
27
26
 
28
27
  speed: typing_extensions.NotRequired[ModelSpeed]
29
- generation_config: typing_extensions.NotRequired[GenerationConfigParams]
@@ -4,9 +4,7 @@ from .cancel_context_request import CancelContextRequest
4
4
  from .context_id import ContextId
5
5
  from .controls import Controls
6
6
  from .emotion import Emotion
7
- from .experimental_model_controls import ExperimentalModelControls
8
7
  from .flush_id import FlushId
9
- from .generation_config import GenerationConfig
10
8
  from .generation_request import GenerationRequest
11
9
  from .model_speed import ModelSpeed
12
10
  from .mp_3_output_format import Mp3OutputFormat
@@ -53,9 +51,7 @@ __all__ = [
53
51
  "ContextId",
54
52
  "Controls",
55
53
  "Emotion",
56
- "ExperimentalModelControls",
57
54
  "FlushId",
58
- "GenerationConfig",
59
55
  "GenerationRequest",
60
56
  "ModelSpeed",
61
57
  "Mp3OutputFormat",
@@ -7,7 +7,6 @@ import typing
7
7
  from .supported_language import SupportedLanguage
8
8
  from .output_format import OutputFormat
9
9
  from .model_speed import ModelSpeed
10
- from .generation_config import GenerationConfig
11
10
  from ...core.pydantic_utilities import IS_PYDANTIC_V2
12
11
 
13
12
 
@@ -28,7 +27,6 @@ class TtsRequest(UniversalBaseModel):
28
27
  """
29
28
 
30
29
  speed: typing.Optional[ModelSpeed] = None
31
- generation_config: typing.Optional[GenerationConfig] = None
32
30
 
33
31
  if IS_PYDANTIC_V2:
34
32
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -1,17 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing_extensions
4
- import typing_extensions
5
-
6
-
7
- class ExperimentalModelControlsParams(typing_extensions.TypedDict):
8
- """
9
- These controls are **experimental** and subject to breaking changes.
10
- """
11
-
12
- accent_localization: typing_extensions.NotRequired[int]
13
- """
14
- Toggle accent localization: 0 (disabled, default) or 1 (enabled).
15
- When enabled, the voice adapts to match the transcript language's accent while preserving vocal characteristics. When disabled, maintains the original voice accent.
16
- For more information, see [Localize Voices](/build-with-sonic/capabilities/localize-voices).
17
- """
@@ -1,23 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing_extensions
4
- import typing_extensions
5
- from .experimental_model_controls import ExperimentalModelControlsParams
6
-
7
-
8
- class GenerationConfigParams(typing_extensions.TypedDict):
9
- """
10
- Configure the various attributes of the generated speech. These controls are only available for `sonic-3-preview` and will have no effect on earlier models.
11
- """
12
-
13
- volume: typing_extensions.NotRequired[float]
14
- """
15
- Adjust the volume of the generated speech between -1.0 (softer) and 1.0 (louder). 0.0 is the default volume.
16
- """
17
-
18
- speed: typing_extensions.NotRequired[float]
19
- """
20
- Adjust the speed of the generated speech between -1.0 (slower) and 1.0 (faster). 0.0 is the default speed.
21
- """
22
-
23
- experimental: typing_extensions.NotRequired[ExperimentalModelControlsParams]
@@ -1,28 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from ...core.pydantic_utilities import UniversalBaseModel
4
- import typing
5
- import pydantic
6
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
-
8
-
9
- class ExperimentalModelControls(UniversalBaseModel):
10
- """
11
- These controls are **experimental** and subject to breaking changes.
12
- """
13
-
14
- accent_localization: typing.Optional[int] = pydantic.Field(default=None)
15
- """
16
- Toggle accent localization: 0 (disabled, default) or 1 (enabled).
17
- When enabled, the voice adapts to match the transcript language's accent while preserving vocal characteristics. When disabled, maintains the original voice accent.
18
- For more information, see [Localize Voices](/build-with-sonic/capabilities/localize-voices).
19
- """
20
-
21
- if IS_PYDANTIC_V2:
22
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
- else:
24
-
25
- class Config:
26
- frozen = True
27
- smart_union = True
28
- extra = pydantic.Extra.allow
@@ -1,34 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from ...core.pydantic_utilities import UniversalBaseModel
4
- import typing
5
- import pydantic
6
- from .experimental_model_controls import ExperimentalModelControls
7
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
-
9
-
10
- class GenerationConfig(UniversalBaseModel):
11
- """
12
- Configure the various attributes of the generated speech. These controls are only available for `sonic-3-preview` and will have no effect on earlier models.
13
- """
14
-
15
- volume: typing.Optional[float] = pydantic.Field(default=None)
16
- """
17
- Adjust the volume of the generated speech between -1.0 (softer) and 1.0 (louder). 0.0 is the default volume.
18
- """
19
-
20
- speed: typing.Optional[float] = pydantic.Field(default=None)
21
- """
22
- Adjust the speed of the generated speech between -1.0 (slower) and 1.0 (faster). 0.0 is the default speed.
23
- """
24
-
25
- experimental: typing.Optional[ExperimentalModelControls] = None
26
-
27
- if IS_PYDANTIC_V2:
28
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
29
- else:
30
-
31
- class Config:
32
- frozen = True
33
- smart_union = True
34
- extra = pydantic.Extra.allow
File without changes
File without changes
File without changes