Commit 21209abb
Changed files (2)
src
openai
src/openai/_utils/_resources_proxy.py
@@ -0,0 +1,24 @@
+from __future__ import annotations
+
+from typing import Any
+from typing_extensions import override
+
+from ._proxy import LazyProxy
+
+
+class ResourcesProxy(LazyProxy[Any]):
+ """A proxy for the `openai.resources` module.
+
+ This is used so that we can lazily import `openai.resources` only when
+ needed *and* so that users can just import `openai` and reference `openai.resources`
+ """
+
+ @override
+ def __load__(self) -> Any:
+ import importlib
+
+ mod = importlib.import_module("openai.resources")
+ return mod
+
+
+resources = ResourcesProxy().__as_proxied__()
src/openai/__init__.py
@@ -3,6 +3,7 @@
from __future__ import annotations
import os as _os
+import typing as _t
from typing_extensions import override
from . import types
@@ -78,6 +79,9 @@ __all__ = [
"DefaultAsyncHttpxClient",
]
+if not _t.TYPE_CHECKING:
+ from ._utils._resources_proxy import resources as resources
+
from .lib import azure as _azure, pydantic_function_tool as pydantic_function_tool
from .version import VERSION as VERSION
from .lib.azure import AzureOpenAI as AzureOpenAI, AsyncAzureOpenAI as AsyncAzureOpenAI