avartha-python-sdk 0.0.2__tar.gz → 0.0.4__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.
- avartha_python_sdk-0.0.4/MANIFEST.in +9 -0
- avartha_python_sdk-0.0.4/PKG-INFO +140 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/README.md +105 -92
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/THIRD_PARTY_NOTICES +9 -9
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/docs/compatibility.md +67 -156
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/docs/migration.md +105 -71
- avartha_python_sdk-0.0.4/docs/platform.md +161 -0
- avartha_python_sdk-0.0.4/docs/pypi.md +109 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/examples/tts.py +1 -1
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/pyproject.toml +7 -9
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/setup.py +1 -4
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/__init__.py +2 -1
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_exceptions.py +5 -1
- avartha_python_sdk-0.0.4/src/avartha/_http_errors.py +16 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_tts.py +17 -26
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_speech_config.py +2 -17
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_speech_http.py +29 -26
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/client.py +2 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/control.py +251 -23
- avartha_python_sdk-0.0.4/src/avartha_python_sdk.egg-info/PKG-INFO +140 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/SOURCES.txt +3 -75
- avartha_python_sdk-0.0.2/.github/CODEOWNERS +0 -5
- avartha_python_sdk-0.0.2/.github/workflows/ci.yml +0 -102
- avartha_python_sdk-0.0.2/.github/workflows/preview-behavior.yml +0 -80
- avartha_python_sdk-0.0.2/.github/workflows/publish.yml +0 -73
- avartha_python_sdk-0.0.2/.gitignore +0 -13
- avartha_python_sdk-0.0.2/AGENTS.md +0 -16
- avartha_python_sdk-0.0.2/CONTRIBUTING.md +0 -62
- avartha_python_sdk-0.0.2/MANIFEST.in +0 -10
- avartha_python_sdk-0.0.2/Makefile +0 -30
- avartha_python_sdk-0.0.2/PKG-INFO +0 -426
- avartha_python_sdk-0.0.2/docs/audit/category-c-validation.md +0 -71
- avartha_python_sdk-0.0.2/docs/audit/findings.csv +0 -59
- avartha_python_sdk-0.0.2/docs/audit/findings.json +0 -1246
- avartha_python_sdk-0.0.2/docs/audit/fuzz-coverage.csv +0 -6751
- avartha_python_sdk-0.0.2/docs/audit/http-coverage.csv +0 -22
- avartha_python_sdk-0.0.2/docs/audit/http-results.json +0 -350
- avartha_python_sdk-0.0.2/docs/audit/invariants.json +0 -322
- avartha_python_sdk-0.0.2/docs/audit/inventory.csv +0 -350
- avartha_python_sdk-0.0.2/docs/audit/inventory.json +0 -3152
- avartha_python_sdk-0.0.2/docs/audit/live-coverage.csv +0 -220
- avartha_python_sdk-0.0.2/docs/audit/live-results.json +0 -36886
- avartha_python_sdk-0.0.2/docs/audit/report.md +0 -317
- avartha_python_sdk-0.0.2/docs/audit/source-fuzz-results.json +0 -6917
- avartha_python_sdk-0.0.2/docs/audit/source-manifest.json +0 -387
- avartha_python_sdk-0.0.2/docs/audit/state-fuzz-results.json +0 -80072
- avartha_python_sdk-0.0.2/docs/audit/summary.json +0 -19
- avartha_python_sdk-0.0.2/docs/audit/surface-matrix.csv +0 -38
- avartha_python_sdk-0.0.2/docs/audit/wire-schema-results.json +0 -56
- avartha_python_sdk-0.0.2/docs/github-policies.md +0 -26
- avartha_python_sdk-0.0.2/docs/platform.md +0 -79
- avartha_python_sdk-0.0.2/docs/preview-results.json +0 -123
- avartha_python_sdk-0.0.2/docs/preview-testing.md +0 -195
- avartha_python_sdk-0.0.2/docs/tts-reception-validation.md +0 -78
- avartha_python_sdk-0.0.2/docs/websocket-behavior.md +0 -133
- avartha_python_sdk-0.0.2/docs/websocket-fuzz.md +0 -105
- avartha_python_sdk-0.0.2/scripts/audit/catalog.py +0 -218
- avartha_python_sdk-0.0.2/scripts/audit/fetch_sources.py +0 -47
- avartha_python_sdk-0.0.2/scripts/audit/http_probe.py +0 -102
- avartha_python_sdk-0.0.2/scripts/audit/invariants.py +0 -121
- avartha_python_sdk-0.0.2/scripts/audit/probe.py +0 -1667
- avartha_python_sdk-0.0.2/scripts/audit/report.py +0 -312
- avartha_python_sdk-0.0.2/scripts/audit/source_fuzz.py +0 -391
- avartha_python_sdk-0.0.2/scripts/audit/state_fuzz.py +0 -39
- avartha_python_sdk-0.0.2/scripts/audit/state_model.py +0 -266
- avartha_python_sdk-0.0.2/scripts/freeze_realtime_types.py +0 -157
- avartha_python_sdk-0.0.2/scripts/preview_behavior.py +0 -1244
- avartha_python_sdk-0.0.2/scripts/preview_smoke.py +0 -375
- avartha_python_sdk-0.0.2/src/avartha/_version.py +0 -24
- avartha_python_sdk-0.0.2/src/avartha_python_sdk.egg-info/PKG-INFO +0 -426
- avartha_python_sdk-0.0.2/tests/conftest.py +0 -10
- avartha_python_sdk-0.0.2/tests/fixtures/elevenlabs-2.68.0.json +0 -1542
- avartha_python_sdk-0.0.2/tests/fixtures/openai/realtime.json +0 -2791
- avartha_python_sdk-0.0.2/tests/fixtures/openai-models-3.13.0.json +0 -325
- avartha_python_sdk-0.0.2/tests/fixtures/preview/constraints.txt +0 -4
- avartha_python_sdk-0.0.2/tests/fixtures/preview/contract.json +0 -205
- avartha_python_sdk-0.0.2/tests/fixtures/speech-contract.md +0 -40
- avartha_python_sdk-0.0.2/tests/fixtures/speech-http-2.68.0.json +0 -1081
- avartha_python_sdk-0.0.2/tests/test_clients.py +0 -124
- avartha_python_sdk-0.0.2/tests/test_control.py +0 -243
- avartha_python_sdk-0.0.2/tests/test_fence.py +0 -136
- avartha_python_sdk-0.0.2/tests/test_openai_client.py +0 -263
- avartha_python_sdk-0.0.2/tests/test_openai_http.py +0 -427
- avartha_python_sdk-0.0.2/tests/test_owned_asr.py +0 -353
- avartha_python_sdk-0.0.2/tests/test_owned_contract.py +0 -197
- avartha_python_sdk-0.0.2/tests/test_pacing.py +0 -42
- avartha_python_sdk-0.0.2/tests/test_platform_e2e.py +0 -169
- avartha_python_sdk-0.0.2/tests/test_preview_behavior_runner.py +0 -325
- avartha_python_sdk-0.0.2/tests/test_preview_fuzz.py +0 -183
- avartha_python_sdk-0.0.2/tests/test_realtime_lifecycle.py +0 -307
- avartha_python_sdk-0.0.2/tests/test_realtime_model_discovery.py +0 -253
- avartha_python_sdk-0.0.2/tests/test_speech_contract.py +0 -177
- avartha_python_sdk-0.0.2/tests/test_speech_http.py +0 -420
- avartha_python_sdk-0.0.2/tests/test_tts_context_errors.py +0 -188
- avartha_python_sdk-0.0.2/tests/test_tts_iteration.py +0 -199
- avartha_python_sdk-0.0.2/tests/test_tts_reception.py +0 -322
- avartha_python_sdk-0.0.2/tests/test_tts_send_cancellation.py +0 -431
- avartha_python_sdk-0.0.2/tests/test_websocket_urls.py +0 -152
- avartha_python_sdk-0.0.2/tests/test_websockets.py +0 -672
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/LICENSE +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/examples/endpoints.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/examples/realtime.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/examples/realtime_asr.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/examples/tts_multi_context.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/setup.cfg +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_models.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_openai_http.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_openai_http_errors.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_pacing.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_asr.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_openai.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_resources.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_sentinels.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_speech_resources.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_unsupported.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_websocket.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/_ws_state.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/conversational_ai/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/elevenlabs.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/errors.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/openai.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/pagination.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/py.typed +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/realtime/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/realtime/speech.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/resources/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/resources/models.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/resources/realtime/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/resources/realtime/realtime.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/audio/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/audio/transcription_language.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/audio_transcription.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/audio_transcription_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_added.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_create_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_create_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_delete_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_delete_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_deleted_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_done.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_completed_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_failed_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_segment.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_retrieve_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_retrieve_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_truncate_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_truncate_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_truncated_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_append_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_append_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_clear_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_clear_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_cleared_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_commit_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_commit_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_committed_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_dtmf_event_received_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_speech_started_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_speech_stopped_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_timeout_triggered.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/log_prob_properties.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/mcp_list_tools_completed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/mcp_list_tools_failed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/mcp_list_tools_in_progress.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/noise_reduction_type.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/output_audio_buffer_clear_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/output_audio_buffer_clear_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/rate_limits_updated_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_input.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_input_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_output.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_output_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_formats.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_formats_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_input_turn_detection.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_input_turn_detection_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_client_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_client_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_assistant_message.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_assistant_message_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call_output.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call_output_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_system_message.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_system_message_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_user_message.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_user_message_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_error_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_function_tool.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_function_tool_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_request.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_request_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_response_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_list_tools.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_list_tools_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_protocol_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_protocol_error_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_call.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_call_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_execution_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_execution_error_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcphttp_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcphttp_error_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_reasoning.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_reasoning_effort.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_reasoning_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_audio_output.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_audio_output_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_mcp_tool.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_mcp_tool_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_params.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_params_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_usage.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_usage_input_token_details.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_usage_output_token_details.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_server_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_session_create_request.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_session_create_request_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tool_choice_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tool_choice_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tools_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tools_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tools_config_union.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tracing_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tracing_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_create_request.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_create_request_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation_retention_ratio.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation_retention_ratio_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_transcript_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_transcript_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_cancel_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_cancel_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_content_part_added_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_content_part_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_create_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_create_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_function_call_arguments_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_function_call_arguments_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_arguments_delta.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_arguments_done.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_completed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_failed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_in_progress.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_output_item_added_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_output_item_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_text_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_text_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_update_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_update_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_updated_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/image_detail.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_file.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_file_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_image.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_image_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_text.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_text_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_prompt.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_prompt_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_function.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_function_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_mcp.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_mcp_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_options.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/shared/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/shared/metadata.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/shared_params/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/shared_params/metadata.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/alignment.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/audio_output_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/close_context.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/close_socket.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/final_output_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/fine_tuning_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/fine_tuning_response_state_value.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/flush_context.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/generation_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/get_voices_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/get_voices_v_2_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/initialize_connection_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/language_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/manual_verification_file_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/manual_verification_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/model_rates_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/normalized_alignment.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/output_format.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/pronunciation_dictionary_locator.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/reader_resource_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/reader_resource_response_model_resource_type.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/realtime_voice_settings.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/recording_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/review_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/send_text_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/speaker_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/speaker_separation_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/speaker_separation_response_model_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/utterance_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/verification_attempt_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/verified_voice_language_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_category.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_labelling_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_recording_quality.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_safety_control.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sample.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_settings.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_moderation_check_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_response_category.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_state.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_verification_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/speech_language.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/websocket_connection_options.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha/types/websocket_reconnection.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/dependency_links.txt +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/requires.txt +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Start from an allowlist, including when setuptools discovers tracked files.
|
|
2
|
+
global-exclude *
|
|
3
|
+
include LICENSE THIRD_PARTY_NOTICES README.md pyproject.toml setup.py MANIFEST.in
|
|
4
|
+
recursive-include src/avartha *.py py.typed
|
|
5
|
+
exclude src/avartha/_version.py
|
|
6
|
+
recursive-include src/avartha_python_sdk.egg-info PKG-INFO SOURCES.txt dependency_links.txt requires.txt top_level.txt
|
|
7
|
+
include docs/pypi.md docs/compatibility.md docs/migration.md docs/platform.md
|
|
8
|
+
include examples/realtime.py examples/tts.py examples/tts_multi_context.py
|
|
9
|
+
include examples/realtime_asr.py examples/endpoints.py
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: avartha-python-sdk
|
|
3
|
+
Version: 0.0.4
|
|
4
|
+
Summary: Python clients for Avartha Realtime text, streaming speech, and platform management
|
|
5
|
+
Author-email: "Avartha Inc." <team@avartha.ai>
|
|
6
|
+
License-Expression: LicenseRef-Avartha-Proprietary
|
|
7
|
+
Classifier: Development Status :: 3 - Alpha
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
14
|
+
Classifier: Typing :: Typed
|
|
15
|
+
Requires-Python: >=3.12
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
License-File: THIRD_PARTY_NOTICES
|
|
19
|
+
Requires-Dist: httpx<0.29,>=0.28.1
|
|
20
|
+
Requires-Dist: websockets<16,>=15.0.1
|
|
21
|
+
Requires-Dist: pydantic<3,>=2.11
|
|
22
|
+
Requires-Dist: typing-extensions<5,>=4.12
|
|
23
|
+
Provides-Extra: dev
|
|
24
|
+
Requires-Dist: pytest<10,>=8; extra == "dev"
|
|
25
|
+
Requires-Dist: pytest-asyncio<2,>=1; extra == "dev"
|
|
26
|
+
Requires-Dist: ruff<0.17,>=0.16; extra == "dev"
|
|
27
|
+
Requires-Dist: mypy<3,>=2.3; extra == "dev"
|
|
28
|
+
Requires-Dist: build<2,>=1; extra == "dev"
|
|
29
|
+
Requires-Dist: setuptools-scm<9,>=8; extra == "dev"
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
|
|
32
|
+
# Avartha Python SDK
|
|
33
|
+
|
|
34
|
+
Synchronous and asynchronous Python clients for Avartha Realtime text,
|
|
35
|
+
streaming speech, and platform management. Requires Python 3.12+.
|
|
36
|
+
|
|
37
|
+
## Install
|
|
38
|
+
|
|
39
|
+
```sh
|
|
40
|
+
python -m pip install avartha-python-sdk
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Configure your Avartha API key and platform root:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
export AVARTHA_API_KEY='avk_...'
|
|
47
|
+
export AVARTHA_BASE_URL='https://platform.preview.avartha.ai'
|
|
48
|
+
```
|
|
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.
|
|
53
|
+
|
|
54
|
+
## Discover models
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from avartha import OpenAI
|
|
58
|
+
|
|
59
|
+
with OpenAI() as client:
|
|
60
|
+
for model in client.models.list():
|
|
61
|
+
print(model.id, model.to_dict().get("protocols", []))
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Choose a model supporting `openai_realtime` for text, `elevenlabs_tts` for
|
|
65
|
+
speech synthesis, or `elevenlabs_asr` for speech recognition.
|
|
66
|
+
|
|
67
|
+
## Generate text
|
|
68
|
+
|
|
69
|
+
Replace `your-avartha-model` with a Realtime text model returned by discovery:
|
|
70
|
+
|
|
71
|
+
```python
|
|
72
|
+
from avartha import OpenAI
|
|
73
|
+
|
|
74
|
+
with OpenAI() as client:
|
|
75
|
+
with client.realtime.connect(model="your-avartha-model") as connection:
|
|
76
|
+
connection.session.update(session={"type": "realtime", "output_modalities": ["text"]})
|
|
77
|
+
connection.conversation.item.create(
|
|
78
|
+
item={
|
|
79
|
+
"type": "message",
|
|
80
|
+
"role": "user",
|
|
81
|
+
"content": [{"type": "input_text", "text": "Explain Python dictionaries."}],
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
connection.response.create()
|
|
85
|
+
for event in connection:
|
|
86
|
+
if event.type == "response.output_text.delta":
|
|
87
|
+
print(event.delta, end="", flush=True)
|
|
88
|
+
elif event.type == "response.done":
|
|
89
|
+
if event.response.status != "completed":
|
|
90
|
+
raise RuntimeError(f"Response ended with status: {event.response.status}")
|
|
91
|
+
break
|
|
92
|
+
elif event.type == "error":
|
|
93
|
+
raise RuntimeError(event.error.message)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
For asynchronous text generation, use `AsyncOpenAI`, `async with`, `await`,
|
|
97
|
+
and `async for`. Close clients and active WebSocket sessions when finished.
|
|
98
|
+
Inference consumes credits.
|
|
99
|
+
|
|
100
|
+
## Supported workflows
|
|
101
|
+
|
|
102
|
+
| Workflow | Client and interface |
|
|
103
|
+
| --- | --- |
|
|
104
|
+
| Realtime text | `OpenAI` / `AsyncOpenAI`: `realtime.connect` |
|
|
105
|
+
| Model discovery | `OpenAI` / `AsyncOpenAI`: `models.list`, `models.retrieve` |
|
|
106
|
+
| Streaming TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.convert_realtime` |
|
|
107
|
+
| Multi-context TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.connect_multi_context` |
|
|
108
|
+
| Realtime ASR | `await client.speech_to_text.realtime.connect(...)` on either speech client |
|
|
109
|
+
| Speech discovery | Speech clients: models, voices, voice settings, ASR languages |
|
|
110
|
+
| Workspaces, members, invitations, endpoints | `Control` / `AsyncControl` |
|
|
111
|
+
| Combined inference and management | `Avartha` / `AsyncAvartha` |
|
|
112
|
+
|
|
113
|
+
Managed inference uses WebSockets; Chat Completions, Responses, HTTP TTS,
|
|
114
|
+
and file transcription are unavailable. Agent management and conversation
|
|
115
|
+
sessions are planned; accessing `conversational_ai` currently raises
|
|
116
|
+
`NotImplementedError`.
|
|
117
|
+
|
|
118
|
+
## Migrating and handling errors
|
|
119
|
+
|
|
120
|
+
Import clients, types, and exceptions from `avartha`. Neither the OpenAI nor
|
|
121
|
+
ElevenLabs SDK needs to be installed. The supported interfaces are compatible
|
|
122
|
+
with OpenAI Python 3.13.0 and ElevenLabs Python 2.68.0. Model and voice IDs are
|
|
123
|
+
specific to the selected Avartha environment.
|
|
124
|
+
|
|
125
|
+
OpenAI-compatible HTTP discovery uses `avartha.APIStatusError` and
|
|
126
|
+
`avartha.APIConnectionError`. Speech HTTP errors use `avartha.ApiError`.
|
|
127
|
+
Management HTTP status errors use `avartha.PlatformAPIError`. Speech and
|
|
128
|
+
management HTTP network failures also raise `avartha.ApiError`, with no status
|
|
129
|
+
or headers and the original exception in `__cause__`.
|
|
130
|
+
|
|
131
|
+
Handle Realtime server error events in the receive loop. HTTP timeout and
|
|
132
|
+
retry settings do not configure WebSocket connections. Management writes are
|
|
133
|
+
never retried automatically.
|
|
134
|
+
|
|
135
|
+
## Complete guides and examples
|
|
136
|
+
|
|
137
|
+
The [source archive on PyPI](https://pypi.org/project/avartha-python-sdk/#files)
|
|
138
|
+
includes `README.md`, customer guides in `docs/`, and runnable examples in
|
|
139
|
+
`examples/`. Download and unpack the archive to read the migration, compatibility,
|
|
140
|
+
and platform-management guides and run the text, speech, and endpoint examples.
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
Synchronous and asynchronous Python clients for Avartha Realtime LLMs,
|
|
6
6
|
streaming speech, and platform management. Requires Python 3.12+.
|
|
7
7
|
|
|
8
|
-
**
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
**Familiar Python interfaces for OpenAI Realtime and ElevenLabs speech.** Change
|
|
9
|
+
client, type, and exception imports, then configure Avartha credentials, URLs,
|
|
10
|
+
and model/voice IDs. The supported APIs use the same method names and event loops:
|
|
11
11
|
|
|
12
12
|
```diff
|
|
13
13
|
-from openai import OpenAI, AsyncOpenAI
|
|
@@ -19,20 +19,17 @@ the upstream resource methods, request types, response objects, and event loops:
|
|
|
19
19
|
+from avartha import ElevenLabs, AsyncElevenLabs
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Chat Completions, Responses, and HTTP speech
|
|
25
|
-
below for
|
|
26
|
-
[Migration details](docs/migration.md) · [Protocol audit and triage](docs/audit/report.md) · [Initial live test results](docs/preview-testing.md)
|
|
22
|
+
Neither vendor SDK needs to be installed. Avartha supports Realtime text,
|
|
23
|
+
streaming speech, HTTP discovery, and platform management. Managed inference is
|
|
24
|
+
**WebSocket-only**; Chat Completions, Responses, and HTTP speech inference are
|
|
25
|
+
unavailable. See the guides below for supported features and migration steps.
|
|
27
26
|
|
|
28
27
|
## Documentation
|
|
29
28
|
|
|
30
|
-
- [
|
|
29
|
+
- [Migrating from OpenAI and ElevenLabs](docs/migration.md)
|
|
31
30
|
- [Compatibility and endpoint coverage](docs/compatibility.md)
|
|
32
|
-
- [Protocol audit: defaults, message sequences, errors, and triage](docs/audit/report.md)
|
|
33
31
|
- [Platform management](docs/platform.md)
|
|
34
32
|
- [Runnable examples](examples)
|
|
35
|
-
- [Contributing](CONTRIBUTING.md)
|
|
36
33
|
|
|
37
34
|
## Installation
|
|
38
35
|
|
|
@@ -78,6 +75,8 @@ with OpenAI() as client:
|
|
|
78
75
|
if event.type == "response.output_text.delta":
|
|
79
76
|
print(event.delta, end="", flush=True)
|
|
80
77
|
elif event.type == "response.done":
|
|
78
|
+
if event.response.status != "completed":
|
|
79
|
+
raise RuntimeError(f"Response ended with status: {event.response.status}")
|
|
81
80
|
break
|
|
82
81
|
elif event.type == "error":
|
|
83
82
|
raise RuntimeError(event.error.message)
|
|
@@ -96,14 +95,14 @@ with OpenAI() as client:
|
|
|
96
95
|
print(model.id, model.to_dict().get("protocols", []))
|
|
97
96
|
```
|
|
98
97
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
Model availability depends on your workspace, environment, and tier. Replace
|
|
99
|
+
the example IDs with models returned for your key and the protocol you need:
|
|
100
|
+
`openai_realtime`, `elevenlabs_tts`, or `elevenlabs_asr`.
|
|
102
101
|
|
|
103
102
|
## Async usage
|
|
104
103
|
|
|
105
|
-
Use `AsyncOpenAI`, await operations, and iterate with `async for`.
|
|
106
|
-
parameters and
|
|
104
|
+
Use `AsyncOpenAI`, await operations, and iterate with `async for`. The sync and
|
|
105
|
+
async clients accept the same request parameters and return the same event types.
|
|
107
106
|
|
|
108
107
|
```python
|
|
109
108
|
import asyncio
|
|
@@ -128,6 +127,8 @@ async def main():
|
|
|
128
127
|
if event.type == "response.output_text.delta":
|
|
129
128
|
print(event.delta, end="", flush=True)
|
|
130
129
|
elif event.type == "response.done":
|
|
130
|
+
if event.response.status != "completed":
|
|
131
|
+
raise RuntimeError(f"Response ended with status: {event.response.status}")
|
|
131
132
|
break
|
|
132
133
|
elif event.type == "error":
|
|
133
134
|
raise RuntimeError(event.error.message)
|
|
@@ -141,11 +142,11 @@ asyncio.run(main())
|
|
|
141
142
|
## Streaming speech
|
|
142
143
|
|
|
143
144
|
`ElevenLabs()` defaults to the same Avartha platform root and serverless tier.
|
|
144
|
-
|
|
145
|
+
It provides ElevenLabs-compatible realtime speech and discovery APIs.
|
|
145
146
|
|
|
146
147
|
### Text to speech
|
|
147
148
|
|
|
148
|
-
Discover voices for the selected TTS model using
|
|
149
|
+
Discover voices for the selected TTS model using `request_options`:
|
|
149
150
|
|
|
150
151
|
```python
|
|
151
152
|
from avartha import ElevenLabs
|
|
@@ -183,11 +184,19 @@ with ElevenLabs() as client:
|
|
|
183
184
|
output.writeframes(chunk)
|
|
184
185
|
```
|
|
185
186
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
The default output format is `pcm_24000`. Use `AsyncElevenLabs` and `async for`
|
|
188
|
+
for async TTS; the async client's `text` accepts either a regular iterable or
|
|
189
|
+
an async iterable. Run the
|
|
189
190
|
[TTS example](examples/tts.py) with `--async` to use that client.
|
|
190
191
|
|
|
192
|
+
Text fragments are forwarded as supplied, without waiting for word or sentence
|
|
193
|
+
boundaries or adding spaces. Include any intended whitespace in your text.
|
|
194
|
+
The Avartha Platform handles buffering and segmentation. Available audio continues
|
|
195
|
+
to arrive while the text producer is paused; when synthesis starts depends on the model.
|
|
196
|
+
|
|
197
|
+
The SDK's single-context and multi-context TTS helpers always use
|
|
198
|
+
`auto_mode=true`. `auto_mode=False` and `default_mode` are not supported.
|
|
199
|
+
|
|
191
200
|
For multiple utterances on one connection, use `connect_multi_context` on
|
|
192
201
|
either client. A background consumer can iterate over the session before contexts
|
|
193
202
|
are created and between turns; messages are keyed by `message.context_id`.
|
|
@@ -196,8 +205,8 @@ Session iteration waits until the connection closes via `close_socket()` or when
|
|
|
196
205
|
its `with` or `async with` block exits. See the [multi-context example](examples/tts_multi_context.py)
|
|
197
206
|
and [TTS lifecycle details](docs/compatibility.md#realtime-tts).
|
|
198
207
|
|
|
199
|
-
HTTP `text_to_speech.stream` and `.convert`
|
|
200
|
-
|
|
208
|
+
HTTP `text_to_speech.stream` and `.convert` are not provided by this SDK;
|
|
209
|
+
managed inference uses the realtime methods above.
|
|
201
210
|
|
|
202
211
|
### Speech to text
|
|
203
212
|
|
|
@@ -211,22 +220,23 @@ python examples/realtime_asr.py mistralai/voxtral-mini-4b-realtime-2602 speech-1
|
|
|
211
220
|
```
|
|
212
221
|
|
|
213
222
|
`previous_text` is optional text context for transcription. When omitted from
|
|
214
|
-
`connection.send` data,
|
|
215
|
-
|
|
216
|
-
with no empty-string workaround needed.
|
|
223
|
+
`connection.send` data, Avartha sends `null`, meaning no context. You can omit
|
|
224
|
+
this field when streaming audio without prior text.
|
|
217
225
|
|
|
218
226
|
File-based HTTP `speech_to_text.convert` is retired on managed inference.
|
|
219
227
|
|
|
220
228
|
## Agents
|
|
221
229
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
230
|
+
Agent management, tools, knowledge bases, and conversation sessions/history are
|
|
231
|
+
currently unavailable. Accessing `client.conversational_ai` raises
|
|
232
|
+
`NotImplementedError`.
|
|
233
|
+
|
|
234
|
+
ElevenLabs-compatible `conversational_ai` support is planned for an upcoming
|
|
235
|
+
release, including agent creation, tools, knowledge-base documents, and
|
|
236
|
+
conversations.
|
|
227
237
|
|
|
228
|
-
|
|
229
|
-
|
|
238
|
+
The following example previews the planned API. It requires that future SDK
|
|
239
|
+
release and a service implementing the corresponding agent endpoints:
|
|
230
240
|
|
|
231
241
|
```python
|
|
232
242
|
from avartha import ElevenLabs
|
|
@@ -245,46 +255,56 @@ with ElevenLabs(base_url="https://your-compatible-agent-service") as client:
|
|
|
245
255
|
print(agent.agent_id)
|
|
246
256
|
```
|
|
247
257
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
**sync** ElevenLabs client, matching upstream. Agent session execution has local
|
|
251
|
-
contract coverage; it was not exercised against a published preview agent.
|
|
252
|
-
|
|
253
|
-
- [Agent, tool, and knowledge-base example](examples/agents.py)
|
|
254
|
-
- [Conversation with client tools](examples/conversation.py)
|
|
258
|
+
The planned `avartha.conversational_ai` namespace will also include
|
|
259
|
+
`Conversation`, `AsyncConversation`, and `ClientTools`.
|
|
255
260
|
|
|
256
261
|
## Using types
|
|
257
262
|
|
|
258
|
-
|
|
259
|
-
|
|
263
|
+
Import types and exceptions from Avartha. The SDK provides its own classes for
|
|
264
|
+
the supported APIs, preserving upstream fields and serialization methods.
|
|
265
|
+
Neither `openai` nor `elevenlabs` needs to be installed:
|
|
260
266
|
|
|
261
267
|
```python
|
|
262
268
|
from avartha import OpenAI
|
|
263
|
-
from
|
|
269
|
+
from avartha.types import Model
|
|
264
270
|
|
|
265
271
|
with OpenAI() as client:
|
|
266
272
|
models: list[Model] = client.models.list().data
|
|
267
273
|
print([model.to_dict() for model in models])
|
|
268
274
|
```
|
|
269
275
|
|
|
270
|
-
Use `
|
|
271
|
-
`avartha.types`
|
|
272
|
-
|
|
276
|
+
Use `avartha.types.realtime` for OpenAI-compatible Realtime events and
|
|
277
|
+
`avartha.types.speech` for ElevenLabs-compatible speech types. These namespaces
|
|
278
|
+
cover the APIs supported by Avartha. Platform management responses are JSON
|
|
279
|
+
dictionaries and lists.
|
|
280
|
+
|
|
281
|
+
ElevenLabs-compatible transcription options are also available from the root:
|
|
282
|
+
|
|
283
|
+
```python
|
|
284
|
+
from avartha import AudioFormat, CommitStrategy, RealtimeAudioOptions
|
|
285
|
+
|
|
286
|
+
options = RealtimeAudioOptions(
|
|
287
|
+
model_id="your-avartha-asr-model",
|
|
288
|
+
audio_format=AudioFormat.PCM_16000,
|
|
289
|
+
sample_rate=16000,
|
|
290
|
+
commit_strategy=CommitStrategy.VAD,
|
|
291
|
+
)
|
|
292
|
+
```
|
|
273
293
|
|
|
274
294
|
## Handling errors
|
|
275
295
|
|
|
276
|
-
|
|
296
|
+
Import exception classes from Avartha too; upstream exception classes will not
|
|
297
|
+
catch Avartha's exceptions. For HTTP discovery:
|
|
277
298
|
|
|
278
299
|
```python
|
|
279
|
-
import
|
|
280
|
-
from avartha import OpenAI
|
|
300
|
+
from avartha import APIConnectionError, APIStatusError, OpenAI
|
|
281
301
|
|
|
282
302
|
with OpenAI() as client:
|
|
283
303
|
try:
|
|
284
304
|
client.models.list()
|
|
285
|
-
except
|
|
305
|
+
except APIConnectionError as error:
|
|
286
306
|
print("Connection failed:", error)
|
|
287
|
-
except
|
|
307
|
+
except APIStatusError as error:
|
|
288
308
|
print("Request failed:", error.status_code, error.request_id)
|
|
289
309
|
```
|
|
290
310
|
|
|
@@ -293,17 +313,21 @@ receive loop. Inspect `response.done.response.status` for completion, failure,
|
|
|
293
313
|
or cancellation; a terminal event alone does not prove successful inference.
|
|
294
314
|
Connection failures can raise WebSocket exceptions.
|
|
295
315
|
|
|
296
|
-
ElevenLabs HTTP/TTS helper errors
|
|
297
|
-
|
|
298
|
-
|
|
316
|
+
ElevenLabs-compatible HTTP/TTS helper errors, including speech HTTP network
|
|
317
|
+
failures and timeouts, use `avartha.ApiError`.
|
|
318
|
+
ASR also emits `RealtimeEvents.ERROR`.
|
|
299
319
|
|
|
300
320
|
Management failures use `avartha.PlatformAPIError`, retaining the HTTP status,
|
|
301
321
|
response body, field errors, request ID, and `Retry-After` header. Management
|
|
302
|
-
network failures
|
|
322
|
+
network failures and timeouts use `avartha.ApiError`.
|
|
323
|
+
|
|
324
|
+
For speech and management HTTP request failures without a server response,
|
|
325
|
+
`ApiError.status_code` and `ApiError.headers` are `None`, and `ApiError.body`
|
|
326
|
+
describes the failure. The original exception is available as `error.__cause__`.
|
|
303
327
|
|
|
304
328
|
## Retries and timeouts
|
|
305
329
|
|
|
306
|
-
|
|
330
|
+
Set timeouts and retries for OpenAI-compatible HTTP discovery on the client:
|
|
307
331
|
|
|
308
332
|
```python
|
|
309
333
|
from avartha import OpenAI
|
|
@@ -312,20 +336,20 @@ with OpenAI(timeout=30.0, max_retries=0) as client:
|
|
|
312
336
|
print(client.models.list())
|
|
313
337
|
```
|
|
314
338
|
|
|
315
|
-
HTTP and WebSocket retry settings are separate. The
|
|
339
|
+
HTTP and WebSocket retry settings are separate. The OpenAI-compatible clients accept
|
|
316
340
|
`client.realtime.connect(..., max_retries=0)` to disable automatic reconnection,
|
|
317
341
|
and `websocket_connection_options` for transport settings. Use `asyncio.timeout`
|
|
318
342
|
when an async operation needs an overall deadline. Close active sessions when
|
|
319
|
-
cancelling. ElevenLabs `timeout`
|
|
320
|
-
|
|
321
|
-
|
|
343
|
+
cancelling. ElevenLabs `timeout` configures HTTP calls; it does not set a
|
|
344
|
+
WebSocket receive deadline. Platform management writes are never retried
|
|
345
|
+
automatically. See [timeouts and cleanup](docs/migration.md#timeouts-retries-and-closing-clients).
|
|
322
346
|
|
|
323
347
|
## Configuration
|
|
324
348
|
|
|
325
349
|
| Client | Meaning of explicit `base_url` |
|
|
326
350
|
| --- | --- |
|
|
327
351
|
| `OpenAI`, `AsyncOpenAI` | Full inference base: `https://platform.preview.avartha.ai/inference/serverless/openai/v1` |
|
|
328
|
-
| `ElevenLabs`, `AsyncElevenLabs` |
|
|
352
|
+
| `ElevenLabs`, `AsyncElevenLabs` | Speech service root before `/v1`: `https://platform.preview.avartha.ai/inference/serverless/elevenlabs` |
|
|
329
353
|
| `Avartha`, `AsyncAvartha`, `Control`, `AsyncControl` | Platform root: `https://platform.preview.avartha.ai` |
|
|
330
354
|
|
|
331
355
|
Without an explicit URL, protocol clients derive their URL from
|
|
@@ -336,13 +360,12 @@ precedence over `tier`. `AVARTHA_ELEVENLABS_BASE_URL` overrides the derived spee
|
|
|
336
360
|
root, and an explicit ElevenLabs `base_url` overrides that environment variable.
|
|
337
361
|
|
|
338
362
|
Keys are read at construction from `AVARTHA_API_KEY` or `api_key`.
|
|
339
|
-
Vendor default keys and base URL variables are not substituted.
|
|
340
|
-
upstream transports and type imports where needed; OpenAI 3 uses HTTPX2.
|
|
363
|
+
Vendor default keys and base URL variables are not substituted.
|
|
341
364
|
[Migration configuration](docs/migration.md#configuration).
|
|
342
365
|
|
|
343
|
-
Always close clients or use context managers. OpenAI
|
|
344
|
-
|
|
345
|
-
created. Close active WebSocket sessions separately.
|
|
366
|
+
Always close clients or use context managers. OpenAI manages and closes its HTTP
|
|
367
|
+
client; custom `http_client` arguments are unsupported. ElevenLabs and Control
|
|
368
|
+
close only HTTP clients they created. Close active WebSocket sessions separately.
|
|
346
369
|
|
|
347
370
|
## Platform management
|
|
348
371
|
|
|
@@ -360,34 +383,24 @@ with Avartha() as client:
|
|
|
360
383
|
```
|
|
361
384
|
|
|
362
385
|
`client.openai` and `client.elevenlabs` are the protocol clients;
|
|
363
|
-
`client.realtime`
|
|
364
|
-
|
|
386
|
+
`client.realtime` and `client.models` are shortcuts to the corresponding OpenAI
|
|
387
|
+
resources, including model listing and retrieval. `AsyncAvartha`, `Control`,
|
|
388
|
+
and `AsyncControl` are available too. Workspace administration includes
|
|
389
|
+
organization creation, renaming, deletion, leaving, member roles, and invitation
|
|
390
|
+
creation, revocation, and acceptance. For example,
|
|
391
|
+
`client.control.organizations.members.list("your-workspace-id")` lists members.
|
|
392
|
+
See [workspace administration](docs/platform.md#workspace-administration) for
|
|
393
|
+
sync/async usage and server permissions.
|
|
394
|
+
|
|
395
|
+
Endpoint creation, readiness waiting,
|
|
365
396
|
scaling, routing, stopping, and deletion are described in the
|
|
366
397
|
[management guide](docs/platform.md).
|
|
367
398
|
|
|
368
|
-
## Examples
|
|
369
|
-
|
|
370
|
-
For local microphone/speaker support, install PortAudio and the `audio` extra:
|
|
371
|
-
|
|
372
|
-
```sh
|
|
373
|
-
python -m pip install 'avartha-python-sdk[audio]'
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
For development, clone the repository and run:
|
|
377
|
-
|
|
378
|
-
```sh
|
|
379
|
-
git clone https://github.com/avartha/avartha-python-sdk.git
|
|
380
|
-
cd avartha-python-sdk
|
|
381
|
-
python -m venv .venv
|
|
382
|
-
. .venv/bin/activate
|
|
383
|
-
make install-dev
|
|
384
|
-
make check
|
|
385
|
-
```
|
|
399
|
+
## Examples
|
|
386
400
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
401
|
+
Runnable examples cover [Realtime text](examples/realtime.py),
|
|
402
|
+
[TTS](examples/tts.py), [multi-context TTS](examples/tts_multi_context.py),
|
|
403
|
+
[ASR](examples/realtime_asr.py), and [endpoint management](examples/endpoints.py).
|
|
404
|
+
Microphone capture and speaker playback are handled by your application.
|
|
391
405
|
|
|
392
|
-
|
|
393
|
-
[preview testing](docs/preview-testing.md) for the runner and current results.
|
|
406
|
+
Running inference examples consumes credits.
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Third-party schema notices
|
|
2
2
|
==========================
|
|
3
3
|
|
|
4
|
-
The
|
|
5
|
-
shared, shared_params, model
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
and
|
|
12
|
-
|
|
4
|
+
The declarations in avartha.types.realtime, avartha.types.responses,
|
|
5
|
+
avartha.types.shared, avartha.types.shared_params, avartha.types.model, and
|
|
6
|
+
avartha.types.websocket_connection_options are derived from OpenAI Python
|
|
7
|
+
3.13.0. The declarations in avartha.types.speech are derived from ElevenLabs
|
|
8
|
+
Python 2.68.0.
|
|
9
|
+
|
|
10
|
+
Avartha modified these declarations by removing descriptions and legacy
|
|
11
|
+
Pydantic branches and replacing runtime imports. These notices apply to those
|
|
12
|
+
declarations; the Avartha proprietary LICENSE remains unchanged.
|
|
13
13
|
|
|
14
14
|
OpenAI Python 3.13.0
|
|
15
15
|
--------------------
|