Skip to content

Commit 05d8ff7

Browse files
Change OnPrem -> SelfHosted, But Preserve Backward Compatibility
1 parent 3177017 commit 05d8ff7

File tree

8 files changed

+170
-59
lines changed

8 files changed

+170
-59
lines changed

deepgram/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,12 @@
102102
BalancesResponse,
103103
)
104104

105-
# onprem
105+
# selfhosted
106106
from .client import (
107107
OnPremClient,
108108
AsyncOnPremClient,
109+
SelfHostedClient,
110+
AsyncSelfHostedClient,
109111
)
110112

111113
# utilities

deepgram/client.py

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@
119119
from .clients import (
120120
OnPremClient,
121121
AsyncOnPremClient,
122+
SelfHostedClient,
123+
AsyncSelfHostedClient,
122124
)
123125

124126
# client errors and options
@@ -172,10 +174,10 @@ class DeepgramClient:
172174
listen: Returns a ListenClient instance for interacting with Deepgram's transcription services.
173175
174176
manage: (Preferred) Returns a Threaded ManageClient instance for managing Deepgram resources.
175-
onprem: (Preferred) Returns an Threaded OnPremClient instance for interacting with Deepgram's on-premises API.
177+
selfhosted: (Preferred) Returns an Threaded SelfHostedClient instance for interacting with Deepgram's on-premises API.
176178
177179
asyncmanage: Returns an (Async) ManageClient instance for managing Deepgram resources.
178-
asynconprem: Returns an (Async) OnPremClient instance for interacting with Deepgram's on-premises API.
180+
asyncselfhosted: Returns an (Async) SelfHostedClient instance for interacting with Deepgram's on-premises API.
179181
"""
180182

181183
_config: DeepgramClientOptions
@@ -247,19 +249,35 @@ def asyncmanage(self):
247249
"""
248250
return self.Version(self._config, "asyncmanage")
249251

252+
# for backwards compatibility
250253
@property
251254
def onprem(self):
252255
"""
253-
Returns an OnPremClient instance for interacting with Deepgram's on-premises API.
256+
Returns an SelfHostedClient instance for interacting with Deepgram's on-premises API.
254257
"""
255-
return self.Version(self._config, "onprem")
258+
return self.Version(self._config, "selfhosted")
256259

260+
@property
261+
def selfhosted(self):
262+
"""
263+
Returns an SelfHostedClient instance for interacting with Deepgram's on-premises API.
264+
"""
265+
return self.Version(self._config, "selfhosted")
266+
267+
# for backwards compatibility
257268
@property
258269
def asynconprem(self):
259270
"""
260-
Returns an AsyncOnPremClient instance for interacting with Deepgram's on-premises API.
271+
Returns an AsyncSelfHostedClient instance for interacting with Deepgram's on-premises API.
272+
"""
273+
return self.Version(self._config, "asyncselfhosted")
274+
275+
@property
276+
def asyncselfhosted(self):
277+
"""
278+
Returns an AsyncSelfHostedClient instance for interacting with Deepgram's on-premises API.
261279
"""
262-
return self.Version(self._config, "asynconprem")
280+
return self.Version(self._config, "asyncselfhosted")
263281

264282
# INTERNAL CLASSES
265283
class Version:
@@ -286,8 +304,8 @@ def __init__(self, config, parent: str):
286304
# match self._parent:
287305
# case "manage":
288306
# return ManageClient(self._config)
289-
# case "onprem":
290-
# return OnPremClient(self._config)
307+
# case "selfhosted":
308+
# return SelfHostedClient(self._config)
291309
# case _:
292310
# raise DeepgramModuleError("Invalid parent")
293311

@@ -322,14 +340,14 @@ def v(self, version: str = ""):
322340
parent = "speak"
323341
filename = "async_client"
324342
classname = "AsyncSpeakClient"
325-
case "onprem":
326-
parent = "onprem"
343+
case "selfhosted":
344+
parent = "selfhosted"
327345
filename = "client"
328-
classname = "OnPremClient"
329-
case "asynconprem":
330-
parent = "onprem"
346+
classname = "SelfHostedClient"
347+
case "asyncselfhosted":
348+
parent = "selfhosted"
331349
filename = "async_client"
332-
classname = "AsyncOnPremClient"
350+
classname = "AsyncSelfHostedClient"
333351
case _:
334352
self._logger.error("parent unknown: %s", self._parent)
335353
self._logger.debug("Version.v LEAVE")

deepgram/clients/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,5 +96,10 @@
9696
BalancesResponse,
9797
)
9898

99-
# onprem
100-
from .onprem import OnPremClient, AsyncOnPremClient
99+
# selfhosted
100+
from .selfhosted import (
101+
OnPremClient,
102+
AsyncOnPremClient,
103+
SelfHostedClient,
104+
AsyncSelfHostedClient,
105+
)

deepgram/clients/onprem/__init__.py renamed to deepgram/clients/selfhosted/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
# Use of this source code is governed by a MIT license that can be found in the LICENSE file.
33
# SPDX-License-Identifier: MIT
44

5-
from .v1.client import OnPremClient
6-
from .v1.async_client import AsyncOnPremClient
5+
from .client import SelfHostedClient, OnPremClient
6+
from .client import AsyncSelfHostedClient, AsyncOnPremClient
77
from ...options import DeepgramClientOptions, ClientOptionsFromEnv

deepgram/clients/onprem/client.py renamed to deepgram/clients/selfhosted/client.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
# Use of this source code is governed by a MIT license that can be found in the LICENSE file.
33
# SPDX-License-Identifier: MIT
44

5-
from .v1.client import OnPremClient as OnPremClientLatest
6-
from .v1.async_client import AsyncOnPremClient as AsyncOnPremClientLatest
5+
from .v1.client import SelfHostedClient as SelfHostedClientLatest
6+
from .v1.async_client import AsyncSelfHostedClient as AsyncSelfHostedClientLatest
77

88

99
# The client.py points to the current supported version in the SDK.
1010
# Older versions are supported in the SDK for backwards compatibility.
1111

12-
OnPremClient = OnPremClientLatest
13-
AsyncOnPremClient = AsyncOnPremClientLatest
12+
SelfHostedClient = SelfHostedClientLatest
13+
AsyncSelfHostedClient = AsyncSelfHostedClientLatest
14+
OnPremClient = SelfHostedClientLatest
15+
AsyncOnPremClient = AsyncSelfHostedClientLatest

deepgram/clients/onprem/v1/__init__.py renamed to deepgram/clients/selfhosted/v1/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
# Use of this source code is governed by a MIT license that can be found in the LICENSE file.
33
# SPDX-License-Identifier: MIT
44

5-
from .client import OnPremClient
6-
from .async_client import AsyncOnPremClient
5+
from .client import SelfHostedClient
6+
from .async_client import AsyncSelfHostedClient
77
from ....options import DeepgramClientOptions, ClientOptionsFromEnv

deepgram/clients/onprem/v1/async_client.py renamed to deepgram/clients/selfhosted/v1/async_client.py

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from ...abstract_async_client import AbstractAsyncRestClient
1313

1414

15-
class AsyncOnPremClient(AbstractAsyncRestClient):
15+
class AsyncSelfHostedClient(AbstractAsyncRestClient):
1616
"""
1717
Client for interacting with Deepgram's on-premises API.
1818
@@ -40,14 +40,22 @@ async def list_onprem_credentials(
4040
"""
4141
List all on-premises distribution credentials for a project.
4242
"""
43-
self._logger.debug("OnPremClient.list_onprem_credentials ENTER")
44-
url = f"{self._config.url}/{self._endpoint}/{project_id}/onprem/distribution/credentials"
43+
return self.list_selfhosted_credentials(project_id, timeout)
44+
45+
async def list_selfhosted_credentials(
46+
self, project_id: str, timeout: Optional[httpx.Timeout] = None
47+
):
48+
"""
49+
List all on-premises distribution credentials for a project.
50+
"""
51+
self._logger.debug("SelfHostedClient.list_selfhosted_credentials ENTER")
52+
url = f"{self._config.url}/{self._endpoint}/{project_id}/selfhosted/distribution/credentials"
4553
self._logger.info("url: %s", url)
4654
self._logger.info("project_id: %s", project_id)
4755
res = await self.get(url, timeout=timeout)
4856
self._logger.verbose("result: %s", res)
49-
self._logger.notice("list_onprem_credentials succeeded")
50-
self._logger.debug("OnPremClient.list_onprem_credentials LEAVE")
57+
self._logger.notice("list_selfhosted_credentials succeeded")
58+
self._logger.debug("SelfHostedClient.list_selfhosted_credentials LEAVE")
5159
return res
5260

5361
async def get_onprem_credentials(
@@ -59,17 +67,30 @@ async def get_onprem_credentials(
5967
"""
6068
Get a specific on-premises distribution credential for a project.
6169
"""
62-
self._logger.debug("OnPremClient.get_onprem_credentials ENTER")
63-
url = f"{self._config.url}/{self._endpoint}/{project_id}/onprem/distribution/credentials/{distribution_credentials_id}"
70+
return self.get_selfhosted_credentials(
71+
project_id, distribution_credentials_id, timeout
72+
)
73+
74+
async def get_selfhosted_credentials(
75+
self,
76+
project_id: str,
77+
distribution_credentials_id: str,
78+
timeout: Optional[httpx.Timeout] = None,
79+
):
80+
"""
81+
Get a specific on-premises distribution credential for a project.
82+
"""
83+
self._logger.debug("SelfHostedClient.get_selfhosted_credentials ENTER")
84+
url = f"{self._config.url}/{self._endpoint}/{project_id}/selfhosted/distribution/credentials/{distribution_credentials_id}"
6485
self._logger.info("url: %s", url)
6586
self._logger.info("project_id: %s", project_id)
6687
self._logger.info(
6788
"distribution_credentials_id: %s", distribution_credentials_id
6889
)
6990
res = await self.get(url, timeout=timeout)
7091
self._logger.verbose("result: %s", res)
71-
self._logger.notice("get_onprem_credentials succeeded")
72-
self._logger.debug("OnPremClient.get_onprem_credentials LEAVE")
92+
self._logger.notice("get_selfhosted_credentials succeeded")
93+
self._logger.debug("SelfHostedClient.get_selfhosted_credentials LEAVE")
7394
return res
7495

7596
async def create_onprem_credentials(
@@ -78,15 +99,23 @@ async def create_onprem_credentials(
7899
"""
79100
Create a new on-premises distribution credential for a project.
80101
"""
81-
self._logger.debug("OnPremClient.create_onprem_credentials ENTER")
82-
url = f"{self._config.url}/{self._endpoint}/{project_id}/onprem/distribution/credentials/"
102+
return self.create_onprem_credentials(project_id, options, timeout)
103+
104+
async def create_selfhosted_credentials(
105+
self, project_id: str, options, timeout: Optional[httpx.Timeout] = None
106+
):
107+
"""
108+
Create a new on-premises distribution credential for a project.
109+
"""
110+
self._logger.debug("SelfHostedClient.create_selfhosted_credentials ENTER")
111+
url = f"{self._config.url}/{self._endpoint}/{project_id}/selfhosted/distribution/credentials/"
83112
self._logger.info("url: %s", url)
84113
self._logger.info("project_id: %s", project_id)
85114
self._logger.info("options: %s", options)
86115
res = await self.post(url, json=options, timeout=timeout)
87116
self._logger.verbose("result: %s", res)
88-
self._logger.notice("create_onprem_credentials succeeded")
89-
self._logger.debug("OnPremClient.create_onprem_credentials LEAVE")
117+
self._logger.notice("create_selfhosted_credentials succeeded")
118+
self._logger.debug("SelfHostedClient.create_selfhosted_credentials LEAVE")
90119
return res
91120

92121
async def delete_onprem_credentials(
@@ -98,13 +127,26 @@ async def delete_onprem_credentials(
98127
"""
99128
Delete an on-premises distribution credential for a project.
100129
"""
101-
self._logger.debug("OnPremClient.delete_onprem_credentials ENTER")
102-
url = f"{self._config.url}/{self._endpoint}/{project_id}/onprem/distribution/credentials/{distribution_credentials_id}"
130+
return self.delete_selfhosted_credentials(
131+
project_id, distribution_credentials_id, timeout
132+
)
133+
134+
async def delete_selfhosted_credentials(
135+
self,
136+
project_id: str,
137+
distribution_credentials_id: str,
138+
timeout: Optional[httpx.Timeout] = None,
139+
):
140+
"""
141+
Delete an on-premises distribution credential for a project.
142+
"""
143+
self._logger.debug("SelfHostedClient.delete_selfhosted_credentials ENTER")
144+
url = f"{self._config.url}/{self._endpoint}/{project_id}/selfhosted/distribution/credentials/{distribution_credentials_id}"
103145
self._logger.info("url: %s", url)
104146
self._logger.info("project_id: %s", project_id)
105147
self._logger.info("distrbution_credentials_id: %s", distribution_credentials_id)
106148
res = await self.delete(url, timeout=timeout)
107149
self._logger.verbose("result: %s", res)
108-
self._logger.notice("delete_onprem_credentials succeeded")
109-
self._logger.debug("OnPremClient.delete_onprem_credentials LEAVE")
150+
self._logger.notice("delete_selfhosted_credentials succeeded")
151+
self._logger.debug("SelfHostedClient.delete_selfhosted_credentials LEAVE")
110152
return res

0 commit comments

Comments
 (0)