about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/openai/_extras/sounddevice_proxy.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/openai/_extras/sounddevice_proxy.py')
-rw-r--r--.venv/lib/python3.12/site-packages/openai/_extras/sounddevice_proxy.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/openai/_extras/sounddevice_proxy.py b/.venv/lib/python3.12/site-packages/openai/_extras/sounddevice_proxy.py
new file mode 100644
index 00000000..482d4c68
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openai/_extras/sounddevice_proxy.py
@@ -0,0 +1,28 @@
+from __future__ import annotations
+
+from typing import TYPE_CHECKING, Any
+from typing_extensions import override
+
+from .._utils import LazyProxy
+from ._common import MissingDependencyError, format_instructions
+
+if TYPE_CHECKING:
+    import sounddevice as sounddevice  # type: ignore
+
+
+SOUNDDEVICE_INSTRUCTIONS = format_instructions(library="sounddevice", extra="voice_helpers")
+
+
+class SounddeviceProxy(LazyProxy[Any]):
+    @override
+    def __load__(self) -> Any:
+        try:
+            import sounddevice  # type: ignore
+        except ImportError as err:
+            raise MissingDependencyError(SOUNDDEVICE_INSTRUCTIONS) from err
+
+        return sounddevice
+
+
+if not TYPE_CHECKING:
+    sounddevice = SounddeviceProxy()