Skip to content

Commit 7f73918

Browse files
adds deprecation notices
1 parent 4f18682 commit 7f73918

File tree

6 files changed

+76
-37
lines changed

6 files changed

+76
-37
lines changed

deepgram/client.py

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
from importlib import import_module
77
import os
88

9+
import deprecation
10+
11+
from . import __version__
912
import logging
1013
from .utils import verboselogs
1114

@@ -257,11 +260,16 @@ def speak(self):
257260
"""
258261
return Speak(self._config)
259262

260-
# TODO: legacy
261263
@property
264+
@deprecation.deprecated(
265+
deprecated_in="3.4.0",
266+
removed_in="4.0.0",
267+
current_version=__version__,
268+
details="deepgram.asyncspeak is deprecated. Use deepgram.speak.asyncrest instead.",
269+
)
262270
def asyncspeak(self):
263271
"""
264-
TODO: LEGACY - Returns an AsyncSpeakClient instance for interacting with Deepgram's speak services.
272+
DEPRECATED: deepgram.asyncspeak is deprecated. Use deepgram.speak.asyncrest instead.
265273
"""
266274
return self.Version(self._config, "asyncspeak")
267275

@@ -279,11 +287,16 @@ def asyncmanage(self):
279287
"""
280288
return self.Version(self._config, "asyncmanage")
281289

282-
# for backwards compatibility
283290
@property
291+
@deprecation.deprecated(
292+
deprecated_in="3.4.0",
293+
removed_in="4.0.0",
294+
current_version=__version__,
295+
details="deepgram.onprem is deprecated. Use deepgram.speak.selfhosted instead.",
296+
)
284297
def onprem(self):
285298
"""
286-
Returns an SelfHostedClient instance for interacting with Deepgram's on-premises API.
299+
DEPRECATED: deepgram.onprem is deprecated. Use deepgram.speak.selfhosted instead.
287300
"""
288301
return self.Version(self._config, "selfhosted")
289302

@@ -294,11 +307,16 @@ def selfhosted(self):
294307
"""
295308
return self.Version(self._config, "selfhosted")
296309

297-
# for backwards compatibility
298310
@property
311+
@deprecation.deprecated(
312+
deprecated_in="3.4.0",
313+
removed_in="4.0.0",
314+
current_version=__version__,
315+
details="deepgram.asynconprem is deprecated. Use deepgram.speak.asyncselfhosted instead.",
316+
)
299317
def asynconprem(self):
300318
"""
301-
Returns an AsyncSelfHostedClient instance for interacting with Deepgram's on-premises API.
319+
DEPRECATED: deepgram.asynconprem is deprecated. Use deepgram.speak.asyncselfhosted instead.
302320
"""
303321
return self.Version(self._config, "asyncselfhosted")
304322

@@ -364,16 +382,7 @@ def v(self, version: str = ""):
364382
filename = "async_client"
365383
classname = "AsyncManageClient"
366384
case "asyncspeak":
367-
# TODO: legacy
368385
return AsyncSpeakRESTClient(self._config)
369-
case "speak-stream":
370-
parent = "speak"
371-
filename = "client_stream"
372-
classname = "SpeakWebSocketClient"
373-
case "asyncspeak-stream":
374-
parent = "speak"
375-
filename = "async_client_stream"
376-
classname = "AsyncSpeakWebSocketClient"
377386
case "selfhosted":
378387
parent = "selfhosted"
379388
filename = "client"

deepgram/clients/listen_router.py

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
from importlib import import_module
66
import logging
77

8+
import deprecation
9+
10+
from .. import __version__
811
from .listen.v1 import (
912
PreRecordedClient,
1013
AsyncPreRecordedClient,
@@ -46,35 +49,55 @@ def __init__(self, config: DeepgramClientOptions):
4649
self._logger.setLevel(config.verbose)
4750
self._config = config
4851

49-
# TODO: legacy
5052
@property
53+
@deprecation.deprecated(
54+
deprecated_in="3.4.0",
55+
removed_in="4.0.0",
56+
current_version=__version__,
57+
details="deepgram.listen.prerecorded is deprecated. Use deepgram.listen.rest instead.",
58+
)
5159
def prerecorded(self):
5260
"""
53-
TODO: Returns a PreRecordedClient instance for interacting with Deepgram's prerecorded transcription services.
61+
DEPRECATED: deepgram.listen.prerecorded is deprecated. Use deepgram.listen.rest instead.
5462
"""
5563
return self.Version(self._config, "prerecorded")
5664

57-
# TODO: legacy
5865
@property
66+
@deprecation.deprecated(
67+
deprecated_in="3.4.0",
68+
removed_in="4.0.0",
69+
current_version=__version__,
70+
details="deepgram.listen.asyncprerecorded is deprecated. Use deepgram.listen.asyncrest instead.",
71+
)
5972
def asyncprerecorded(self):
6073
"""
61-
TODO: Returns an AsyncPreRecordedClient instance for interacting with Deepgram's prerecorded transcription services.
74+
DEPRECATED: deepgram.listen.asyncprerecorded is deprecated. Use deepgram.listen.asyncrest instead.
6275
"""
6376
return self.Version(self._config, "asyncprerecorded")
6477

65-
# TODO: legacy
6678
@property
79+
@deprecation.deprecated(
80+
deprecated_in="3.4.0",
81+
removed_in="4.0.0",
82+
current_version=__version__,
83+
details="deepgram.listen.live is deprecated. Use deepgram.listen.websocket instead.",
84+
)
6785
def live(self):
6886
"""
69-
TODO: Returns a LiveClient instance for interacting with Deepgram's transcription services.
87+
DEPRECATED: deepgram.listen.live is deprecated. Use deepgram.listen.websocket instead.
7088
"""
7189
return self.Version(self._config, "live")
7290

73-
# TODO: legacy
7491
@property
92+
@deprecation.deprecated(
93+
deprecated_in="3.4.0",
94+
removed_in="4.0.0",
95+
current_version=__version__,
96+
details="deepgram.listen.asynclive is deprecated. Use deepgram.listen.asyncwebsocket instead.",
97+
)
7598
def asynclive(self):
7699
"""
77-
TODO: Returns an AsyncLiveClient instance for interacting with Deepgram's transcription services.
100+
DEPRECATED: deepgram.listen.asynclive is deprecated. Use deepgram.listen.asyncwebsocket instead.
78101
"""
79102
return self.Version(self._config, "asynclive")
80103

@@ -151,16 +174,12 @@ def v(self, version: str = ""):
151174
class_name = ""
152175
match self._parent:
153176
case "live":
154-
# TODO: legacy
155177
return LiveClient(self._config)
156178
case "asynclive":
157-
# TODO: legacy
158179
return AsyncLiveClient(self._config)
159180
case "prerecorded":
160-
# TODO: legacy
161181
return PreRecordedClient(self._config)
162182
case "asyncprerecorded":
163-
# TODO: legacy
164183
return AsyncPreRecordedClient(self._config)
165184
case "websocket":
166185
protocol = "websocket"

deepgram/clients/speak_router.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
from importlib import import_module
66
import logging
77

8+
import deprecation
9+
10+
from .. import __version__
811
from .speak.v1.rest.client import SpeakRESTClient
912
from ..utils import verboselogs
1013
from ..options import DeepgramClientOptions
@@ -35,10 +38,15 @@ def __init__(self, config: DeepgramClientOptions):
3538
self._logger.setLevel(config.verbose)
3639
self._config = config
3740

38-
# TODO: legacy
41+
@deprecation.deprecated(
42+
deprecated_in="3.4.0",
43+
removed_in="4.0.0",
44+
current_version=__version__,
45+
details="deepgram.speak.v1 is deprecated. Use deepgram.speak.rest or deepgram.speak.websocket instead.",
46+
)
3947
def v(self, version: str = ""):
4048
"""
41-
TODO: legacy
49+
DEPRECATED: deepgram.speak.v1 is deprecated. Use deepgram.speak.rest or deepgram.speak.websocket instead.
4250
"""
4351
return SpeakRESTClient(self._config)
4452

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ dataclasses-json = "^0.6.3"
3737
aiohttp = "^3.9.1"
3838
aiofiles = "^23.2.1"
3939
aenum = "^3.1.0"
40+
deprecation = "^2.1.0"
4041
# needed only if you are looking to develop/work-on the SDK
4142
# black = "^24.0"
4243
# pylint = "^3.0"

requirements.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
# pip install -r requirements.txt
22

33
# standard libs
4-
websockets
5-
httpx
6-
dataclasses-json
7-
dataclasses
8-
typing_extensions
9-
aenum
4+
websockets==12.*
5+
httpx==0.*
6+
dataclasses-json==0.*
7+
dataclasses==0.*
8+
typing_extensions==4.*
9+
aenum==3.*
10+
deprecation==2.*
1011

1112
# Async functionality, likely to be already installed
12-
aiohttp
13-
aiofiles
13+
aiohttp==3.*
14+
aiofiles==23.*

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"aiohttp>=3.9.1",
3535
"aiofiles>=23.2.1",
3636
"aenum>=3.1.0",
37+
"deprecation>=2.1.0",
3738
],
3839
keywords=["deepgram", "deepgram speech-to-text"],
3940
classifiers=[

0 commit comments

Comments
 (0)