sarvamai 0.1.8rc6__tar.gz → 0.1.9a2__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 (180) hide show
  1. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/PKG-INFO +3 -3
  2. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/pyproject.toml +3 -3
  3. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/__init__.py +14 -14
  4. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/client.py +10 -0
  5. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/client_wrapper.py +21 -5
  6. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/pydantic_utilities.py +3 -3
  7. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/__init__.py +4 -4
  8. sarvamai-0.1.8rc6/src/sarvamai/requests/initialize_connection.py → sarvamai-0.1.9a2/src/sarvamai/requests/configure_connection.py +3 -3
  9. sarvamai-0.1.8rc6/src/sarvamai/requests/initialize_connection_data.py → sarvamai-0.1.9a2/src/sarvamai/requests/configure_connection_data.py +7 -7
  10. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text/client.py +6 -10
  11. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text/raw_client.py +6 -10
  12. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text/client.py +2 -2
  13. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text/raw_client.py +2 -2
  14. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text_to_speech_streaming/socket_client.py +80 -46
  15. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/__init__.py +10 -10
  16. sarvamai-0.1.8rc6/src/sarvamai/types/initialize_connection.py → sarvamai-0.1.9a2/src/sarvamai/types/configure_connection.py +3 -3
  17. sarvamai-0.1.8rc6/src/sarvamai/types/initialize_connection_data.py → sarvamai-0.1.9a2/src/sarvamai/types/configure_connection_data.py +7 -7
  18. sarvamai-0.1.8rc6/src/sarvamai/types/initialize_connection_data_output_audio_bitrate.py → sarvamai-0.1.9a2/src/sarvamai/types/configure_connection_data_output_audio_bitrate.py +1 -1
  19. sarvamai-0.1.8rc6/src/sarvamai/types/initialize_connection_data_speaker.py → sarvamai-0.1.9a2/src/sarvamai/types/configure_connection_data_speaker.py +1 -1
  20. sarvamai-0.1.8rc6/src/sarvamai/types/initialize_connection_data_target_language_code.py → sarvamai-0.1.9a2/src/sarvamai/types/configure_connection_data_target_language_code.py +1 -1
  21. sarvamai-0.1.9a2/src/sarvamai/types/speech_to_text_model.py +5 -0
  22. sarvamai-0.1.9a2/src/sarvamai/types/speech_to_text_translate_model.py +5 -0
  23. sarvamai-0.1.8rc6/src/sarvamai/types/speech_to_text_model.py +0 -7
  24. sarvamai-0.1.8rc6/src/sarvamai/types/speech_to_text_translate_model.py +0 -7
  25. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/README.md +0 -0
  26. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/chat/__init__.py +0 -0
  27. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/chat/client.py +0 -0
  28. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/chat/raw_client.py +0 -0
  29. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/__init__.py +0 -0
  30. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/api_error.py +0 -0
  31. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/datetime_utils.py +0 -0
  32. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/events.py +0 -0
  33. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/file.py +0 -0
  34. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/force_multipart.py +0 -0
  35. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/http_client.py +0 -0
  36. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/http_response.py +0 -0
  37. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/jsonable_encoder.py +0 -0
  38. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/query_encoder.py +0 -0
  39. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/remove_none_from_dict.py +0 -0
  40. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/request_options.py +0 -0
  41. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/core/serialization.py +0 -0
  42. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/environment.py +0 -0
  43. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/errors/__init__.py +0 -0
  44. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/errors/bad_request_error.py +0 -0
  45. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/errors/forbidden_error.py +0 -0
  46. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/errors/internal_server_error.py +0 -0
  47. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/errors/service_unavailable_error.py +0 -0
  48. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/errors/too_many_requests_error.py +0 -0
  49. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/errors/unprocessable_entity_error.py +0 -0
  50. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/play.py +0 -0
  51. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/py.typed +0 -0
  52. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/audio_data.py +0 -0
  53. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/audio_message.py +0 -0
  54. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/audio_output.py +0 -0
  55. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/audio_output_data.py +0 -0
  56. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/chat_completion_request_assistant_message.py +0 -0
  57. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/chat_completion_request_message.py +0 -0
  58. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/chat_completion_request_system_message.py +0 -0
  59. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/chat_completion_request_user_message.py +0 -0
  60. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/chat_completion_response_message.py +0 -0
  61. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/choice.py +0 -0
  62. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/completion_usage.py +0 -0
  63. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/config_message.py +0 -0
  64. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/create_chat_completion_response.py +0 -0
  65. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/diarized_entry.py +0 -0
  66. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/diarized_transcript.py +0 -0
  67. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/error_data.py +0 -0
  68. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/error_details.py +0 -0
  69. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/error_message.py +0 -0
  70. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/error_response.py +0 -0
  71. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/error_response_data.py +0 -0
  72. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/events_data.py +0 -0
  73. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/flush_signal.py +0 -0
  74. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/language_identification_response.py +0 -0
  75. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/ping_signal.py +0 -0
  76. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/send_text.py +0 -0
  77. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/send_text_data.py +0 -0
  78. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_response.py +0 -0
  79. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_response_data.py +0 -0
  80. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_streaming_response.py +0 -0
  81. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_transcription_data.py +0 -0
  82. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_translate_response.py +0 -0
  83. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_translate_response_data.py +0 -0
  84. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_translate_streaming_response.py +0 -0
  85. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/speech_to_text_translate_transcription_data.py +0 -0
  86. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/stop_configuration.py +0 -0
  87. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/text_to_speech_response.py +0 -0
  88. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/timestamps_model.py +0 -0
  89. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/transcription_metrics.py +0 -0
  90. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/translation_response.py +0 -0
  91. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/requests/transliteration_response.py +0 -0
  92. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text/__init__.py +0 -0
  93. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/__init__.py +0 -0
  94. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/client.py +0 -0
  95. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/raw_client.py +0 -0
  96. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/socket_client.py +0 -0
  97. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/types/__init__.py +0 -0
  98. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_high_vad_sensitivity.py +0 -0
  99. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_language_code.py +0 -0
  100. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_model.py +0 -0
  101. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_vad_signals.py +0 -0
  102. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/__init__.py +0 -0
  103. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/client.py +0 -0
  104. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/raw_client.py +0 -0
  105. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/socket_client.py +0 -0
  106. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/types/__init__.py +0 -0
  107. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_high_vad_sensitivity.py +0 -0
  108. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_model.py +0 -0
  109. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_vad_signals.py +0 -0
  110. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text/__init__.py +0 -0
  111. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text_to_speech/__init__.py +0 -0
  112. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text_to_speech/client.py +0 -0
  113. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text_to_speech/raw_client.py +0 -0
  114. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text_to_speech_streaming/__init__.py +0 -0
  115. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text_to_speech_streaming/client.py +0 -0
  116. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/text_to_speech_streaming/raw_client.py +0 -0
  117. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/audio_data.py +0 -0
  118. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/audio_message.py +0 -0
  119. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/audio_output.py +0 -0
  120. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/audio_output_data.py +0 -0
  121. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/chat_completion_request_assistant_message.py +0 -0
  122. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/chat_completion_request_message.py +0 -0
  123. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/chat_completion_request_system_message.py +0 -0
  124. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/chat_completion_request_user_message.py +0 -0
  125. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/chat_completion_response_message.py +0 -0
  126. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/choice.py +0 -0
  127. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/completion_usage.py +0 -0
  128. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/config_message.py +0 -0
  129. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/create_chat_completion_response.py +0 -0
  130. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/diarized_entry.py +0 -0
  131. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/diarized_transcript.py +0 -0
  132. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/error_code.py +0 -0
  133. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/error_data.py +0 -0
  134. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/error_details.py +0 -0
  135. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/error_message.py +0 -0
  136. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/error_response.py +0 -0
  137. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/error_response_data.py +0 -0
  138. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/events_data.py +0 -0
  139. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/finish_reason.py +0 -0
  140. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/flush_signal.py +0 -0
  141. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/format.py +0 -0
  142. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/language_identification_response.py +0 -0
  143. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/numerals_format.py +0 -0
  144. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/ping_signal.py +0 -0
  145. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/reasoning_effort.py +0 -0
  146. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/response_type.py +0 -0
  147. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/role.py +0 -0
  148. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/sarvam_model_ids.py +0 -0
  149. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/send_text.py +0 -0
  150. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/send_text_data.py +0 -0
  151. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_sample_rate.py +0 -0
  152. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_language.py +0 -0
  153. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_response.py +0 -0
  154. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_response_data.py +0 -0
  155. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_streaming_response.py +0 -0
  156. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_transcription_data.py +0 -0
  157. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_translate_language.py +0 -0
  158. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_translate_response.py +0 -0
  159. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_translate_response_data.py +0 -0
  160. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_translate_streaming_response.py +0 -0
  161. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/speech_to_text_translate_transcription_data.py +0 -0
  162. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/spoken_form_numerals_format.py +0 -0
  163. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/stop_configuration.py +0 -0
  164. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/text_to_speech_language.py +0 -0
  165. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/text_to_speech_model.py +0 -0
  166. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/text_to_speech_response.py +0 -0
  167. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/text_to_speech_speaker.py +0 -0
  168. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/timestamps_model.py +0 -0
  169. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/transcription_metrics.py +0 -0
  170. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/translate_mode.py +0 -0
  171. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/translate_model.py +0 -0
  172. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/translate_source_language.py +0 -0
  173. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/translate_speaker_gender.py +0 -0
  174. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/translate_target_language.py +0 -0
  175. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/translation_response.py +0 -0
  176. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/translatiterate_target_language.py +0 -0
  177. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/transliterate_mode.py +0 -0
  178. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/transliterate_source_language.py +0 -0
  179. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/types/transliteration_response.py +0 -0
  180. {sarvamai-0.1.8rc6 → sarvamai-0.1.9a2}/src/sarvamai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarvamai
3
- Version: 0.1.8rc6
3
+ Version: 0.1.9a2
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -20,9 +20,9 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
20
  Classifier: Typing :: Typed
21
21
  Requires-Dist: httpx (>=0.21.2)
22
22
  Requires-Dist: pydantic (>=1.9.2)
23
- Requires-Dist: pydantic-core (>=2.18.2,<3.0.0)
23
+ Requires-Dist: pydantic-core (>=2.18.2)
24
24
  Requires-Dist: typing_extensions (>=4.0.0)
25
- Requires-Dist: websockets (==12.0)
25
+ Requires-Dist: websockets (>=12.0)
26
26
  Description-Content-Type: text/markdown
27
27
 
28
28
  # Sarvam Python Library
@@ -3,7 +3,7 @@ name = "sarvamai"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "sarvamai"
6
- version = "0.1.8rc6"
6
+ version = "0.1.9a2"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -37,9 +37,9 @@ Repository = 'https://github.com/sarvamai/sarvam-python-sdk'
37
37
  python = "^3.8"
38
38
  httpx = ">=0.21.2"
39
39
  pydantic = ">= 1.9.2"
40
- pydantic-core = "^2.18.2"
40
+ pydantic-core = ">=2.18.2"
41
41
  typing_extensions = ">= 4.0.0"
42
- websockets = "12.0"
42
+ websockets = ">=12.0"
43
43
 
44
44
  [tool.poetry.group.dev.dependencies]
45
45
  mypy = "==1.13.0"
@@ -18,6 +18,11 @@ from .types import (
18
18
  Choice,
19
19
  CompletionUsage,
20
20
  ConfigMessage,
21
+ ConfigureConnection,
22
+ ConfigureConnectionData,
23
+ ConfigureConnectionDataOutputAudioBitrate,
24
+ ConfigureConnectionDataSpeaker,
25
+ ConfigureConnectionDataTargetLanguageCode,
21
26
  CreateChatCompletionResponse,
22
27
  DiarizedEntry,
23
28
  DiarizedTranscript,
@@ -31,11 +36,6 @@ from .types import (
31
36
  FinishReason,
32
37
  FlushSignal,
33
38
  Format,
34
- InitializeConnection,
35
- InitializeConnectionData,
36
- InitializeConnectionDataOutputAudioBitrate,
37
- InitializeConnectionDataSpeaker,
38
- InitializeConnectionDataTargetLanguageCode,
39
39
  LanguageIdentificationResponse,
40
40
  NumeralsFormat,
41
41
  PingSignal,
@@ -112,6 +112,8 @@ from .requests import (
112
112
  ChoiceParams,
113
113
  CompletionUsageParams,
114
114
  ConfigMessageParams,
115
+ ConfigureConnectionDataParams,
116
+ ConfigureConnectionParams,
115
117
  CreateChatCompletionResponseParams,
116
118
  DiarizedEntryParams,
117
119
  DiarizedTranscriptParams,
@@ -122,8 +124,6 @@ from .requests import (
122
124
  ErrorResponseParams,
123
125
  EventsDataParams,
124
126
  FlushSignalParams,
125
- InitializeConnectionDataParams,
126
- InitializeConnectionParams,
127
127
  LanguageIdentificationResponseParams,
128
128
  PingSignalParams,
129
129
  SendTextDataParams,
@@ -189,6 +189,13 @@ __all__ = [
189
189
  "CompletionUsageParams",
190
190
  "ConfigMessage",
191
191
  "ConfigMessageParams",
192
+ "ConfigureConnection",
193
+ "ConfigureConnectionData",
194
+ "ConfigureConnectionDataOutputAudioBitrate",
195
+ "ConfigureConnectionDataParams",
196
+ "ConfigureConnectionDataSpeaker",
197
+ "ConfigureConnectionDataTargetLanguageCode",
198
+ "ConfigureConnectionParams",
192
199
  "CreateChatCompletionResponse",
193
200
  "CreateChatCompletionResponseParams",
194
201
  "DiarizedEntry",
@@ -213,13 +220,6 @@ __all__ = [
213
220
  "FlushSignalParams",
214
221
  "ForbiddenError",
215
222
  "Format",
216
- "InitializeConnection",
217
- "InitializeConnectionData",
218
- "InitializeConnectionDataOutputAudioBitrate",
219
- "InitializeConnectionDataParams",
220
- "InitializeConnectionDataSpeaker",
221
- "InitializeConnectionDataTargetLanguageCode",
222
- "InitializeConnectionParams",
223
223
  "InternalServerError",
224
224
  "LanguageIdentificationResponse",
225
225
  "LanguageIdentificationResponseParams",
@@ -35,6 +35,9 @@ class SarvamAI:
35
35
 
36
36
 
37
37
  api_subscription_key : typing.Optional[str]
38
+ headers : typing.Optional[typing.Dict[str, str]]
39
+ Additional headers to send with every request.
40
+
38
41
  timeout : typing.Optional[float]
39
42
  The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced.
40
43
 
@@ -58,6 +61,7 @@ class SarvamAI:
58
61
  *,
59
62
  environment: SarvamAIEnvironment = SarvamAIEnvironment.PRODUCTION,
60
63
  api_subscription_key: typing.Optional[str] = os.getenv("SARVAM_API_KEY"),
64
+ headers: typing.Optional[typing.Dict[str, str]] = None,
61
65
  timeout: typing.Optional[float] = None,
62
66
  follow_redirects: typing.Optional[bool] = True,
63
67
  httpx_client: typing.Optional[httpx.Client] = None,
@@ -72,6 +76,7 @@ class SarvamAI:
72
76
  self._client_wrapper = SyncClientWrapper(
73
77
  environment=environment,
74
78
  api_subscription_key=api_subscription_key,
79
+ headers=headers,
75
80
  httpx_client=httpx_client
76
81
  if httpx_client is not None
77
82
  else httpx.Client(timeout=_defaulted_timeout, follow_redirects=follow_redirects)
@@ -106,6 +111,9 @@ class AsyncSarvamAI:
106
111
 
107
112
 
108
113
  api_subscription_key : typing.Optional[str]
114
+ headers : typing.Optional[typing.Dict[str, str]]
115
+ Additional headers to send with every request.
116
+
109
117
  timeout : typing.Optional[float]
110
118
  The timeout to be used, in seconds, for requests. By default the timeout is 60 seconds, unless a custom httpx client is used, in which case this default is not enforced.
111
119
 
@@ -129,6 +137,7 @@ class AsyncSarvamAI:
129
137
  *,
130
138
  environment: SarvamAIEnvironment = SarvamAIEnvironment.PRODUCTION,
131
139
  api_subscription_key: typing.Optional[str] = os.getenv("SARVAM_API_KEY"),
140
+ headers: typing.Optional[typing.Dict[str, str]] = None,
132
141
  timeout: typing.Optional[float] = None,
133
142
  follow_redirects: typing.Optional[bool] = True,
134
143
  httpx_client: typing.Optional[httpx.AsyncClient] = None,
@@ -143,6 +152,7 @@ class AsyncSarvamAI:
143
152
  self._client_wrapper = AsyncClientWrapper(
144
153
  environment=environment,
145
154
  api_subscription_key=api_subscription_key,
155
+ headers=headers,
146
156
  httpx_client=httpx_client
147
157
  if httpx_client is not None
148
158
  else httpx.AsyncClient(timeout=_defaulted_timeout, follow_redirects=follow_redirects)
@@ -9,22 +9,32 @@ from .http_client import AsyncHttpClient, HttpClient
9
9
 
10
10
  class BaseClientWrapper:
11
11
  def __init__(
12
- self, *, api_subscription_key: str, environment: SarvamAIEnvironment, timeout: typing.Optional[float] = None
12
+ self,
13
+ *,
14
+ api_subscription_key: str,
15
+ headers: typing.Optional[typing.Dict[str, str]] = None,
16
+ environment: SarvamAIEnvironment,
17
+ timeout: typing.Optional[float] = None,
13
18
  ):
14
19
  self.api_subscription_key = api_subscription_key
20
+ self._headers = headers
15
21
  self._environment = environment
16
22
  self._timeout = timeout
17
23
 
18
24
  def get_headers(self) -> typing.Dict[str, str]:
19
25
  headers: typing.Dict[str, str] = {
20
- "User-Agent": "sarvamai/0.1.8rc6",
26
+ "User-Agent": "sarvamai/0.1.9a2",
21
27
  "X-Fern-Language": "Python",
22
28
  "X-Fern-SDK-Name": "sarvamai",
23
- "X-Fern-SDK-Version": "0.1.8rc6",
29
+ "X-Fern-SDK-Version": "0.1.9a2",
30
+ **(self.get_custom_headers() or {}),
24
31
  }
25
32
  headers["api-subscription-key"] = self.api_subscription_key
26
33
  return headers
27
34
 
35
+ def get_custom_headers(self) -> typing.Optional[typing.Dict[str, str]]:
36
+ return self._headers
37
+
28
38
  def get_environment(self) -> SarvamAIEnvironment:
29
39
  return self._environment
30
40
 
@@ -37,11 +47,14 @@ class SyncClientWrapper(BaseClientWrapper):
37
47
  self,
38
48
  *,
39
49
  api_subscription_key: str,
50
+ headers: typing.Optional[typing.Dict[str, str]] = None,
40
51
  environment: SarvamAIEnvironment,
41
52
  timeout: typing.Optional[float] = None,
42
53
  httpx_client: httpx.Client,
43
54
  ):
44
- super().__init__(api_subscription_key=api_subscription_key, environment=environment, timeout=timeout)
55
+ super().__init__(
56
+ api_subscription_key=api_subscription_key, headers=headers, environment=environment, timeout=timeout
57
+ )
45
58
  self.httpx_client = HttpClient(
46
59
  httpx_client=httpx_client, base_headers=self.get_headers, base_timeout=self.get_timeout
47
60
  )
@@ -52,11 +65,14 @@ class AsyncClientWrapper(BaseClientWrapper):
52
65
  self,
53
66
  *,
54
67
  api_subscription_key: str,
68
+ headers: typing.Optional[typing.Dict[str, str]] = None,
55
69
  environment: SarvamAIEnvironment,
56
70
  timeout: typing.Optional[float] = None,
57
71
  httpx_client: httpx.AsyncClient,
58
72
  ):
59
- super().__init__(api_subscription_key=api_subscription_key, environment=environment, timeout=timeout)
73
+ super().__init__(
74
+ api_subscription_key=api_subscription_key, headers=headers, environment=environment, timeout=timeout
75
+ )
60
76
  self.httpx_client = AsyncHttpClient(
61
77
  httpx_client=httpx_client, base_headers=self.get_headers, base_timeout=self.get_timeout
62
78
  )
@@ -59,9 +59,9 @@ class UniversalBaseModel(pydantic.BaseModel):
59
59
  protected_namespaces=(),
60
60
  )
61
61
 
62
- @pydantic.model_serializer(mode="wrap", when_used="json") # type: ignore[attr-defined]
63
- def serialize_model(self, handler: pydantic.SerializerFunctionWrapHandler) -> Any: # type: ignore[name-defined]
64
- serialized = handler(self)
62
+ @pydantic.model_serializer(mode="plain", when_used="json") # type: ignore[attr-defined]
63
+ def serialize_model(self) -> Any: # type: ignore[name-defined]
64
+ serialized = self.model_dump()
65
65
  data = {k: serialize_datetime(v) if isinstance(v, dt.datetime) else v for k, v in serialized.items()}
66
66
  return data
67
67
 
@@ -19,6 +19,8 @@ from .chat_completion_response_message import ChatCompletionResponseMessageParam
19
19
  from .choice import ChoiceParams
20
20
  from .completion_usage import CompletionUsageParams
21
21
  from .config_message import ConfigMessageParams
22
+ from .configure_connection import ConfigureConnectionParams
23
+ from .configure_connection_data import ConfigureConnectionDataParams
22
24
  from .create_chat_completion_response import CreateChatCompletionResponseParams
23
25
  from .diarized_entry import DiarizedEntryParams
24
26
  from .diarized_transcript import DiarizedTranscriptParams
@@ -29,8 +31,6 @@ from .error_response import ErrorResponseParams
29
31
  from .error_response_data import ErrorResponseDataParams
30
32
  from .events_data import EventsDataParams
31
33
  from .flush_signal import FlushSignalParams
32
- from .initialize_connection import InitializeConnectionParams
33
- from .initialize_connection_data import InitializeConnectionDataParams
34
34
  from .language_identification_response import LanguageIdentificationResponseParams
35
35
  from .ping_signal import PingSignalParams
36
36
  from .send_text import SendTextParams
@@ -66,6 +66,8 @@ __all__ = [
66
66
  "ChoiceParams",
67
67
  "CompletionUsageParams",
68
68
  "ConfigMessageParams",
69
+ "ConfigureConnectionDataParams",
70
+ "ConfigureConnectionParams",
69
71
  "CreateChatCompletionResponseParams",
70
72
  "DiarizedEntryParams",
71
73
  "DiarizedTranscriptParams",
@@ -76,8 +78,6 @@ __all__ = [
76
78
  "ErrorResponseParams",
77
79
  "EventsDataParams",
78
80
  "FlushSignalParams",
79
- "InitializeConnectionDataParams",
80
- "InitializeConnectionParams",
81
81
  "LanguageIdentificationResponseParams",
82
82
  "PingSignalParams",
83
83
  "SendTextDataParams",
@@ -3,10 +3,10 @@
3
3
  import typing
4
4
 
5
5
  import typing_extensions
6
- from .initialize_connection_data import InitializeConnectionDataParams
6
+ from .configure_connection_data import ConfigureConnectionDataParams
7
7
 
8
8
 
9
- class InitializeConnectionParams(typing_extensions.TypedDict):
9
+ class ConfigureConnectionParams(typing_extensions.TypedDict):
10
10
  """
11
11
  Configuration message required as the first message after establishing the WebSocket connection.
12
12
  This initializes TTS parameters and can be updated at any time during the WebSocket lifecycle
@@ -15,4 +15,4 @@ class InitializeConnectionParams(typing_extensions.TypedDict):
15
15
  """
16
16
 
17
17
  type: typing.Literal["config"]
18
- data: InitializeConnectionDataParams
18
+ data: ConfigureConnectionDataParams
@@ -3,18 +3,18 @@
3
3
  import typing
4
4
 
5
5
  import typing_extensions
6
- from ..types.initialize_connection_data_output_audio_bitrate import InitializeConnectionDataOutputAudioBitrate
7
- from ..types.initialize_connection_data_speaker import InitializeConnectionDataSpeaker
8
- from ..types.initialize_connection_data_target_language_code import InitializeConnectionDataTargetLanguageCode
6
+ from ..types.configure_connection_data_output_audio_bitrate import ConfigureConnectionDataOutputAudioBitrate
7
+ from ..types.configure_connection_data_speaker import ConfigureConnectionDataSpeaker
8
+ from ..types.configure_connection_data_target_language_code import ConfigureConnectionDataTargetLanguageCode
9
9
 
10
10
 
11
- class InitializeConnectionDataParams(typing_extensions.TypedDict):
12
- target_language_code: InitializeConnectionDataTargetLanguageCode
11
+ class ConfigureConnectionDataParams(typing_extensions.TypedDict):
12
+ target_language_code: ConfigureConnectionDataTargetLanguageCode
13
13
  """
14
14
  The language of the text is BCP-47 format
15
15
  """
16
16
 
17
- speaker: InitializeConnectionDataSpeaker
17
+ speaker: ConfigureConnectionDataSpeaker
18
18
  """
19
19
  The speaker voice to be used for the output audio.
20
20
 
@@ -67,7 +67,7 @@ class InitializeConnectionDataParams(typing_extensions.TypedDict):
67
67
  Audio codec (currently supports MP3 only, optimized for real-time playback)
68
68
  """
69
69
 
70
- output_audio_bitrate: typing_extensions.NotRequired[InitializeConnectionDataOutputAudioBitrate]
70
+ output_audio_bitrate: typing_extensions.NotRequired[ConfigureConnectionDataOutputAudioBitrate]
71
71
  """
72
72
  Audio bitrate (choose from 5 supported bitrate options)
73
73
  """
@@ -61,14 +61,12 @@ class SpeechToTextClient:
61
61
 
62
62
  model : typing.Optional[SpeechToTextModel]
63
63
  Specifies the model to use for speech-to-text conversion.
64
- Note:- Default model is `saarika:v2`
64
+ Note:- Default model is `saarika:v2.5`
65
65
 
66
66
  language_code : typing.Optional[SpeechToTextLanguage]
67
- Specifies the language of the input audio. This parameter is required to ensure accurate transcription.
68
- For the `saarika:v1` model, this parameter is mandatory.
69
- For the `saarika:v2` model, it is optional.
67
+ Specifies the language of the input audio.
68
+ For the `saarika:v2.5` model, it is optional.
70
69
  `unknown`: Use this when the language is not known; the API will detect it automatically.
71
- Note:- that the `saarika:v1` model does not support `unknown` language code.
72
70
 
73
71
  request_options : typing.Optional[RequestOptions]
74
72
  Request-specific configuration.
@@ -192,14 +190,12 @@ class AsyncSpeechToTextClient:
192
190
 
193
191
  model : typing.Optional[SpeechToTextModel]
194
192
  Specifies the model to use for speech-to-text conversion.
195
- Note:- Default model is `saarika:v2`
193
+ Note:- Default model is `saarika:v2.5`
196
194
 
197
195
  language_code : typing.Optional[SpeechToTextLanguage]
198
- Specifies the language of the input audio. This parameter is required to ensure accurate transcription.
199
- For the `saarika:v1` model, this parameter is mandatory.
200
- For the `saarika:v2` model, it is optional.
196
+ Specifies the language of the input audio.
197
+ For the `saarika:v2.5` model, it is optional.
201
198
  `unknown`: Use this when the language is not known; the API will detect it automatically.
202
- Note:- that the `saarika:v1` model does not support `unknown` language code.
203
199
 
204
200
  request_options : typing.Optional[RequestOptions]
205
201
  Request-specific configuration.
@@ -60,14 +60,12 @@ class RawSpeechToTextClient:
60
60
 
61
61
  model : typing.Optional[SpeechToTextModel]
62
62
  Specifies the model to use for speech-to-text conversion.
63
- Note:- Default model is `saarika:v2`
63
+ Note:- Default model is `saarika:v2.5`
64
64
 
65
65
  language_code : typing.Optional[SpeechToTextLanguage]
66
- Specifies the language of the input audio. This parameter is required to ensure accurate transcription.
67
- For the `saarika:v1` model, this parameter is mandatory.
68
- For the `saarika:v2` model, it is optional.
66
+ Specifies the language of the input audio.
67
+ For the `saarika:v2.5` model, it is optional.
69
68
  `unknown`: Use this when the language is not known; the API will detect it automatically.
70
- Note:- that the `saarika:v1` model does not support `unknown` language code.
71
69
 
72
70
  request_options : typing.Optional[RequestOptions]
73
71
  Request-specific configuration.
@@ -346,14 +344,12 @@ class AsyncRawSpeechToTextClient:
346
344
 
347
345
  model : typing.Optional[SpeechToTextModel]
348
346
  Specifies the model to use for speech-to-text conversion.
349
- Note:- Default model is `saarika:v2`
347
+ Note:- Default model is `saarika:v2.5`
350
348
 
351
349
  language_code : typing.Optional[SpeechToTextLanguage]
352
- Specifies the language of the input audio. This parameter is required to ensure accurate transcription.
353
- For the `saarika:v1` model, this parameter is mandatory.
354
- For the `saarika:v2` model, it is optional.
350
+ Specifies the language of the input audio.
351
+ For the `saarika:v2.5` model, it is optional.
355
352
  `unknown`: Use this when the language is not known; the API will detect it automatically.
356
- Note:- that the `saarika:v1` model does not support `unknown` language code.
357
353
 
358
354
  request_options : typing.Optional[RequestOptions]
359
355
  Request-specific configuration.
@@ -202,7 +202,7 @@ class TextClient:
202
202
  Parameters
203
203
  ----------
204
204
  input : str
205
- The text input for language and script identification.
205
+ The text input for language and script identification. Max Input Limit is 1000 characters
206
206
 
207
207
  request_options : typing.Optional[RequestOptions]
208
208
  Request-specific configuration.
@@ -534,7 +534,7 @@ class AsyncTextClient:
534
534
  Parameters
535
535
  ----------
536
536
  input : str
537
- The text input for language and script identification.
537
+ The text input for language and script identification. Max Input Limit is 1000 characters
538
538
 
539
539
  request_options : typing.Optional[RequestOptions]
540
540
  Request-specific configuration.
@@ -263,7 +263,7 @@ class RawTextClient:
263
263
  Parameters
264
264
  ----------
265
265
  input : str
266
- The text input for language and script identification.
266
+ The text input for language and script identification. Max Input Limit is 1000 characters
267
267
 
268
268
  request_options : typing.Optional[RequestOptions]
269
269
  Request-specific configuration.
@@ -773,7 +773,7 @@ class AsyncRawTextClient:
773
773
  Parameters
774
774
  ----------
775
775
  input : str
776
- The text input for language and script identification.
776
+ The text input for language and script identification. Max Input Limit is 1000 characters
777
777
 
778
778
  request_options : typing.Optional[RequestOptions]
779
779
  Request-specific configuration.