re-includeAsyncClient for backwards compatibility, with deprecationwarning. Use Client instead

This commit is contained in:
Tekky 2024-10-30 09:47:48 +01:00
parent 8f2ac80693
commit b1d5af85ae
2 changed files with 24 additions and 1 deletions

View File

@ -1,2 +1,2 @@
from .stubs import ChatCompletion, ChatCompletionChunk, ImagesResponse
from .client import Client
from .client import Client, AsyncClient

View File

@ -140,6 +140,29 @@ class Client(BaseClient):
async def async_images(self) -> Images:
return self._images
# For backwards compatibility and legacy purposes, use Client instead
class AsyncClient(Client):
"""Legacy AsyncClient that redirects to the main Client class.
This class exists for backwards compatibility."""
def __init__(self, *args, **kwargs):
import warnings
warnings.warn(
"AsyncClient is deprecated and will be removed in a future version. "
"Use Client instead, which now supports both sync and async operations.",
DeprecationWarning,
stacklevel=2
)
super().__init__(*args, **kwargs)
async def chat_complete(self, *args, **kwargs):
"""Legacy method that redirects to async_create"""
return await self.chat.completions.async_create(*args, **kwargs)
async def create_image(self, *args, **kwargs):
"""Legacy method that redirects to async_generate"""
return await self.images.async_generate(*args, **kwargs)
class Completions:
def __init__(self, client: Client, provider: ProviderType = None):
self.client: Client = client