sarvamai 0.1.23a7__tar.gz → 0.1.23a8__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 (262) hide show
  1. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/PKG-INFO +1 -1
  2. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/pyproject.toml +1 -1
  3. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/client_wrapper.py +2 -2
  4. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/doc_digitization_job/client.py +223 -17
  5. sarvamai-0.1.23a8/src/sarvamai/doc_digitization_job/job.py +496 -0
  6. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/README.md +0 -0
  7. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/__init__.py +0 -0
  8. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/chat/__init__.py +0 -0
  9. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/chat/client.py +0 -0
  10. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/chat/raw_client.py +0 -0
  11. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/client.py +0 -0
  12. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/__init__.py +0 -0
  13. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/api_error.py +0 -0
  14. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/datetime_utils.py +0 -0
  15. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/events.py +0 -0
  16. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/file.py +0 -0
  17. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/force_multipart.py +0 -0
  18. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/http_client.py +0 -0
  19. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/http_response.py +0 -0
  20. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/jsonable_encoder.py +0 -0
  21. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/pydantic_utilities.py +0 -0
  22. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/query_encoder.py +0 -0
  23. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/remove_none_from_dict.py +0 -0
  24. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/request_options.py +0 -0
  25. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/core/serialization.py +0 -0
  26. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/doc_digitization_job/__init__.py +0 -0
  27. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/doc_digitization_job/raw_client.py +0 -0
  28. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/environment.py +0 -0
  29. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/errors/__init__.py +0 -0
  30. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/errors/bad_request_error.py +0 -0
  31. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/errors/forbidden_error.py +0 -0
  32. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/errors/internal_server_error.py +0 -0
  33. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/errors/service_unavailable_error.py +0 -0
  34. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/errors/too_many_requests_error.py +0 -0
  35. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/errors/unprocessable_entity_error.py +0 -0
  36. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/play.py +0 -0
  37. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/py.typed +0 -0
  38. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/__init__.py +0 -0
  39. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/audio_data.py +0 -0
  40. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/audio_message.py +0 -0
  41. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/audio_output.py +0 -0
  42. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/audio_output_data.py +0 -0
  43. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/base_job_parameters.py +0 -0
  44. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/bulk_job_callback.py +0 -0
  45. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/bulk_job_init_response_v_1.py +0 -0
  46. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/chat_completion_request_assistant_message.py +0 -0
  47. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/chat_completion_request_message.py +0 -0
  48. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/chat_completion_request_system_message.py +0 -0
  49. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/chat_completion_request_user_message.py +0 -0
  50. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/chat_completion_response_message.py +0 -0
  51. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/choice.py +0 -0
  52. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/completion_usage.py +0 -0
  53. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/config_message.py +0 -0
  54. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/configure_connection.py +0 -0
  55. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/configure_connection_data.py +0 -0
  56. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/create_chat_completion_response.py +0 -0
  57. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/diarized_entry.py +0 -0
  58. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/diarized_transcript.py +0 -0
  59. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_create_job_response.py +0 -0
  60. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_download_files_response.py +0 -0
  61. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_error_details.py +0 -0
  62. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_error_message.py +0 -0
  63. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_job_detail.py +0 -0
  64. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_job_parameters.py +0 -0
  65. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_job_status_response.py +0 -0
  66. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_page_error.py +0 -0
  67. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_upload_files_response.py +0 -0
  68. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/doc_digitization_webhook_callback.py +0 -0
  69. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/error_data.py +0 -0
  70. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/error_details.py +0 -0
  71. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/error_message.py +0 -0
  72. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/error_response.py +0 -0
  73. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/error_response_data.py +0 -0
  74. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/event_response.py +0 -0
  75. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/event_response_data.py +0 -0
  76. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/events_data.py +0 -0
  77. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/file_signed_url_details.py +0 -0
  78. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/files_download_response.py +0 -0
  79. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/files_request.py +0 -0
  80. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/files_upload_response.py +0 -0
  81. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/flush_signal.py +0 -0
  82. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/job_status_v_1_response.py +0 -0
  83. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/language_identification_response.py +0 -0
  84. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/ping_signal.py +0 -0
  85. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/send_text.py +0 -0
  86. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/send_text_data.py +0 -0
  87. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_job_parameters.py +0 -0
  88. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_response.py +0 -0
  89. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_response_data.py +0 -0
  90. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_streaming_response.py +0 -0
  91. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_transcription_data.py +0 -0
  92. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_translate_job_parameters.py +0 -0
  93. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_translate_response.py +0 -0
  94. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_translate_response_data.py +0 -0
  95. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_translate_streaming_response.py +0 -0
  96. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/speech_to_text_translate_transcription_data.py +0 -0
  97. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/stop_configuration.py +0 -0
  98. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/stt_flush_signal.py +0 -0
  99. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/task_detail_v_1.py +0 -0
  100. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/task_file_details.py +0 -0
  101. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/text_to_speech_response.py +0 -0
  102. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/timestamps_model.py +0 -0
  103. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/transcription_metrics.py +0 -0
  104. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/translation_response.py +0 -0
  105. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/requests/transliteration_response.py +0 -0
  106. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text/__init__.py +0 -0
  107. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text/client.py +0 -0
  108. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text/raw_client.py +0 -0
  109. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_job/__init__.py +0 -0
  110. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_job/client.py +0 -0
  111. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_job/job.py +0 -0
  112. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_job/raw_client.py +0 -0
  113. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/__init__.py +0 -0
  114. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/client.py +0 -0
  115. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/raw_client.py +0 -0
  116. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/socket_client.py +0 -0
  117. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/__init__.py +0 -0
  118. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_flush_signal.py +0 -0
  119. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_high_vad_sensitivity.py +0 -0
  120. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_input_audio_codec.py +0 -0
  121. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_language_code.py +0 -0
  122. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_mode.py +0 -0
  123. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_model.py +0 -0
  124. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_vad_signals.py +0 -0
  125. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_job/__init__.py +0 -0
  126. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_job/client.py +0 -0
  127. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_job/job.py +0 -0
  128. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_job/raw_client.py +0 -0
  129. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/__init__.py +0 -0
  130. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/client.py +0 -0
  131. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/raw_client.py +0 -0
  132. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/socket_client.py +0 -0
  133. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/types/__init__.py +0 -0
  134. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_flush_signal.py +0 -0
  135. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_high_vad_sensitivity.py +0 -0
  136. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_input_audio_codec.py +0 -0
  137. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_vad_signals.py +0 -0
  138. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text/__init__.py +0 -0
  139. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text/client.py +0 -0
  140. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text/raw_client.py +0 -0
  141. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech/__init__.py +0 -0
  142. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech/client.py +0 -0
  143. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech/raw_client.py +0 -0
  144. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech_streaming/__init__.py +0 -0
  145. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech_streaming/client.py +0 -0
  146. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech_streaming/raw_client.py +0 -0
  147. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech_streaming/socket_client.py +0 -0
  148. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech_streaming/types/__init__.py +0 -0
  149. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech_streaming/types/text_to_speech_streaming_model.py +0 -0
  150. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/text_to_speech_streaming/types/text_to_speech_streaming_send_completion_event.py +0 -0
  151. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/__init__.py +0 -0
  152. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/audio_data.py +0 -0
  153. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/audio_message.py +0 -0
  154. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/audio_output.py +0 -0
  155. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/audio_output_data.py +0 -0
  156. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/base_job_parameters.py +0 -0
  157. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/bulk_job_callback.py +0 -0
  158. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/bulk_job_init_response_v_1.py +0 -0
  159. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/chat_completion_request_assistant_message.py +0 -0
  160. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/chat_completion_request_message.py +0 -0
  161. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/chat_completion_request_system_message.py +0 -0
  162. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/chat_completion_request_user_message.py +0 -0
  163. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/chat_completion_response_message.py +0 -0
  164. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/choice.py +0 -0
  165. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/completion_event_flag.py +0 -0
  166. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/completion_usage.py +0 -0
  167. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/config_message.py +0 -0
  168. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/configure_connection.py +0 -0
  169. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/configure_connection_data.py +0 -0
  170. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/configure_connection_data_model.py +0 -0
  171. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/configure_connection_data_output_audio_bitrate.py +0 -0
  172. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/configure_connection_data_output_audio_codec.py +0 -0
  173. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/configure_connection_data_speaker.py +0 -0
  174. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/configure_connection_data_target_language_code.py +0 -0
  175. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/connection_sample_rate.py +0 -0
  176. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/create_chat_completion_response.py +0 -0
  177. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/diarized_entry.py +0 -0
  178. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/diarized_transcript.py +0 -0
  179. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_create_job_response.py +0 -0
  180. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_download_files_response.py +0 -0
  181. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_error_code.py +0 -0
  182. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_error_details.py +0 -0
  183. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_error_message.py +0 -0
  184. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_job_detail.py +0 -0
  185. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_job_detail_state.py +0 -0
  186. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_job_parameters.py +0 -0
  187. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_job_state.py +0 -0
  188. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_job_status_response.py +0 -0
  189. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_output_format.py +0 -0
  190. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_page_error.py +0 -0
  191. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_supported_language.py +0 -0
  192. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_upload_files_response.py +0 -0
  193. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/doc_digitization_webhook_callback.py +0 -0
  194. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/error_code.py +0 -0
  195. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/error_data.py +0 -0
  196. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/error_details.py +0 -0
  197. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/error_message.py +0 -0
  198. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/error_response.py +0 -0
  199. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/error_response_data.py +0 -0
  200. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/event_response.py +0 -0
  201. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/event_response_data.py +0 -0
  202. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/events_data.py +0 -0
  203. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/events_data_signal_type.py +0 -0
  204. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/file_signed_url_details.py +0 -0
  205. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/files_download_response.py +0 -0
  206. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/files_request.py +0 -0
  207. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/files_upload_response.py +0 -0
  208. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/finish_reason.py +0 -0
  209. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/flush_signal.py +0 -0
  210. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/input_audio_codec.py +0 -0
  211. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/job_state.py +0 -0
  212. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/job_status_v_1_response.py +0 -0
  213. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/language_identification_response.py +0 -0
  214. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/mode.py +0 -0
  215. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/numerals_format.py +0 -0
  216. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/ping_signal.py +0 -0
  217. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/reasoning_effort.py +0 -0
  218. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/response_type.py +0 -0
  219. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/role.py +0 -0
  220. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/sarvam_model_ids.py +0 -0
  221. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/send_text.py +0 -0
  222. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/send_text_data.py +0 -0
  223. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_sample_rate.py +0 -0
  224. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_job_parameters.py +0 -0
  225. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_language.py +0 -0
  226. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_model.py +0 -0
  227. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_response.py +0 -0
  228. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_response_data.py +0 -0
  229. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_streaming_response.py +0 -0
  230. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_transcription_data.py +0 -0
  231. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_translate_job_parameters.py +0 -0
  232. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_translate_language.py +0 -0
  233. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_translate_model.py +0 -0
  234. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_translate_response.py +0 -0
  235. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_translate_response_data.py +0 -0
  236. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_translate_streaming_response.py +0 -0
  237. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/speech_to_text_translate_transcription_data.py +0 -0
  238. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/spoken_form_numerals_format.py +0 -0
  239. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/stop_configuration.py +0 -0
  240. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/storage_container_type.py +0 -0
  241. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/stt_flush_signal.py +0 -0
  242. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/task_detail_v_1.py +0 -0
  243. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/task_file_details.py +0 -0
  244. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/task_state.py +0 -0
  245. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/text_to_speech_language.py +0 -0
  246. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/text_to_speech_model.py +0 -0
  247. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/text_to_speech_output_audio_codec.py +0 -0
  248. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/text_to_speech_response.py +0 -0
  249. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/text_to_speech_speaker.py +0 -0
  250. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/timestamps_model.py +0 -0
  251. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/transcription_metrics.py +0 -0
  252. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/translate_mode.py +0 -0
  253. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/translate_model.py +0 -0
  254. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/translate_source_language.py +0 -0
  255. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/translate_speaker_gender.py +0 -0
  256. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/translate_target_language.py +0 -0
  257. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/translation_response.py +0 -0
  258. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/translatiterate_target_language.py +0 -0
  259. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/transliterate_mode.py +0 -0
  260. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/transliterate_source_language.py +0 -0
  261. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/types/transliteration_response.py +0 -0
  262. {sarvamai-0.1.23a7 → sarvamai-0.1.23a8}/src/sarvamai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarvamai
3
- Version: 0.1.23a7
3
+ Version: 0.1.23a8
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -3,7 +3,7 @@ name = "sarvamai"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "sarvamai"
6
- version = "0.1.23a7"
6
+ version = "0.1.23a8"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -23,10 +23,10 @@ class BaseClientWrapper:
23
23
 
24
24
  def get_headers(self) -> typing.Dict[str, str]:
25
25
  headers: typing.Dict[str, str] = {
26
- "User-Agent": "sarvamai/0.1.23a7",
26
+ "User-Agent": "sarvamai/0.1.23a8",
27
27
  "X-Fern-Language": "Python",
28
28
  "X-Fern-SDK-Name": "sarvamai",
29
- "X-Fern-SDK-Version": "0.1.23a7",
29
+ "X-Fern-SDK-Version": "0.1.23a8",
30
30
  **(self.get_custom_headers() or {}),
31
31
  }
32
32
  headers["api-subscription-key"] = self.api_subscription_key
@@ -1,16 +1,32 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
+ # This file was auto-generated by Fern from our API Definition.
2
3
 
3
4
  import typing
4
5
 
5
6
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
7
  from ..core.request_options import RequestOptions
7
- from ..requests.doc_digitization_job_parameters import DocDigitizationJobParametersParams
8
- from ..requests.doc_digitization_webhook_callback import DocDigitizationWebhookCallbackParams
9
- from ..types.doc_digitization_create_job_response import DocDigitizationCreateJobResponse
10
- from ..types.doc_digitization_download_files_response import DocDigitizationDownloadFilesResponse
11
- from ..types.doc_digitization_job_status_response import DocDigitizationJobStatusResponse
12
- from ..types.doc_digitization_upload_files_response import DocDigitizationUploadFilesResponse
8
+ from ..requests.doc_digitization_job_parameters import (
9
+ DocDigitizationJobParametersParams,
10
+ )
11
+ from ..requests.doc_digitization_webhook_callback import (
12
+ DocDigitizationWebhookCallbackParams,
13
+ )
14
+ from ..types.doc_digitization_create_job_response import (
15
+ DocDigitizationCreateJobResponse,
16
+ )
17
+ from ..types.doc_digitization_download_files_response import (
18
+ DocDigitizationDownloadFilesResponse,
19
+ )
20
+ from ..types.doc_digitization_job_status_response import (
21
+ DocDigitizationJobStatusResponse,
22
+ )
23
+ from ..types.doc_digitization_upload_files_response import (
24
+ DocDigitizationUploadFilesResponse,
25
+ )
26
+ from ..types.doc_digitization_supported_language import DocDigitizationSupportedLanguage
27
+ from ..types.doc_digitization_output_format import DocDigitizationOutputFormat
13
28
  from .raw_client import AsyncRawDocDigitizationJobClient, RawDocDigitizationJobClient
29
+ from .job import DocDigitizationJob, AsyncDocDigitizationJob
14
30
 
15
31
  # this is used as the default value for optional parameters
16
32
  OMIT = typing.cast(typing.Any, ...)
@@ -99,12 +115,18 @@ class DocDigitizationJobClient:
99
115
  client.doc_digitization_job.initialise()
100
116
  """
101
117
  _response = self._raw_client.initialise(
102
- job_parameters=job_parameters, callback=callback, request_options=request_options
118
+ job_parameters=job_parameters,
119
+ callback=callback,
120
+ request_options=request_options,
103
121
  )
104
122
  return _response.data
105
123
 
106
124
  def get_upload_links(
107
- self, *, job_id: str, files: typing.Sequence[str], request_options: typing.Optional[RequestOptions] = None
125
+ self,
126
+ *,
127
+ job_id: str,
128
+ files: typing.Sequence[str],
129
+ request_options: typing.Optional[RequestOptions] = None,
108
130
  ) -> DocDigitizationUploadFilesResponse:
109
131
  """
110
132
  Returns presigned URLs for uploading input files.
@@ -142,7 +164,9 @@ class DocDigitizationJobClient:
142
164
  files=["files"],
143
165
  )
144
166
  """
145
- _response = self._raw_client.get_upload_links(job_id=job_id, files=files, request_options=request_options)
167
+ _response = self._raw_client.get_upload_links(
168
+ job_id=job_id, files=files, request_options=request_options
169
+ )
146
170
  return _response.data
147
171
 
148
172
  def start(
@@ -269,13 +293,97 @@ class DocDigitizationJobClient:
269
293
  job_id="job_id",
270
294
  )
271
295
  """
272
- _response = self._raw_client.get_download_links(job_id, request_options=request_options)
296
+ _response = self._raw_client.get_download_links(
297
+ job_id, request_options=request_options
298
+ )
273
299
  return _response.data
274
300
 
301
+ def create_job(
302
+ self,
303
+ language: DocDigitizationSupportedLanguage = "hi",
304
+ output_format: DocDigitizationOutputFormat = "html",
305
+ callback: typing.Optional[DocDigitizationWebhookCallbackParams] = OMIT,
306
+ request_options: typing.Optional[RequestOptions] = None,
307
+ ) -> DocDigitizationJob:
308
+ """
309
+ Create a new Document Digitization job.
310
+
311
+ Parameters
312
+ ----------
313
+ language : DocDigitizationSupportedLanguage, default="hi"
314
+ ISO language code for the document.
315
+
316
+ output_format : DocDigitizationOutputFormat, default="html"
317
+ Output format: "html" for structured HTML or "md" for Markdown.
318
+
319
+ callback : typing.Optional[DocDigitizationWebhookCallbackParams], default=OMIT
320
+ Optional webhook configuration for job completion notification.
321
+
322
+ request_options : typing.Optional[RequestOptions], default=None
323
+ Request-specific configuration.
324
+
325
+ Returns
326
+ -------
327
+ DocDigitizationJob
328
+ A handle to the newly created Document Digitization job.
329
+
330
+ Examples
331
+ --------
332
+ from sarvamai import SarvamAI
333
+
334
+ client = SarvamAI(api_subscription_key="YOUR_API_SUBSCRIPTION_KEY")
335
+
336
+ # Create job and get handle
337
+ job = client.doc_digitization_job.create_job(language="hi", output_format="md")
338
+
339
+ # Upload PDF, start, wait, download
340
+ job.upload_file("/path/to/document.pdf")
341
+ job.start()
342
+ job.wait_until_complete()
343
+ job.download_output("./output.md")
344
+ """
345
+ response = self.initialise(
346
+ job_parameters=DocDigitizationJobParametersParams(
347
+ language=language,
348
+ output_format=output_format,
349
+ ),
350
+ callback=callback,
351
+ request_options=request_options,
352
+ )
353
+ return DocDigitizationJob(job_id=response.job_id, client=self)
354
+
355
+ def get_job(self, job_id: str) -> DocDigitizationJob:
356
+ """
357
+ Get an existing Document Digitization job handle by job ID.
358
+
359
+ Parameters
360
+ ----------
361
+ job_id : str
362
+ The job ID of a previously created Document Digitization job.
363
+
364
+ Returns
365
+ -------
366
+ DocDigitizationJob
367
+ A job handle which can be used to check status, upload files, or download results.
368
+
369
+ Examples
370
+ --------
371
+ from sarvamai import SarvamAI
372
+
373
+ client = SarvamAI(api_subscription_key="YOUR_API_SUBSCRIPTION_KEY")
374
+
375
+ # Get existing job
376
+ job = client.doc_digitization_job.get_job(job_id="your-job-uuid")
377
+ status = job.get_status()
378
+ """
379
+ return DocDigitizationJob(job_id=job_id, client=self)
380
+
275
381
 
276
382
  class AsyncDocDigitizationJobClient:
277
383
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
278
- self._raw_client = AsyncRawDocDigitizationJobClient(client_wrapper=client_wrapper)
384
+ self._raw_client = AsyncRawDocDigitizationJobClient(
385
+ client_wrapper=client_wrapper
386
+ )
279
387
 
280
388
  @property
281
389
  def with_raw_response(self) -> AsyncRawDocDigitizationJobClient:
@@ -364,12 +472,18 @@ class AsyncDocDigitizationJobClient:
364
472
  asyncio.run(main())
365
473
  """
366
474
  _response = await self._raw_client.initialise(
367
- job_parameters=job_parameters, callback=callback, request_options=request_options
475
+ job_parameters=job_parameters,
476
+ callback=callback,
477
+ request_options=request_options,
368
478
  )
369
479
  return _response.data
370
480
 
371
481
  async def get_upload_links(
372
- self, *, job_id: str, files: typing.Sequence[str], request_options: typing.Optional[RequestOptions] = None
482
+ self,
483
+ *,
484
+ job_id: str,
485
+ files: typing.Sequence[str],
486
+ request_options: typing.Optional[RequestOptions] = None,
373
487
  ) -> DocDigitizationUploadFilesResponse:
374
488
  """
375
489
  Returns presigned URLs for uploading input files.
@@ -415,7 +529,9 @@ class AsyncDocDigitizationJobClient:
415
529
 
416
530
  asyncio.run(main())
417
531
  """
418
- _response = await self._raw_client.get_upload_links(job_id=job_id, files=files, request_options=request_options)
532
+ _response = await self._raw_client.get_upload_links(
533
+ job_id=job_id, files=files, request_options=request_options
534
+ )
419
535
  return _response.data
420
536
 
421
537
  async def start(
@@ -469,7 +585,9 @@ class AsyncDocDigitizationJobClient:
469
585
 
470
586
  asyncio.run(main())
471
587
  """
472
- _response = await self._raw_client.start(job_id, request_options=request_options)
588
+ _response = await self._raw_client.start(
589
+ job_id, request_options=request_options
590
+ )
473
591
  return _response.data
474
592
 
475
593
  async def get_status(
@@ -521,7 +639,9 @@ class AsyncDocDigitizationJobClient:
521
639
 
522
640
  asyncio.run(main())
523
641
  """
524
- _response = await self._raw_client.get_status(job_id, request_options=request_options)
642
+ _response = await self._raw_client.get_status(
643
+ job_id, request_options=request_options
644
+ )
525
645
  return _response.data
526
646
 
527
647
  async def get_download_links(
@@ -566,5 +686,91 @@ class AsyncDocDigitizationJobClient:
566
686
 
567
687
  asyncio.run(main())
568
688
  """
569
- _response = await self._raw_client.get_download_links(job_id, request_options=request_options)
689
+ _response = await self._raw_client.get_download_links(
690
+ job_id, request_options=request_options
691
+ )
570
692
  return _response.data
693
+
694
+ async def create_job(
695
+ self,
696
+ language: DocDigitizationSupportedLanguage = "hi",
697
+ output_format: DocDigitizationOutputFormat = "html",
698
+ callback: typing.Optional[DocDigitizationWebhookCallbackParams] = OMIT,
699
+ request_options: typing.Optional[RequestOptions] = None,
700
+ ) -> AsyncDocDigitizationJob:
701
+ """
702
+ Create a new Document Digitization job.
703
+
704
+ Parameters
705
+ ----------
706
+ language : DocDigitizationSupportedLanguage, default="hi"
707
+ ISO language code for the document.
708
+
709
+ output_format : DocDigitizationOutputFormat, default="html"
710
+ Output format: "html" for structured HTML or "md" for Markdown.
711
+
712
+ callback : typing.Optional[DocDigitizationWebhookCallbackParams], default=OMIT
713
+ Optional webhook configuration for job completion notification.
714
+
715
+ request_options : typing.Optional[RequestOptions], default=None
716
+ Request-specific configuration.
717
+
718
+ Returns
719
+ -------
720
+ AsyncDocDigitizationJob
721
+ A handle to the newly created Document Digitization job.
722
+
723
+ Examples
724
+ --------
725
+ import asyncio
726
+ from sarvamai import AsyncSarvamAI
727
+
728
+ client = AsyncSarvamAI(api_subscription_key="YOUR_API_SUBSCRIPTION_KEY")
729
+
730
+ async def main():
731
+ job = await client.doc_digitization_job.create_job(language="hi", output_format="md")
732
+ await job.upload_file("/path/to/document.pdf")
733
+ await job.start()
734
+ await job.wait_until_complete()
735
+ await job.download_output("./output.md")
736
+
737
+ asyncio.run(main())
738
+ """
739
+ response = await self.initialise(
740
+ job_parameters=DocDigitizationJobParametersParams(
741
+ language=language,
742
+ output_format=output_format,
743
+ ),
744
+ callback=callback,
745
+ request_options=request_options,
746
+ )
747
+ return AsyncDocDigitizationJob(job_id=response.job_id, client=self)
748
+
749
+ def get_job(self, job_id: str) -> AsyncDocDigitizationJob:
750
+ """
751
+ Get an existing Document Digitization job handle by job ID.
752
+
753
+ Parameters
754
+ ----------
755
+ job_id : str
756
+ The job ID of a previously created Document Digitization job.
757
+
758
+ Returns
759
+ -------
760
+ AsyncDocDigitizationJob
761
+ A job handle which can be used to check status, upload files, or download results.
762
+
763
+ Examples
764
+ --------
765
+ import asyncio
766
+ from sarvamai import AsyncSarvamAI
767
+
768
+ client = AsyncSarvamAI(api_subscription_key="YOUR_API_SUBSCRIPTION_KEY")
769
+
770
+ async def main():
771
+ job = client.doc_digitization_job.get_job(job_id="your-job-uuid")
772
+ status = await job.get_status()
773
+
774
+ asyncio.run(main())
775
+ """
776
+ return AsyncDocDigitizationJob(job_id=job_id, client=self)