sarvamai 0.1.19a0__tar.gz → 0.1.19a1__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 (220) hide show
  1. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/PKG-INFO +1 -1
  2. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/pyproject.toml +1 -1
  3. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/client_wrapper.py +2 -2
  4. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/socket_client.py +68 -13
  5. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/README.md +0 -0
  6. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/__init__.py +0 -0
  7. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/chat/__init__.py +0 -0
  8. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/chat/client.py +0 -0
  9. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/chat/raw_client.py +0 -0
  10. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/client.py +0 -0
  11. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/__init__.py +0 -0
  12. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/api_error.py +0 -0
  13. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/datetime_utils.py +0 -0
  14. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/events.py +0 -0
  15. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/file.py +0 -0
  16. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/force_multipart.py +0 -0
  17. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/http_client.py +0 -0
  18. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/http_response.py +0 -0
  19. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/jsonable_encoder.py +0 -0
  20. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/pydantic_utilities.py +0 -0
  21. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/query_encoder.py +0 -0
  22. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/remove_none_from_dict.py +0 -0
  23. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/request_options.py +0 -0
  24. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/core/serialization.py +0 -0
  25. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/environment.py +0 -0
  26. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/errors/__init__.py +0 -0
  27. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/errors/bad_request_error.py +0 -0
  28. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/errors/forbidden_error.py +0 -0
  29. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/errors/internal_server_error.py +0 -0
  30. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/errors/service_unavailable_error.py +0 -0
  31. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/errors/too_many_requests_error.py +0 -0
  32. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/errors/unprocessable_entity_error.py +0 -0
  33. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/play.py +0 -0
  34. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/py.typed +0 -0
  35. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/__init__.py +0 -0
  36. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/audio_data.py +0 -0
  37. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/audio_message.py +0 -0
  38. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/audio_output.py +0 -0
  39. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/audio_output_data.py +0 -0
  40. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/base_job_parameters.py +0 -0
  41. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/bulk_job_callback.py +0 -0
  42. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/bulk_job_init_response_v_1.py +0 -0
  43. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/chat_completion_request_assistant_message.py +0 -0
  44. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/chat_completion_request_message.py +0 -0
  45. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/chat_completion_request_system_message.py +0 -0
  46. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/chat_completion_request_user_message.py +0 -0
  47. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/chat_completion_response_message.py +0 -0
  48. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/choice.py +0 -0
  49. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/completion_usage.py +0 -0
  50. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/config_message.py +0 -0
  51. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/configure_connection.py +0 -0
  52. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/configure_connection_data.py +0 -0
  53. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/create_chat_completion_response.py +0 -0
  54. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/diarized_entry.py +0 -0
  55. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/diarized_transcript.py +0 -0
  56. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/error_data.py +0 -0
  57. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/error_details.py +0 -0
  58. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/error_message.py +0 -0
  59. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/error_response.py +0 -0
  60. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/error_response_data.py +0 -0
  61. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/events_data.py +0 -0
  62. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/file_signed_url_details.py +0 -0
  63. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/files_download_response.py +0 -0
  64. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/files_request.py +0 -0
  65. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/files_upload_response.py +0 -0
  66. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/flush_signal.py +0 -0
  67. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/job_status_v_1_response.py +0 -0
  68. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/language_identification_response.py +0 -0
  69. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/ping_signal.py +0 -0
  70. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/send_text.py +0 -0
  71. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/send_text_data.py +0 -0
  72. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_job_parameters.py +0 -0
  73. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_response.py +0 -0
  74. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_response_data.py +0 -0
  75. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_streaming_response.py +0 -0
  76. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_transcription_data.py +0 -0
  77. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_translate_job_parameters.py +0 -0
  78. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_translate_response.py +0 -0
  79. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_translate_response_data.py +0 -0
  80. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_translate_streaming_response.py +0 -0
  81. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/speech_to_text_translate_transcription_data.py +0 -0
  82. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/stop_configuration.py +0 -0
  83. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/stt_flush_signal.py +0 -0
  84. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/task_detail_v_1.py +0 -0
  85. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/task_file_details.py +0 -0
  86. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/text_to_speech_response.py +0 -0
  87. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/timestamps_model.py +0 -0
  88. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/transcription_metrics.py +0 -0
  89. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/translation_response.py +0 -0
  90. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/requests/transliteration_response.py +0 -0
  91. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text/__init__.py +0 -0
  92. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text/client.py +0 -0
  93. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text/raw_client.py +0 -0
  94. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_job/__init__.py +0 -0
  95. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_job/client.py +0 -0
  96. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_job/job.py +0 -0
  97. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_job/raw_client.py +0 -0
  98. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/__init__.py +0 -0
  99. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/client.py +0 -0
  100. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/raw_client.py +0 -0
  101. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/types/__init__.py +0 -0
  102. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_flush_signal.py +0 -0
  103. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_high_vad_sensitivity.py +0 -0
  104. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_language_code.py +0 -0
  105. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_model.py +0 -0
  106. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_vad_signals.py +0 -0
  107. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_job/__init__.py +0 -0
  108. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_job/client.py +0 -0
  109. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_job/job.py +0 -0
  110. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_job/raw_client.py +0 -0
  111. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/__init__.py +0 -0
  112. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/client.py +0 -0
  113. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/raw_client.py +0 -0
  114. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/socket_client.py +0 -0
  115. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/types/__init__.py +0 -0
  116. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_flush_signal.py +0 -0
  117. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_high_vad_sensitivity.py +0 -0
  118. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_model.py +0 -0
  119. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_vad_signals.py +0 -0
  120. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text/__init__.py +0 -0
  121. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text/client.py +0 -0
  122. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text/raw_client.py +0 -0
  123. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text_to_speech/__init__.py +0 -0
  124. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text_to_speech/client.py +0 -0
  125. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text_to_speech/raw_client.py +0 -0
  126. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text_to_speech_streaming/__init__.py +0 -0
  127. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text_to_speech_streaming/client.py +0 -0
  128. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text_to_speech_streaming/raw_client.py +0 -0
  129. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/text_to_speech_streaming/socket_client.py +0 -0
  130. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/__init__.py +0 -0
  131. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/audio_data.py +0 -0
  132. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/audio_message.py +0 -0
  133. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/audio_output.py +0 -0
  134. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/audio_output_data.py +0 -0
  135. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/base_job_parameters.py +0 -0
  136. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/bulk_job_callback.py +0 -0
  137. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/bulk_job_init_response_v_1.py +0 -0
  138. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/chat_completion_request_assistant_message.py +0 -0
  139. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/chat_completion_request_message.py +0 -0
  140. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/chat_completion_request_system_message.py +0 -0
  141. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/chat_completion_request_user_message.py +0 -0
  142. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/chat_completion_response_message.py +0 -0
  143. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/choice.py +0 -0
  144. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/completion_usage.py +0 -0
  145. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/config_message.py +0 -0
  146. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/configure_connection.py +0 -0
  147. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/configure_connection_data.py +0 -0
  148. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/configure_connection_data_output_audio_bitrate.py +0 -0
  149. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/configure_connection_data_output_audio_codec.py +0 -0
  150. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/configure_connection_data_speaker.py +0 -0
  151. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/configure_connection_data_target_language_code.py +0 -0
  152. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/create_chat_completion_response.py +0 -0
  153. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/diarized_entry.py +0 -0
  154. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/diarized_transcript.py +0 -0
  155. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/error_code.py +0 -0
  156. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/error_data.py +0 -0
  157. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/error_details.py +0 -0
  158. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/error_message.py +0 -0
  159. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/error_response.py +0 -0
  160. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/error_response_data.py +0 -0
  161. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/events_data.py +0 -0
  162. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/events_data_signal_type.py +0 -0
  163. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/file_signed_url_details.py +0 -0
  164. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/files_download_response.py +0 -0
  165. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/files_request.py +0 -0
  166. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/files_upload_response.py +0 -0
  167. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/finish_reason.py +0 -0
  168. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/flush_signal.py +0 -0
  169. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/input_audio_codec.py +0 -0
  170. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/job_state.py +0 -0
  171. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/job_status_v_1_response.py +0 -0
  172. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/language_identification_response.py +0 -0
  173. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/numerals_format.py +0 -0
  174. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/ping_signal.py +0 -0
  175. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/reasoning_effort.py +0 -0
  176. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/response_type.py +0 -0
  177. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/role.py +0 -0
  178. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/sarvam_model_ids.py +0 -0
  179. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/send_text.py +0 -0
  180. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/send_text_data.py +0 -0
  181. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_sample_rate.py +0 -0
  182. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_job_parameters.py +0 -0
  183. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_language.py +0 -0
  184. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_model.py +0 -0
  185. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_response.py +0 -0
  186. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_response_data.py +0 -0
  187. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_streaming_response.py +0 -0
  188. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_transcription_data.py +0 -0
  189. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_translate_job_parameters.py +0 -0
  190. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_translate_language.py +0 -0
  191. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_translate_model.py +0 -0
  192. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_translate_response.py +0 -0
  193. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_translate_response_data.py +0 -0
  194. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_translate_streaming_response.py +0 -0
  195. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/speech_to_text_translate_transcription_data.py +0 -0
  196. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/spoken_form_numerals_format.py +0 -0
  197. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/stop_configuration.py +0 -0
  198. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/storage_container_type.py +0 -0
  199. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/stt_flush_signal.py +0 -0
  200. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/task_detail_v_1.py +0 -0
  201. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/task_file_details.py +0 -0
  202. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/task_state.py +0 -0
  203. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/text_to_speech_language.py +0 -0
  204. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/text_to_speech_model.py +0 -0
  205. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/text_to_speech_output_audio_codec.py +0 -0
  206. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/text_to_speech_response.py +0 -0
  207. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/text_to_speech_speaker.py +0 -0
  208. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/timestamps_model.py +0 -0
  209. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/transcription_metrics.py +0 -0
  210. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/translate_mode.py +0 -0
  211. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/translate_model.py +0 -0
  212. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/translate_source_language.py +0 -0
  213. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/translate_speaker_gender.py +0 -0
  214. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/translate_target_language.py +0 -0
  215. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/translation_response.py +0 -0
  216. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/translatiterate_target_language.py +0 -0
  217. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/transliterate_mode.py +0 -0
  218. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/transliterate_source_language.py +0 -0
  219. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/types/transliteration_response.py +0 -0
  220. {sarvamai-0.1.19a0 → sarvamai-0.1.19a1}/src/sarvamai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarvamai
3
- Version: 0.1.19a0
3
+ Version: 0.1.19a1
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -3,7 +3,7 @@ name = "sarvamai"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "sarvamai"
6
- version = "0.1.19a0"
6
+ version = "0.1.19a1"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -23,10 +23,10 @@ class BaseClientWrapper:
23
23
 
24
24
  def get_headers(self) -> typing.Dict[str, str]:
25
25
  headers: typing.Dict[str, str] = {
26
- "User-Agent": "sarvamai/0.1.19a0",
26
+ "User-Agent": "sarvamai/0.1.19a1",
27
27
  "X-Fern-Language": "Python",
28
28
  "X-Fern-SDK-Name": "sarvamai",
29
- "X-Fern-SDK-Version": "0.1.19a0",
29
+ "X-Fern-SDK-Version": "0.1.19a1",
30
30
  **(self.get_custom_headers() or {}),
31
31
  }
32
32
  headers["api-subscription-key"] = self.api_subscription_key
@@ -9,7 +9,10 @@ from ..core.events import EventEmitterMixin, EventType
9
9
  from ..core.pydantic_utilities import parse_obj_as
10
10
  from ..types.audio_data import AudioData
11
11
  from ..types.audio_message import AudioMessage
12
- from ..types.speech_to_text_streaming_response import SpeechToTextStreamingResponse
12
+ from ..types.speech_to_text_streaming_response import (
13
+ SpeechToTextStreamingResponse,
14
+ )
15
+ from ..types.stt_flush_signal import SttFlushSignal
13
16
 
14
17
  SpeechToTextStreamingSocketClientResponse = typing.Union[SpeechToTextStreamingResponse]
15
18
 
@@ -22,7 +25,9 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
22
25
  async def __aiter__(self):
23
26
  async for message in self._websocket:
24
27
  message = json.loads(message) if isinstance(message, str) else message
25
- yield parse_obj_as(SpeechToTextStreamingSocketClientResponse, message) # type: ignore
28
+ yield parse_obj_as(
29
+ SpeechToTextStreamingSocketClientResponse, message
30
+ ) # type: ignore
26
31
 
27
32
  async def start_listening(self):
28
33
  """
@@ -37,8 +42,14 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
37
42
  self._emit(EventType.OPEN, None)
38
43
  try:
39
44
  async for raw_message in self._websocket:
40
- raw_message = json.loads(raw_message) if isinstance(raw_message, str) else raw_message
41
- parsed = parse_obj_as(SpeechToTextStreamingSocketClientResponse, raw_message) # type: ignore
45
+ raw_message = (
46
+ json.loads(raw_message)
47
+ if isinstance(raw_message, str)
48
+ else raw_message
49
+ )
50
+ parsed = parse_obj_as(
51
+ SpeechToTextStreamingSocketClientResponse, raw_message
52
+ ) # type: ignore
42
53
  self._emit(EventType.MESSAGE, parsed)
43
54
  except websockets.WebSocketException as exc:
44
55
  self._emit(EventType.ERROR, exc)
@@ -54,10 +65,26 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
54
65
  """
55
66
 
56
67
  return await self._send_speech_to_text_streaming_audio_message(
57
- message=AudioMessage(audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding))
68
+ message=AudioMessage(
69
+ audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding)
70
+ )
58
71
  )
59
72
 
60
- async def _send_speech_to_text_streaming_audio_message(self, message: AudioMessage) -> None:
73
+ async def flush(self, reason: typing.Optional[str] = None) -> None:
74
+ """
75
+ Signal to flush the audio buffer and force finalize partial transcriptions.
76
+ Use this to force processing of any remaining audio that hasn't been
77
+ transcribed yet.
78
+
79
+ :param reason: Optional reason for flushing (e.g., "end_of_segment",
80
+ "manual_flush")
81
+ """
82
+ message = SttFlushSignal(reason=reason)
83
+ await self._send_model(message)
84
+
85
+ async def _send_speech_to_text_streaming_audio_message(
86
+ self, message: AudioMessage
87
+ ) -> None:
61
88
  """
62
89
  Send a message to the websocket connection.
63
90
  The message will be sent as a AudioMessage.
@@ -70,7 +97,9 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
70
97
  """
71
98
  data = await self._websocket.recv()
72
99
  data = json.loads(data) if isinstance(data, str) else data
73
- return parse_obj_as(SpeechToTextStreamingSocketClientResponse, data) # type: ignore
100
+ return parse_obj_as(
101
+ SpeechToTextStreamingSocketClientResponse, data
102
+ ) # type: ignore
74
103
 
75
104
  async def _send(self, data: typing.Any) -> None:
76
105
  """
@@ -95,7 +124,9 @@ class SpeechToTextStreamingSocketClient(EventEmitterMixin):
95
124
  def __iter__(self):
96
125
  for message in self._websocket:
97
126
  message = json.loads(message) if isinstance(message, str) else message
98
- yield parse_obj_as(SpeechToTextStreamingSocketClientResponse, message) # type: ignore
127
+ yield parse_obj_as(
128
+ SpeechToTextStreamingSocketClientResponse, message
129
+ ) # type: ignore
99
130
 
100
131
  def start_listening(self):
101
132
  """
@@ -110,8 +141,14 @@ class SpeechToTextStreamingSocketClient(EventEmitterMixin):
110
141
  self._emit(EventType.OPEN, None)
111
142
  try:
112
143
  for raw_message in self._websocket:
113
- raw_message = json.loads(raw_message) if isinstance(raw_message, str) else raw_message
114
- parsed = parse_obj_as(SpeechToTextStreamingSocketClientResponse, raw_message) # type: ignore
144
+ raw_message = (
145
+ json.loads(raw_message)
146
+ if isinstance(raw_message, str)
147
+ else raw_message
148
+ )
149
+ parsed = parse_obj_as(
150
+ SpeechToTextStreamingSocketClientResponse, raw_message
151
+ ) # type: ignore
115
152
  self._emit(EventType.MESSAGE, parsed)
116
153
  except websockets.WebSocketException as exc:
117
154
  self._emit(EventType.ERROR, exc)
@@ -126,18 +163,36 @@ class SpeechToTextStreamingSocketClient(EventEmitterMixin):
126
163
  :param sample_rate (Optional): Audio sample rate in Hz (default is 16000)
127
164
  """
128
165
  return self._send_speech_to_text_streaming_audio_message(
129
- message=AudioMessage(audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding))
166
+ message=AudioMessage(
167
+ audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding)
168
+ )
130
169
  )
131
170
 
171
+ def flush(self, reason: typing.Optional[str] = None) -> None:
172
+ """
173
+ Signal to flush the audio buffer and force finalize partial transcriptions.
174
+ Use this to force processing of any remaining audio that hasn't been
175
+ transcribed yet.
176
+
177
+ :param reason: Optional reason for flushing (e.g., "end_of_segment",
178
+ "manual_flush")
179
+ """
180
+ message = SttFlushSignal(reason=reason)
181
+ self._send_model(message)
182
+
132
183
  def recv(self) -> SpeechToTextStreamingSocketClientResponse:
133
184
  """
134
185
  Receive a message from the websocket connection.
135
186
  """
136
187
  data = self._websocket.recv()
137
188
  data = json.loads(data) if isinstance(data, str) else data
138
- return parse_obj_as(SpeechToTextStreamingSocketClientResponse, data) # type: ignore
189
+ return parse_obj_as(
190
+ SpeechToTextStreamingSocketClientResponse, data
191
+ ) # type: ignore
139
192
 
140
- def _send_speech_to_text_streaming_audio_message(self, message: AudioMessage) -> None:
193
+ def _send_speech_to_text_streaming_audio_message(
194
+ self, message: AudioMessage
195
+ ) -> None:
141
196
  """
142
197
  Send a message to the websocket connection.
143
198
  The message will be sent as a AudioMessage.
File without changes