avartha-python-sdk 0.0.4__tar.gz → 0.0.5__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 (272) hide show
  1. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/MANIFEST.in +1 -1
  2. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/PKG-INFO +6 -5
  3. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/README.md +20 -13
  4. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/docs/compatibility.md +16 -14
  5. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/docs/migration.md +39 -14
  6. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/docs/platform.md +3 -37
  7. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/docs/pypi.md +5 -4
  8. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_config.py +25 -10
  9. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/client.py +12 -0
  10. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/elevenlabs.py +1 -0
  11. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/openai.py +1 -0
  12. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_reasoning_effort.py +3 -1
  13. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/PKG-INFO +6 -5
  14. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/SOURCES.txt +0 -1
  15. avartha_python_sdk-0.0.4/examples/endpoints.py +0 -39
  16. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/LICENSE +0 -0
  17. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/THIRD_PARTY_NOTICES +0 -0
  18. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/examples/realtime.py +0 -0
  19. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/examples/realtime_asr.py +0 -0
  20. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/examples/tts.py +0 -0
  21. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/examples/tts_multi_context.py +0 -0
  22. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/pyproject.toml +0 -0
  23. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/setup.cfg +0 -0
  24. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/setup.py +0 -0
  25. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/__init__.py +0 -0
  26. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_exceptions.py +0 -0
  27. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_http_errors.py +0 -0
  28. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_models.py +0 -0
  29. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_openai_http.py +0 -0
  30. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_openai_http_errors.py +0 -0
  31. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_pacing.py +0 -0
  32. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_asr.py +0 -0
  33. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_openai.py +0 -0
  34. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_resources.py +0 -0
  35. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_tts.py +0 -0
  36. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_sentinels.py +0 -0
  37. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_speech_config.py +0 -0
  38. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_speech_http.py +0 -0
  39. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_speech_resources.py +0 -0
  40. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_unsupported.py +0 -0
  41. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_websocket.py +0 -0
  42. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/_ws_state.py +0 -0
  43. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/control.py +0 -0
  44. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/conversational_ai/__init__.py +0 -0
  45. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/errors.py +0 -0
  46. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/pagination.py +0 -0
  47. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/py.typed +0 -0
  48. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/realtime/__init__.py +0 -0
  49. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/realtime/speech.py +0 -0
  50. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/resources/__init__.py +0 -0
  51. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/resources/models.py +0 -0
  52. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/resources/realtime/__init__.py +0 -0
  53. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/resources/realtime/realtime.py +0 -0
  54. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/__init__.py +0 -0
  55. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/audio/__init__.py +0 -0
  56. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/audio/transcription_language.py +0 -0
  57. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/model.py +0 -0
  58. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/__init__.py +0 -0
  59. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/audio_transcription.py +0 -0
  60. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/audio_transcription_param.py +0 -0
  61. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_created_event.py +0 -0
  62. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item.py +0 -0
  63. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_added.py +0 -0
  64. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_create_event.py +0 -0
  65. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_create_event_param.py +0 -0
  66. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_created_event.py +0 -0
  67. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_delete_event.py +0 -0
  68. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_delete_event_param.py +0 -0
  69. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_deleted_event.py +0 -0
  70. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_done.py +0 -0
  71. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_completed_event.py +0 -0
  72. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_delta_event.py +0 -0
  73. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_failed_event.py +0 -0
  74. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_segment.py +0 -0
  75. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_param.py +0 -0
  76. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_retrieve_event.py +0 -0
  77. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_retrieve_event_param.py +0 -0
  78. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_truncate_event.py +0 -0
  79. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_truncate_event_param.py +0 -0
  80. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_truncated_event.py +0 -0
  81. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_append_event.py +0 -0
  82. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_append_event_param.py +0 -0
  83. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_clear_event.py +0 -0
  84. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_clear_event_param.py +0 -0
  85. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_cleared_event.py +0 -0
  86. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_commit_event.py +0 -0
  87. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_commit_event_param.py +0 -0
  88. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_committed_event.py +0 -0
  89. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_dtmf_event_received_event.py +0 -0
  90. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_speech_started_event.py +0 -0
  91. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_speech_stopped_event.py +0 -0
  92. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_timeout_triggered.py +0 -0
  93. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/log_prob_properties.py +0 -0
  94. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/mcp_list_tools_completed.py +0 -0
  95. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/mcp_list_tools_failed.py +0 -0
  96. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/mcp_list_tools_in_progress.py +0 -0
  97. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/noise_reduction_type.py +0 -0
  98. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/output_audio_buffer_clear_event.py +0 -0
  99. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/output_audio_buffer_clear_event_param.py +0 -0
  100. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/rate_limits_updated_event.py +0 -0
  101. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config.py +0 -0
  102. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_input.py +0 -0
  103. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_input_param.py +0 -0
  104. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_output.py +0 -0
  105. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_output_param.py +0 -0
  106. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_param.py +0 -0
  107. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_formats.py +0 -0
  108. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_formats_param.py +0 -0
  109. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_input_turn_detection.py +0 -0
  110. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_input_turn_detection_param.py +0 -0
  111. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_client_event.py +0 -0
  112. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_client_event_param.py +0 -0
  113. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_assistant_message.py +0 -0
  114. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_assistant_message_param.py +0 -0
  115. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call.py +0 -0
  116. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call_output.py +0 -0
  117. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call_output_param.py +0 -0
  118. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call_param.py +0 -0
  119. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_system_message.py +0 -0
  120. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_system_message_param.py +0 -0
  121. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_user_message.py +0 -0
  122. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_user_message_param.py +0 -0
  123. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_error.py +0 -0
  124. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_error_event.py +0 -0
  125. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_function_tool.py +0 -0
  126. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_function_tool_param.py +0 -0
  127. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_request.py +0 -0
  128. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_request_param.py +0 -0
  129. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_response.py +0 -0
  130. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_response_param.py +0 -0
  131. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_list_tools.py +0 -0
  132. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_list_tools_param.py +0 -0
  133. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_protocol_error.py +0 -0
  134. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_protocol_error_param.py +0 -0
  135. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_call.py +0 -0
  136. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_call_param.py +0 -0
  137. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_execution_error.py +0 -0
  138. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_execution_error_param.py +0 -0
  139. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcphttp_error.py +0 -0
  140. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcphttp_error_param.py +0 -0
  141. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_reasoning.py +0 -0
  142. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_reasoning_param.py +0 -0
  143. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response.py +0 -0
  144. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_audio_output.py +0 -0
  145. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_audio_output_param.py +0 -0
  146. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_mcp_tool.py +0 -0
  147. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_mcp_tool_param.py +0 -0
  148. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_params.py +0 -0
  149. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_params_param.py +0 -0
  150. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_status.py +0 -0
  151. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_usage.py +0 -0
  152. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_usage_input_token_details.py +0 -0
  153. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_usage_output_token_details.py +0 -0
  154. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_server_event.py +0 -0
  155. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_session_create_request.py +0 -0
  156. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_session_create_request_param.py +0 -0
  157. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tool_choice_config.py +0 -0
  158. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tool_choice_config_param.py +0 -0
  159. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tools_config.py +0 -0
  160. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tools_config_param.py +0 -0
  161. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tools_config_union.py +0 -0
  162. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tracing_config.py +0 -0
  163. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tracing_config_param.py +0 -0
  164. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio.py +0 -0
  165. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio_input.py +0 -0
  166. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio_input_param.py +0 -0
  167. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection.py +0 -0
  168. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection_param.py +0 -0
  169. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio_param.py +0 -0
  170. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_create_request.py +0 -0
  171. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_create_request_param.py +0 -0
  172. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_truncation.py +0 -0
  173. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_truncation_param.py +0 -0
  174. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_truncation_retention_ratio.py +0 -0
  175. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_truncation_retention_ratio_param.py +0 -0
  176. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_delta_event.py +0 -0
  177. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_done_event.py +0 -0
  178. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_transcript_delta_event.py +0 -0
  179. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_transcript_done_event.py +0 -0
  180. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_cancel_event.py +0 -0
  181. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_cancel_event_param.py +0 -0
  182. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_content_part_added_event.py +0 -0
  183. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_content_part_done_event.py +0 -0
  184. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_create_event.py +0 -0
  185. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_create_event_param.py +0 -0
  186. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_created_event.py +0 -0
  187. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_done_event.py +0 -0
  188. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_function_call_arguments_delta_event.py +0 -0
  189. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_function_call_arguments_done_event.py +0 -0
  190. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_arguments_delta.py +0 -0
  191. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_arguments_done.py +0 -0
  192. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_completed.py +0 -0
  193. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_failed.py +0 -0
  194. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_in_progress.py +0 -0
  195. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_output_item_added_event.py +0 -0
  196. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_output_item_done_event.py +0 -0
  197. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_text_delta_event.py +0 -0
  198. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_text_done_event.py +0 -0
  199. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_created_event.py +0 -0
  200. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_update_event.py +0 -0
  201. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_update_event_param.py +0 -0
  202. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_updated_event.py +0 -0
  203. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/__init__.py +0 -0
  204. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/image_detail.py +0 -0
  205. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_file.py +0 -0
  206. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_file_param.py +0 -0
  207. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_image.py +0 -0
  208. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_image_param.py +0 -0
  209. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_text.py +0 -0
  210. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_text_param.py +0 -0
  211. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_prompt.py +0 -0
  212. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_prompt_param.py +0 -0
  213. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_function.py +0 -0
  214. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_function_param.py +0 -0
  215. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_mcp.py +0 -0
  216. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_mcp_param.py +0 -0
  217. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_options.py +0 -0
  218. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/shared/__init__.py +0 -0
  219. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/shared/metadata.py +0 -0
  220. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/shared_params/__init__.py +0 -0
  221. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/shared_params/metadata.py +0 -0
  222. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/__init__.py +0 -0
  223. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/alignment.py +0 -0
  224. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/audio_output_multi.py +0 -0
  225. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/close_context.py +0 -0
  226. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/close_socket.py +0 -0
  227. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/final_output_multi.py +0 -0
  228. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/fine_tuning_response.py +0 -0
  229. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/fine_tuning_response_state_value.py +0 -0
  230. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/flush_context.py +0 -0
  231. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/generation_config.py +0 -0
  232. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/get_voices_response.py +0 -0
  233. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/get_voices_v_2_response.py +0 -0
  234. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/initialize_connection_multi.py +0 -0
  235. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/language_response.py +0 -0
  236. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/manual_verification_file_response.py +0 -0
  237. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/manual_verification_response.py +0 -0
  238. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/model.py +0 -0
  239. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/model_rates_response_model.py +0 -0
  240. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/normalized_alignment.py +0 -0
  241. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/output_format.py +0 -0
  242. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/pronunciation_dictionary_locator.py +0 -0
  243. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/reader_resource_response_model.py +0 -0
  244. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/reader_resource_response_model_resource_type.py +0 -0
  245. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/realtime_voice_settings.py +0 -0
  246. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/recording_response.py +0 -0
  247. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/review_status.py +0 -0
  248. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/send_text_multi.py +0 -0
  249. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/speaker_response_model.py +0 -0
  250. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/speaker_separation_response_model.py +0 -0
  251. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/speaker_separation_response_model_status.py +0 -0
  252. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/utterance_response_model.py +0 -0
  253. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/verification_attempt_response.py +0 -0
  254. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/verified_voice_language_response_model.py +0 -0
  255. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice.py +0 -0
  256. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_category.py +0 -0
  257. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_labelling_status.py +0 -0
  258. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_recording_quality.py +0 -0
  259. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_safety_control.py +0 -0
  260. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sample.py +0 -0
  261. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_settings.py +0 -0
  262. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sharing_moderation_check_response_model.py +0 -0
  263. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sharing_response.py +0 -0
  264. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sharing_response_category.py +0 -0
  265. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sharing_state.py +0 -0
  266. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_verification_response.py +0 -0
  267. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/speech_language.py +0 -0
  268. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/websocket_connection_options.py +0 -0
  269. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha/types/websocket_reconnection.py +0 -0
  270. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/dependency_links.txt +0 -0
  271. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/requires.txt +0 -0
  272. {avartha_python_sdk-0.0.4 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/top_level.txt +0 -0
@@ -6,4 +6,4 @@ exclude src/avartha/_version.py
6
6
  recursive-include src/avartha_python_sdk.egg-info PKG-INFO SOURCES.txt dependency_links.txt requires.txt top_level.txt
7
7
  include docs/pypi.md docs/compatibility.md docs/migration.md docs/platform.md
8
8
  include examples/realtime.py examples/tts.py examples/tts_multi_context.py
9
- include examples/realtime_asr.py examples/endpoints.py
9
+ include examples/realtime_asr.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: avartha-python-sdk
3
- Version: 0.0.4
3
+ Version: 0.0.5
4
4
  Summary: Python clients for Avartha Realtime text, streaming speech, and platform management
5
5
  Author-email: "Avartha Inc." <team@avartha.ai>
6
6
  License-Expression: LicenseRef-Avartha-Proprietary
@@ -47,9 +47,10 @@ export AVARTHA_API_KEY='avk_...'
47
47
  export AVARTHA_BASE_URL='https://platform.preview.avartha.ai'
48
48
  ```
49
49
 
50
- Clients default to the preview platform and the `serverless` tier. Set
51
- `AVARTHA_BASE_URL` for another environment or `tier="dedicated"` for dedicated
52
- inference. Use model and voice IDs available to your workspace and tier.
50
+ Clients default to the preview platform and support only serverless inference.
51
+ Set `AVARTHA_BASE_URL` for another environment. Use model and voice IDs available
52
+ to your workspace. Unsupported tier values and dedicated inference URLs raise
53
+ `ConfigurationError` locally before any request.
53
54
 
54
55
  ## Discover models
55
56
 
@@ -107,7 +108,7 @@ Inference consumes credits.
107
108
  | Multi-context TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.connect_multi_context` |
108
109
  | Realtime ASR | `await client.speech_to_text.realtime.connect(...)` on either speech client |
109
110
  | Speech discovery | Speech clients: models, voices, voice settings, ASR languages |
110
- | Workspaces, members, invitations, endpoints | `Control` / `AsyncControl` |
111
+ | Workspaces, members, invitations | `Control` / `AsyncControl` |
111
112
  | Combined inference and management | `Avartha` / `AsyncAvartha` |
112
113
 
113
114
  Managed inference uses WebSockets; Chat Completions, Responses, HTTP TTS,
@@ -95,7 +95,7 @@ with OpenAI() as client:
95
95
  print(model.id, model.to_dict().get("protocols", []))
96
96
  ```
97
97
 
98
- Model availability depends on your workspace, environment, and tier. Replace
98
+ Model availability depends on your workspace and environment. Replace
99
99
  the example IDs with models returned for your key and the protocol you need:
100
100
  `openai_realtime`, `elevenlabs_tts`, or `elevenlabs_asr`.
101
101
 
@@ -210,8 +210,18 @@ managed inference uses the realtime methods above.
210
210
 
211
211
  ### Speech to text
212
212
 
213
- Realtime ASR uses `await client.speech_to_text.realtime.connect(...)` on both
214
- ElevenLabs client variants. Send mono PCM16 audio and await a committed transcript.
213
+ Live speech-to-text (realtime ASR) is asynchronous on both `ElevenLabs` and
214
+ `AsyncElevenLabs`. This also applies through `Avartha` and `AsyncAvartha` at
215
+ `client.elevenlabs.speech_to_text.realtime`; the synchronous `Avartha` client
216
+ does not provide a blocking live STT interface.
217
+
218
+ Await `realtime.connect()`, `connection.send()`, `connection.commit()`, and
219
+ `connection.close()`. Register callbacks with `connection.on()` without `await`.
220
+ Use `AsyncAvartha` or `AsyncElevenLabs` for an async application. See the
221
+ [live STT execution guidance](docs/migration.md#live-speech-to-text) for scripts
222
+ and applications with an existing event loop.
223
+
224
+ Send mono PCM16 audio and await a committed transcript.
215
225
  [The complete example](examples/realtime_asr.py) reads a WAV file, registers
216
226
  transcript/error callbacks, streams chunks, commits, and closes the connection:
217
227
 
@@ -354,10 +364,12 @@ automatically. See [timeouts and cleanup](docs/migration.md#timeouts-retries-and
354
364
 
355
365
  Without an explicit URL, protocol clients derive their URL from
356
366
  `AVARTHA_BASE_URL`, defaulting to `https://platform.preview.avartha.ai` and the
357
- `serverless` tier. Set `tier="dedicated"` for dedicated inference; there is no
358
- automatic fallback between tiers. An explicit protocol `base_url` takes
359
- precedence over `tier`. `AVARTHA_ELEVENLABS_BASE_URL` overrides the derived speech
360
- root, and an explicit ElevenLabs `base_url` overrides that environment variable.
367
+ `serverless` tier. Only serverless inference is supported. Unsupported `tier`
368
+ values and dedicated inference URLs raise `ConfigurationError` locally before
369
+ any request; the SDK does not silently change the selected tier.
370
+ `AVARTHA_ELEVENLABS_BASE_URL` overrides the derived speech root, and an explicit
371
+ protocol `base_url` overrides its derived URL. URL overrides do not bypass tier
372
+ validation.
361
373
 
362
374
  Keys are read at construction from `AVARTHA_API_KEY` or `api_key`.
363
375
  Vendor default keys and base URL variables are not substituted.
@@ -379,7 +391,6 @@ with Avartha() as client:
379
391
  print(client.control.catalog.skus(provider="modal"))
380
392
  print(client.control.organizations.list())
381
393
  print(client.control.organizations.limits("your-workspace-id"))
382
- print(client.control.endpoints.list(workspace_id="your-workspace-id"))
383
394
  ```
384
395
 
385
396
  `client.openai` and `client.elevenlabs` are the protocol clients;
@@ -392,15 +403,11 @@ creation, revocation, and acceptance. For example,
392
403
  See [workspace administration](docs/platform.md#workspace-administration) for
393
404
  sync/async usage and server permissions.
394
405
 
395
- Endpoint creation, readiness waiting,
396
- scaling, routing, stopping, and deletion are described in the
397
- [management guide](docs/platform.md).
398
-
399
406
  ## Examples
400
407
 
401
408
  Runnable examples cover [Realtime text](examples/realtime.py),
402
409
  [TTS](examples/tts.py), [multi-context TTS](examples/tts_multi_context.py),
403
- [ASR](examples/realtime_asr.py), and [endpoint management](examples/endpoints.py).
410
+ [ASR](examples/realtime_asr.py).
404
411
  Microphone capture and speaker playback are handled by your application.
405
412
 
406
413
  Running inference examples consumes credits.
@@ -8,14 +8,14 @@ Avartha; see the [migration guide](migration.md).
8
8
  ## Supported APIs
9
9
 
10
10
  SDK support and server availability are separate. Select a model available to
11
- your workspace and tier, and use only the features that model supports.
11
+ your workspace on serverless inference, and use only the features that model supports.
12
12
  Avartha managed inference uses WebSockets. Discovery and platform management
13
13
  use HTTP.
14
14
 
15
15
  | Surface | SDK support | Server prerequisites |
16
16
  | --- | --- | --- |
17
17
  | OpenAI Realtime text | Sync/async `realtime.connect()` | A model supporting `openai_realtime` and the requested session options |
18
- | OpenAI model discovery | Sync/async `models.list()` and `models.retrieve(model)` | A valid Avartha key; results depend on workspace and tier |
18
+ | OpenAI model discovery | Sync/async `models.list()` and `models.retrieve(model)` | A valid Avartha key; results depend on workspace |
19
19
  | OpenAI Realtime audio, transcription, images, and beta API | Unavailable | Use speech clients for supported audio workflows |
20
20
  | Chat Completions, Responses, SSE, and OpenAI HTTP speech | Unavailable | Managed inference requires a Realtime connection |
21
21
  | Speech models and voices | Typed sync/async HTTP discovery | A visible speech model; voice discovery requires a routable TTS model |
@@ -25,11 +25,11 @@ use HTTP.
25
25
  | Realtime ASR | Async connections on both speech clients | An ASR model supporting the supplied audio format and sample rate |
26
26
  | HTTP TTS and file transcription | Unavailable | Use realtime speech methods |
27
27
  | Agents, tools, knowledge bases, conversation sessions/history | Planned; currently unavailable | Accessing `conversational_ai` raises `NotImplementedError` |
28
- | Catalog, workspaces, members, invitations, and endpoints | Sync/async `Control` | An Avartha API key with the required workspace role and allocation |
28
+ | Catalog, workspaces, members, and invitations | Sync/async `Control` | An Avartha API key with the required workspace role and allocation |
29
29
  | API-key administration | Unavailable through `Control` | Use the platform portal; these operations require a browser session |
30
30
 
31
31
  See [platform management](platform.md) for workspace roles, invitation
32
- requirements, endpoint readiness, and provisioning.
32
+ requirements, and permissions.
33
33
 
34
34
  ## OpenAI Realtime text
35
35
 
@@ -56,8 +56,8 @@ schema compatibility. Unsupported HTTP resources, including Chat Completions,
56
56
  Responses, and Realtime calls/client secrets, raise the same exception.
57
57
  The older `client.beta.realtime` wire schema is outside this contract.
58
58
 
59
- The constructor and `copy()` / `with_options()` accept an Avartha `tier` option;
60
- custom `http_client` arguments are unsupported.
59
+ The constructor accepts only `tier="serverless"`. Client copies apply the same
60
+ configuration validation. Custom `http_client` arguments are unsupported.
61
61
  HTTP settings such as `timeout` and `max_retries` do not control the WebSocket. Use
62
62
  `websocket_connection_options` and the arguments to `realtime.connect()` for
63
63
  socket timeouts and retries. Closing a client closes its internally created HTTP
@@ -81,12 +81,12 @@ with OpenAI() as client:
81
81
  ```
82
82
 
83
83
  The client uses these HTTP routes under
84
- `/inference/{serverless|dedicated}/openai/v1`:
84
+ `/inference/serverless/openai/v1`:
85
85
 
86
86
  | SDK method | GET path | Server prerequisites |
87
87
  | --- | --- | --- |
88
- | `models.list()` | `/models` | Returns models visible to the caller on the selected tier; an empty list is valid |
89
- | `models.retrieve(model)` | `/models/{model}` | Model ID must be visible on that tier; slashes in IDs are URL-encoded |
88
+ | `models.list()` | `/models` | Returns serverless models visible to the caller; an empty list is valid |
89
+ | `models.retrieve(model)` | `/models/{model}` | Model ID must be visible on serverless inference; slashes in IDs are URL-encoded |
90
90
 
91
91
  Both clients return typed `avartha.types.Model` objects and preserve additional
92
92
  platform fields such as `protocols`, `model_type`, and `websocket_limits`.
@@ -115,11 +115,11 @@ raise `APITimeoutError`. The OpenAI HTTP 422 class is
115
115
  ## Speech HTTP discovery
116
116
 
117
117
  Speech discovery uses these HTTP routes under
118
- `/inference/{serverless|dedicated}/elevenlabs`:
118
+ `/inference/serverless/elevenlabs`:
119
119
 
120
120
  | SDK method | GET path | Server prerequisites |
121
121
  | --- | --- | --- |
122
- | `models.list()` | `/v1/models` | A speech model visible to the caller and tier |
122
+ | `models.list()` | `/v1/models` | A serverless speech model visible to the caller |
123
123
  | `voices.get_all()` | `/v1/voices` | A routable TTS model with runtime voice discovery |
124
124
  | `voices.search(...)` | `/v2/voices` | Same; supported filters are `search`, `page_size` (1–100), `next_page_token`, and `include_total_count` |
125
125
  | `voices.get(voice_id)` | `/v1/voices/{voice_id}` | Voice exists for the selected model |
@@ -261,12 +261,14 @@ option in the SDK does not make it available on the server. Runnable examples:
261
261
  ## URLs and authentication
262
262
 
263
263
  - `Avartha` and `Control` accept a platform root, including a proxy prefix.
264
- - OpenAI defaults to `ROOT/inference/{tier}/openai/v1`, using bearer auth.
265
- - ElevenLabs defaults to `ROOT/inference/{tier}/elevenlabs` and appends its
264
+ - OpenAI defaults to `ROOT/inference/serverless/openai/v1`, using bearer auth.
265
+ - ElevenLabs defaults to `ROOT/inference/serverless/elevenlabs` and appends its
266
266
  original `/v1/...` paths, using `xi-api-key`.
267
267
  - An explicit protocol `base_url` is a full dialect/service base. Speech also
268
268
  supports `AVARTHA_ELEVENLABS_BASE_URL` as an override.
269
- - Both protocol clients default to `serverless`; `tier="dedicated"` never falls back.
269
+ - Both protocol clients support only `tier="serverless"`. Other tier values and
270
+ dedicated inference URLs raise `ConfigurationError` before any request,
271
+ including with explicit or environment URL overrides.
270
272
  - HTTP/HTTPS maps to WS/WSS. No implicit hosted-vendor credential fallback exists.
271
273
  - Clients never read vendor environment variables. `OPENAI_ADMIN_KEY`,
272
274
  `OPENAI_API_KEY`, `OPENAI_BASE_URL`, `OPENAI_CUSTOM_HEADERS`, `OPENAI_ORG_ID`,
@@ -174,7 +174,7 @@ your application uses it.
174
174
  ### Discover models, voices, and ASR languages
175
175
 
176
176
  Call discovery resources on the speech client. Replace the example model IDs
177
- with models available for your workspace, environment, and tier:
177
+ with models available for your workspace and environment:
178
178
 
179
179
  ```python
180
180
  from avartha import ElevenLabs
@@ -229,6 +229,25 @@ Text fragments are forwarded unchanged, including whitespace. Include any
229
229
  intended spaces in your text. The Avartha Platform handles buffering and
230
230
  segmentation; when synthesis starts depends on the model.
231
231
 
232
+ TTS `convert_realtime` supports sync and async clients; the async helper also
233
+ accepts async text streams. Both receive audio independently of text production.
234
+ See [input cancellation and cleanup](compatibility.md#realtime-tts)
235
+ for blocking text iterators and early playback stops.
236
+
237
+ ### Live speech-to-text
238
+
239
+ Realtime ASR is asynchronous on both speech clients and through
240
+ `Avartha.elevenlabs.speech_to_text.realtime` and
241
+ `AsyncAvartha.elevenlabs.speech_to_text.realtime`. Choosing `Avartha` does not
242
+ make live STT operations synchronous; existing awaited calls remain supported.
243
+
244
+ Await `realtime.connect()`, `connection.send()`, `connection.commit()`, and
245
+ `connection.close()`. Callback registration with `connection.on()` is synchronous.
246
+ Callbacks run on the session's event loop, which must remain running to receive
247
+ transcripts. Handlers can be ordinary functions or async functions.
248
+ ASR events retain their names and raw dictionary payloads, including the
249
+ deprecated `UNACCEPTED_TERMS_ERROR` callback alias.
250
+
232
251
  `previous_text` supplies optional text context for transcription. When omitted,
233
252
  Avartha sends `null`, meaning no context. Audio-send code can omit the field:
234
253
 
@@ -237,14 +256,18 @@ async def send_audio(connection, encoded_chunk):
237
256
  await connection.send({"audio_base_64": encoded_chunk})
238
257
  ```
239
258
 
240
- See the [complete ASR example](../examples/realtime_asr.py).
259
+ The [complete ASR example](../examples/realtime_asr.py) uses `AsyncElevenLabs`,
260
+ waits for a committed transcript, and awaits `connection.close()` in `finally`.
261
+ For a combined inference and management client, adapt that example to use
262
+ `async with AsyncAvartha() as client` and connect through
263
+ `await client.elevenlabs.speech_to_text.realtime.connect(options)`.
241
264
 
242
- TTS `convert_realtime` supports sync and async clients; the async helper also
243
- accepts async text streams. Both receive audio independently of text production.
244
- See [input cancellation and cleanup](compatibility.md#realtime-tts)
245
- for blocking text iterators and early playback stops. Realtime ASR is async on
246
- both client variants. ASR events retain their names and raw dictionary payloads,
247
- including the deprecated `UNACCEPTED_TERMS_ERROR` callback alias.
265
+ In a standalone script, put the complete session workflow in an async function
266
+ and call it once with `asyncio.run(main())`. Keep connection creation, audio
267
+ sending, transcript handling, and session cleanup on that same event loop.
268
+ In an application or notebook with a running event loop, await the workflow
269
+ directly instead of calling `asyncio.run()`. Close the live session before
270
+ leaving the client context; closing the client only closes its HTTP transports.
248
271
 
249
272
  ## Configuration
250
273
 
@@ -252,8 +275,8 @@ including the deprecated `UNACCEPTED_TERMS_ERROR` callback alias.
252
275
  | --- | --- |
253
276
  | Default API key | `AVARTHA_API_KEY`, read at construction |
254
277
  | Default platform root | `AVARTHA_BASE_URL`, or `https://platform.preview.avartha.ai` |
255
- | Default inference tier | `serverless`; use `tier="dedicated"` for dedicated inference |
256
- | Explicit `OpenAI(base_url=...)` | Full base including `/inference/{tier}/openai/v1` |
278
+ | Inference tier | `serverless` only; other values raise `ConfigurationError` locally |
279
+ | Explicit `OpenAI(base_url=...)` | Full base including `/inference/serverless/openai/v1` |
257
280
  | Explicit OpenAI `websocket_base_url` | Optional `wss://` service base before `/realtime`; other schemes are rejected |
258
281
  | Explicit `ElevenLabs(base_url=...)` | Speech service root before `/v1` |
259
282
  | Speech URL override | Explicit `base_url`, then `AVARTHA_ELEVENLABS_BASE_URL`, then the derived platform URL |
@@ -261,10 +284,12 @@ including the deprecated `UNACCEPTED_TERMS_ERROR` callback alias.
261
284
  | Existing vendor key/URL variables | Update to Avartha variables or explicit arguments |
262
285
  | Model and voice names | Use IDs supported by the configured service; no automatic mapping |
263
286
 
264
- Explicit protocol URLs take precedence over `tier`. Proxy path prefixes are
265
- preserved. Without a WebSocket override, the SDK derives a WS/WSS address from
266
- the HTTP/HTTPS service base. Avartha keys are never routed to an implicit hosted
267
- OpenAI or ElevenLabs endpoint.
287
+ Explicit protocol URLs override the derived service URL. Only serverless
288
+ inference is supported: unsupported `tier` values are rejected even with a URL
289
+ override, and dedicated inference URLs are rejected before any request. Proxy
290
+ path prefixes are preserved. Without a WebSocket override, the SDK derives a
291
+ WS/WSS address from the HTTP/HTTPS service base. Avartha keys are never routed
292
+ to an implicit hosted OpenAI or ElevenLabs endpoint.
268
293
 
269
294
  Speech clients also accept `environment` as a service URL or URL-valued enum
270
295
  when `base_url` is omitted. Update any vendor environment value to your Avartha
@@ -21,7 +21,7 @@ and lists, preserving the server's fields.
21
21
  ## Workspace administration
22
22
 
23
23
  The platform calls workspaces `organizations`. Use the same ID returned by
24
- `organizations.list()` wherever an endpoint method takes `workspace_id`.
24
+ `organizations.list()` wherever a method takes `workspace_id`.
25
25
 
26
26
  ```python
27
27
  from avartha import Control
@@ -87,7 +87,7 @@ asyncio.run(main())
87
87
  change or remove other admins. The server refuses removing or demoting the
88
88
  last owner, including through `leave`, with a conflict.
89
89
  - New customer workspaces start with a serverless-only, zero-budget allocation.
90
- Creation alone does not provide inference credits or dedicated capacity.
90
+ Creation alone does not provide inference credits.
91
91
  - Targeted customer invitations require a workspace member-allocation policy
92
92
  and a valid member entitlement policy. Email delivery requires server email
93
93
  configuration.
@@ -95,40 +95,6 @@ asyncio.run(main())
95
95
  keys requires an interactive browser session and is not available through
96
96
  this bearer-key client.
97
97
 
98
- ## Dedicated endpoints
99
-
100
- `control.endpoints` supports `create`, `get`, `list`, `management`, `stop`,
101
- `delete`, `update_scaling`, `update_routing`, and `wait_until_ready`.
102
- [The provisioning example](../examples/endpoints.py) takes a workspace, model,
103
- name, and SKU JSON and requests GPU capacity. The endpoint remains running
104
- until explicitly stopped.
105
-
106
- Creation persists launch intent and returns immediately. Readiness waiting is
107
- explicit and requires a `running` endpoint with an accepting replica:
108
-
109
- ```python
110
- from avartha import Control
111
-
112
- with Control() as client:
113
- ready = client.endpoints.wait_until_ready(
114
- "your-endpoint-id",
115
- timeout=600,
116
- poll_interval=2,
117
- )
118
- print(ready)
119
- ```
120
-
121
- The waiter raises `EndpointFailedError` if the endpoint fails, stops, or starts
122
- stopping. The polling budget caps each HTTP timeout to the remaining time.
123
- HTTP timeouts are per-phase inactivity timeouts, not a strict total wall-clock
124
- deadline. Network errors propagate. Async waits support normal asyncio
125
- cancellation.
126
-
127
- Scaling and routing updates require `expected_generation` and `policy`.
128
- Read the current policy generation through `management` before an update.
129
- A stale generation returns a conflict; re-read state before deciding whether
130
- to submit another update.
131
-
132
98
  ## Errors and other routes
133
99
 
134
100
  `PlatformAPIError` retains `status_code`, `body`, `field_errors`, `request_id`,
@@ -151,7 +117,7 @@ The combined client accepts `openai_options`, `elevenlabs_options`, and
151
117
  `control_options` dictionaries for transport and timeout settings. Use its
152
118
  named arguments for service URLs and keys. Set `elevenlabs_api_key` when the
153
119
  voice service uses a different credential; otherwise it receives the Avartha
154
- key. The speech URL defaults to the same platform root and tier; use
120
+ key. The speech URL defaults to serverless inference on the same platform root; use
155
121
  `elevenlabs_base_url` to select a separate compatible service.
156
122
 
157
123
  Use context managers or call `close()` (`await close()` for async clients).
@@ -16,9 +16,10 @@ export AVARTHA_API_KEY='avk_...'
16
16
  export AVARTHA_BASE_URL='https://platform.preview.avartha.ai'
17
17
  ```
18
18
 
19
- Clients default to the preview platform and the `serverless` tier. Set
20
- `AVARTHA_BASE_URL` for another environment or `tier="dedicated"` for dedicated
21
- inference. Use model and voice IDs available to your workspace and tier.
19
+ Clients default to the preview platform and support only serverless inference.
20
+ Set `AVARTHA_BASE_URL` for another environment. Use model and voice IDs available
21
+ to your workspace. Unsupported tier values and dedicated inference URLs raise
22
+ `ConfigurationError` locally before any request.
22
23
 
23
24
  ## Discover models
24
25
 
@@ -76,7 +77,7 @@ Inference consumes credits.
76
77
  | Multi-context TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.connect_multi_context` |
77
78
  | Realtime ASR | `await client.speech_to_text.realtime.connect(...)` on either speech client |
78
79
  | Speech discovery | Speech clients: models, voices, voice settings, ASR languages |
79
- | Workspaces, members, invitations, endpoints | `Control` / `AsyncControl` |
80
+ | Workspaces, members, invitations | `Control` / `AsyncControl` |
80
81
  | Combined inference and management | `Avartha` / `AsyncAvartha` |
81
82
 
82
83
  Managed inference uses WebSockets; Chat Completions, Responses, HTTP TTS,
@@ -8,12 +8,28 @@ from urllib.parse import urlsplit, urlunsplit
8
8
 
9
9
  import httpx
10
10
 
11
- Tier = Literal["serverless", "dedicated"]
11
+ Tier = Literal["serverless"]
12
12
  DEFAULT_BASE_URL = "https://platform.preview.avartha.ai"
13
13
 
14
14
 
15
15
  class ConfigurationError(ValueError):
16
- """Missing credentials or an invalid service URL."""
16
+ """Missing credentials, an unsupported tier, or an invalid service URL."""
17
+
18
+
19
+ def validate_tier(tier: Tier) -> None:
20
+ if tier != "serverless":
21
+ raise ConfigurationError(
22
+ "Only tier='serverless' is supported. Dedicated capacity is unavailable."
23
+ )
24
+
25
+
26
+ def reject_dedicated_url(value: str) -> str:
27
+ """Reject the dedicated inference route, including behind a proxy prefix."""
28
+ if re.search(r"(?:^|/)inference/dedicated(?:/|$)", httpx.URL(value).path):
29
+ raise ConfigurationError(
30
+ "Dedicated capacity is unavailable. Use a serverless inference URL."
31
+ )
32
+ return value
17
33
 
18
34
 
19
35
  def api_key(value: str | None) -> str:
@@ -41,12 +57,13 @@ def http_url(value: str) -> str:
41
57
  or (parts.port is not None and not 1 <= parts.port <= 65535)
42
58
  ):
43
59
  raise ValueError("Invalid URL authority")
44
- return str(httpx.URL(value)).rstrip("/")
60
+ normalized = str(httpx.URL(value)).rstrip("/")
45
61
  except (ValueError, httpx.InvalidURL):
46
62
  raise ConfigurationError(
47
63
  "Use an absolute http(s) base URL without credentials, query, fragment, "
48
64
  "whitespace, or backslashes."
49
65
  ) from None
66
+ return reject_dedicated_url(normalized)
50
67
 
51
68
 
52
69
  def platform_url(value: str | None = None) -> str:
@@ -60,20 +77,18 @@ def platform_url(value: str | None = None) -> str:
60
77
 
61
78
 
62
79
  def openai_url(root: str | None = None, tier: Tier = "serverless") -> str:
63
- if tier not in {"serverless", "dedicated"}:
64
- raise ConfigurationError("tier must be 'serverless' or 'dedicated'.")
65
- return f"{platform_url(root)}/inference/{tier}/openai/v1"
80
+ validate_tier(tier)
81
+ return f"{platform_url(root)}/inference/serverless/openai/v1"
66
82
 
67
83
 
68
84
  def elevenlabs_url(
69
85
  value: str | None = None, *, root: str | None = None, tier: Tier = "serverless"
70
86
  ) -> str:
87
+ validate_tier(tier)
71
88
  override = value if value is not None else os.getenv("AVARTHA_ELEVENLABS_BASE_URL")
72
89
  if override is not None:
73
90
  return http_url(override)
74
- if tier not in {"serverless", "dedicated"}:
75
- raise ConfigurationError("tier must be 'serverless' or 'dedicated'.")
76
- return f"{platform_url(root)}/inference/{tier}/elevenlabs"
91
+ return f"{platform_url(root)}/inference/serverless/elevenlabs"
77
92
 
78
93
 
79
94
  def websocket_url(value: str) -> str:
@@ -147,4 +162,4 @@ def websocket_override(value: str) -> str:
147
162
  "websocket_base_url must be the service base before /realtime; "
148
163
  "the SDK appends /realtime when connecting."
149
164
  )
150
- return not_vendor_host(normalized, field="websocket_base_url")
165
+ return not_vendor_host(reject_dedicated_url(normalized), field="websocket_base_url")
@@ -16,6 +16,12 @@ class Avartha:
16
16
 
17
17
  openai_options, elevenlabs_options and control_options are forwarded to
18
18
  their respective constructors (for timeouts, transports, retry settings).
19
+
20
+ Live STT through elevenlabs.speech_to_text.realtime remains asynchronous.
21
+ Await connect(), send(), commit(), and the transcription connection's close().
22
+ Register callbacks with on() without awaiting. Use AsyncAvartha for an async
23
+ application.
24
+ Close live sessions separately before closing this client.
19
25
  """
20
26
 
21
27
  def __init__(
@@ -30,6 +36,9 @@ class Avartha:
30
36
  elevenlabs_options: dict[str, Any] | None = None,
31
37
  control_options: dict[str, Any] | None = None,
32
38
  ) -> None:
39
+ _config.validate_tier(tier)
40
+ for options in (openai_options, elevenlabs_options):
41
+ _config.validate_tier((options or {}).get("tier", "serverless"))
33
42
  key, root = _config.api_key(api_key), _config.platform_url(base_url)
34
43
  self._elevenlabs_base_url = _config.elevenlabs_url(
35
44
  elevenlabs_base_url, root=root, tier=tier
@@ -99,6 +108,9 @@ class AsyncAvartha:
99
108
  elevenlabs_options: dict[str, Any] | None = None,
100
109
  control_options: dict[str, Any] | None = None,
101
110
  ) -> None:
111
+ _config.validate_tier(tier)
112
+ for options in (openai_options, elevenlabs_options):
113
+ _config.validate_tier((options or {}).get("tier", "serverless"))
102
114
  key, root = _config.api_key(api_key), _config.platform_url(base_url)
103
115
  self._elevenlabs_base_url = _config.elevenlabs_url(
104
116
  elevenlabs_base_url, root=root, tier=tier
@@ -45,6 +45,7 @@ class _Client:
45
45
  environment: str | Enum | None = None,
46
46
  websocket_limits: WebSocketLimits | None = None,
47
47
  ) -> None:
48
+ _config.validate_tier(tier)
48
49
  self.api_key = _config.api_key(api_key)
49
50
  if base_url is None and environment is not None:
50
51
  base_url = str(environment.value) if isinstance(environment, Enum) else environment
@@ -121,6 +121,7 @@ class _Client:
121
121
  _enforce_credentials: bool = True,
122
122
  tier: Tier = "serverless",
123
123
  ) -> None:
124
+ _config.validate_tier(tier)
124
125
  if data_residency is not None:
125
126
  raise ConfigurationError(
126
127
  "data_residency selects a vendor host; use an Avartha base_url."
@@ -3,4 +3,6 @@
3
3
  from typing import Literal, TypeAlias
4
4
 
5
5
  __all__ = ["RealtimeReasoningEffort"]
6
- RealtimeReasoningEffort: TypeAlias = Literal["minimal", "low", "medium", "high", "xhigh"]
6
+ RealtimeReasoningEffort: TypeAlias = Literal[
7
+ "none", "minimal", "low", "medium", "high", "xhigh", "max"
8
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: avartha-python-sdk
3
- Version: 0.0.4
3
+ Version: 0.0.5
4
4
  Summary: Python clients for Avartha Realtime text, streaming speech, and platform management
5
5
  Author-email: "Avartha Inc." <team@avartha.ai>
6
6
  License-Expression: LicenseRef-Avartha-Proprietary
@@ -47,9 +47,10 @@ export AVARTHA_API_KEY='avk_...'
47
47
  export AVARTHA_BASE_URL='https://platform.preview.avartha.ai'
48
48
  ```
49
49
 
50
- Clients default to the preview platform and the `serverless` tier. Set
51
- `AVARTHA_BASE_URL` for another environment or `tier="dedicated"` for dedicated
52
- inference. Use model and voice IDs available to your workspace and tier.
50
+ Clients default to the preview platform and support only serverless inference.
51
+ Set `AVARTHA_BASE_URL` for another environment. Use model and voice IDs available
52
+ to your workspace. Unsupported tier values and dedicated inference URLs raise
53
+ `ConfigurationError` locally before any request.
53
54
 
54
55
  ## Discover models
55
56
 
@@ -107,7 +108,7 @@ Inference consumes credits.
107
108
  | Multi-context TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.connect_multi_context` |
108
109
  | Realtime ASR | `await client.speech_to_text.realtime.connect(...)` on either speech client |
109
110
  | Speech discovery | Speech clients: models, voices, voice settings, ASR languages |
110
- | Workspaces, members, invitations, endpoints | `Control` / `AsyncControl` |
111
+ | Workspaces, members, invitations | `Control` / `AsyncControl` |
111
112
  | Combined inference and management | `Avartha` / `AsyncAvartha` |
112
113
 
113
114
  Managed inference uses WebSockets; Chat Completions, Responses, HTTP TTS,
@@ -8,7 +8,6 @@ docs/compatibility.md
8
8
  docs/migration.md
9
9
  docs/platform.md
10
10
  docs/pypi.md
11
- examples/endpoints.py
12
11
  examples/realtime.py
13
12
  examples/realtime_asr.py
14
13
  examples/tts.py
@@ -1,39 +0,0 @@
1
- """Provision a dedicated endpoint. This requests GPU capacity and may incur costs.
2
-
3
- Set AVARTHA_API_KEY and optionally AVARTHA_BASE_URL.
4
- Run: python examples/endpoints.py WORKSPACE_ID MODEL_SLUG NAME sku.json
5
- The SKU JSON contains provider, cpu (cores, memory_gb), and gpu (kind, count).
6
- Use client.control.catalog.skus(provider=...) for provider-specific options.
7
- The endpoint remains running after this example exits.
8
- """
9
-
10
- import argparse
11
- import json
12
- from pathlib import Path
13
-
14
- from avartha import Avartha
15
-
16
-
17
- def main():
18
- parser = argparse.ArgumentParser(description=__doc__)
19
- parser.add_argument("workspace")
20
- parser.add_argument("model")
21
- parser.add_argument("name")
22
- parser.add_argument("sku_file", type=Path)
23
- args = parser.parse_args()
24
- with Avartha() as client:
25
- endpoints = client.control.endpoints
26
- endpoint = endpoints.create(
27
- workspace_id=args.workspace,
28
- model_slug=args.model,
29
- name=args.name,
30
- sku=json.loads(args.sku_file.read_text()),
31
- )
32
- print("Created:", endpoint["id"])
33
- ready = endpoints.wait_until_ready(endpoint["id"], timeout=600)
34
- print("Ready:", ready)
35
- print("To stop: client.control.endpoints.stop(endpoint_id)")
36
-
37
-
38
- if __name__ == "__main__":
39
- main()