syllable-sdk 0.35.86__py3-none-any.whl → 0.36.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
syllable_sdk/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "syllable-sdk"
6
- __version__: str = "0.35.86"
6
+ __version__: str = "0.36.1"
7
7
  __openapi_doc_version__: str = "0.0.2"
8
- __gen_version__: str = "2.687.11"
9
- __user_agent__: str = "speakeasy-sdk/python 0.35.86 2.687.11 0.0.2 syllable-sdk"
8
+ __gen_version__: str = "2.687.13"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.36.1 2.687.13 0.0.2 syllable-sdk"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -1,15 +1,16 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from .syllablesdkerror import SyllableSDKError
3
4
  from typing import TYPE_CHECKING
4
5
  from importlib import import_module
5
6
  import builtins
7
+ import sys
6
8
 
7
9
  if TYPE_CHECKING:
8
10
  from .apierror import APIError
9
11
  from .httpvalidationerror import HTTPValidationError, HTTPValidationErrorData
10
12
  from .no_response_error import NoResponseError
11
13
  from .responsevalidationerror import ResponseValidationError
12
- from .syllablesdkerror import SyllableSDKError
13
14
 
14
15
  __all__ = [
15
16
  "APIError",
@@ -26,10 +27,21 @@ _dynamic_imports: dict[str, str] = {
26
27
  "HTTPValidationErrorData": ".httpvalidationerror",
27
28
  "NoResponseError": ".no_response_error",
28
29
  "ResponseValidationError": ".responsevalidationerror",
29
- "SyllableSDKError": ".syllablesdkerror",
30
30
  }
31
31
 
32
32
 
33
+ def dynamic_import(modname, retries=3):
34
+ for attempt in range(retries):
35
+ try:
36
+ return import_module(modname, __package__)
37
+ except KeyError:
38
+ # Clear any half-initialized module and retry
39
+ sys.modules.pop(modname, None)
40
+ if attempt == retries - 1:
41
+ break
42
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
43
+
44
+
33
45
  def __getattr__(attr_name: str) -> object:
34
46
  module_name = _dynamic_imports.get(attr_name)
35
47
  if module_name is None:
@@ -38,7 +50,7 @@ def __getattr__(attr_name: str) -> object:
38
50
  )
39
51
 
40
52
  try:
41
- module = import_module(module_name, __package__)
53
+ module = dynamic_import(module_name)
42
54
  result = getattr(module, attr_name)
43
55
  return result
44
56
  except ImportError as e:
@@ -5,6 +5,7 @@ from .channeltargetresponse import ChannelTargetResponse, ChannelTargetResponseT
5
5
  from typing import TYPE_CHECKING
6
6
  from importlib import import_module
7
7
  import builtins
8
+ import sys
8
9
 
9
10
  if TYPE_CHECKING:
10
11
  from .agent_deleteop import AgentDeleteRequest, AgentDeleteRequestTypedDict
@@ -1993,6 +1994,18 @@ _dynamic_imports: dict[str, str] = {
1993
1994
  }
1994
1995
 
1995
1996
 
1997
+ def dynamic_import(modname, retries=3):
1998
+ for attempt in range(retries):
1999
+ try:
2000
+ return import_module(modname, __package__)
2001
+ except KeyError:
2002
+ # Clear any half-initialized module and retry
2003
+ sys.modules.pop(modname, None)
2004
+ if attempt == retries - 1:
2005
+ break
2006
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
2007
+
2008
+
1996
2009
  def __getattr__(attr_name: str) -> object:
1997
2010
  module_name = _dynamic_imports.get(attr_name)
1998
2011
  if module_name is None:
@@ -2001,7 +2014,7 @@ def __getattr__(attr_name: str) -> object:
2001
2014
  )
2002
2015
 
2003
2016
  try:
2004
- module = import_module(module_name, __package__)
2017
+ module = dynamic_import(module_name)
2005
2018
  result = getattr(module, attr_name)
2006
2019
  return result
2007
2020
  except ImportError as e:
@@ -7,6 +7,8 @@ from enum import Enum
7
7
  class AgentSttProvider(str, Enum):
8
8
  r"""Speech-to-text providers supported by agents."""
9
9
 
10
+ GOOGLE_STT_V2_CHIRP_2_ = "Google STT V2 (Chirp 2)"
11
+ DEEPGRAM_NOVA_3 = "Deepgram Nova 3"
10
12
  GOOGLE_STT_V2 = "Google STT V2"
11
13
  GOOGLE_STT_V1 = "Google STT V1"
12
14
  DEEPGRAM_NOVA_2 = "Deepgram Nova 2"
syllable_sdk/sdk.py CHANGED
@@ -10,6 +10,7 @@ import importlib
10
10
  from syllable_sdk import models, utils
11
11
  from syllable_sdk._hooks import SDKHooks
12
12
  from syllable_sdk.types import OptionalNullable, UNSET
13
+ import sys
13
14
  from typing import Any, Callable, Dict, Optional, TYPE_CHECKING, Union, cast
14
15
  import weakref
15
16
 
@@ -240,11 +241,22 @@ class SyllableSDK(BaseSDK):
240
241
  self.sdk_configuration.async_client_supplied,
241
242
  )
242
243
 
244
+ def dynamic_import(self, modname, retries=3):
245
+ for attempt in range(retries):
246
+ try:
247
+ return importlib.import_module(modname)
248
+ except KeyError:
249
+ # Clear any half-initialized module and retry
250
+ sys.modules.pop(modname, None)
251
+ if attempt == retries - 1:
252
+ break
253
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
254
+
243
255
  def __getattr__(self, name: str):
244
256
  if name in self._sub_sdk_map:
245
257
  module_path, class_name = self._sub_sdk_map[name]
246
258
  try:
247
- module = importlib.import_module(module_path)
259
+ module = self.dynamic_import(module_path)
248
260
  klass = getattr(module, class_name)
249
261
  instance = klass(self.sdk_configuration, parent_ref=self)
250
262
  setattr(self, name, instance)
@@ -3,6 +3,7 @@
3
3
  from typing import TYPE_CHECKING
4
4
  from importlib import import_module
5
5
  import builtins
6
+ import sys
6
7
 
7
8
  if TYPE_CHECKING:
8
9
  from .annotations import get_discriminator
@@ -162,6 +163,18 @@ _dynamic_imports: dict[str, str] = {
162
163
  }
163
164
 
164
165
 
166
+ def dynamic_import(modname, retries=3):
167
+ for attempt in range(retries):
168
+ try:
169
+ return import_module(modname, __package__)
170
+ except KeyError:
171
+ # Clear any half-initialized module and retry
172
+ sys.modules.pop(modname, None)
173
+ if attempt == retries - 1:
174
+ break
175
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
176
+
177
+
165
178
  def __getattr__(attr_name: str) -> object:
166
179
  module_name = _dynamic_imports.get(attr_name)
167
180
  if module_name is None:
@@ -170,9 +183,8 @@ def __getattr__(attr_name: str) -> object:
170
183
  )
171
184
 
172
185
  try:
173
- module = import_module(module_name, __package__)
174
- result = getattr(module, attr_name)
175
- return result
186
+ module = dynamic_import(module_name)
187
+ return getattr(module, attr_name)
176
188
  except ImportError as e:
177
189
  raise ImportError(
178
190
  f"Failed to import {attr_name} from {module_name}: {e}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: syllable-sdk
3
- Version: 0.35.86
3
+ Version: 0.36.1
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Syllable
6
6
  Requires-Python: >=3.9.2
@@ -3,7 +3,7 @@ syllable_sdk/_hooks/__init__.py,sha256=9_7W5jAYw8rcO8Kfc-Ty-lB82BHfksAJJpVFb_UeU
3
3
  syllable_sdk/_hooks/registration.py,sha256=1QZB41w6If7I9dXiOSQx6dhSc6BPWrnI5Q5bMOr4iVA,624
4
4
  syllable_sdk/_hooks/sdkhooks.py,sha256=aRu2TMpxilLKDrG6EIy6uQd6IrBH7kaHOoVkd7GIcus,2562
5
5
  syllable_sdk/_hooks/types.py,sha256=uwJkn18g4_rLZhVtKdE6Ed5YcCjGWSqVgN9-PWqV7Ho,3053
6
- syllable_sdk/_version.py,sha256=PYrRk1fFC7CKC_y3oTIOo5xXYn7DQHJgWFXIFpqHaTU,472
6
+ syllable_sdk/_version.py,sha256=AAfU-m8Tw2z12g5h1iOrWyd-YFdHNtUnzHuk05rr85s,470
7
7
  syllable_sdk/agents.py,sha256=8Mi55XEKRofGeW9iS5haXK-7wEd7Yo5M2ROH_x5sepQ,46796
8
8
  syllable_sdk/basesdk.py,sha256=PCXez-bS_sOzXpRo7awDMzW4zqGJtktHytrlQfG1HNw,12211
9
9
  syllable_sdk/batches.py,sha256=qgI5PRkdgLdaJl4DPfs4mBJrB0OY_CCDePYntyjleSs,73059
@@ -13,7 +13,7 @@ syllable_sdk/conversations.py,sha256=SjbYq8-mr2RdIh_JO_qxh25WvLkWXf_KsEUxhHRVlB4
13
13
  syllable_sdk/custom_messages.py,sha256=xM3Sy-bdXPYX-qUJUl_CfgjR0HtEpN32u1uXqc1X9x0,41307
14
14
  syllable_sdk/dashboards.py,sha256=qvzxTiPnzJTmip02EPyGP-qaCgBtpZ4OPYJa2IGH1nw,45442
15
15
  syllable_sdk/data_sources.py,sha256=ReOnnz4OYQupXW6aS7iHNJgK84aJEWN7vnuqn1eCYAs,40909
16
- syllable_sdk/errors/__init__.py,sha256=rCNlx6Ad0Lhp5bgE-iDKTJ30x7M9BhUJhi-f7if_cF0,1732
16
+ syllable_sdk/errors/__init__.py,sha256=b7YCOOsKA0VcV2bgdwU0w8lITftThPQ5QHX8sTisILk,2098
17
17
  syllable_sdk/errors/apierror.py,sha256=CM3pZTIA9QnXmav_lDlcGgwyYLJ4pmMtni4Ck-iwFow,1234
18
18
  syllable_sdk/errors/httpvalidationerror.py,sha256=wBTQY0G7zOW5nGyKkZDkEDc51htoMJTVBXO1mVYFh-4,794
19
19
  syllable_sdk/errors/no_response_error.py,sha256=FQG44Lq6uF7uUlzbUYfM3dJon6sbqXzJ0Ri6YrDdsEs,380
@@ -28,7 +28,7 @@ syllable_sdk/insights_sdk.py,sha256=i5cYTiUdIrbyB4Nm6xlDFOU6rdM9LeadH4XNzGcNX5E,
28
28
  syllable_sdk/insights_tools.py,sha256=SuDEOpPtk7SlsFZ-thzIZSt_31WjofzyzqozseWQy3M,55115
29
29
  syllable_sdk/language_groups.py,sha256=BlcTvh_KitUkbVzXlBjCcxTmBbQ12QWxCZfXqlCOoPc,49214
30
30
  syllable_sdk/latency.py,sha256=PymvwBTs6KAVMl-IZVj6L4zJotRApBOcnkfB4FrlNkg,7449
31
- syllable_sdk/models/__init__.py,sha256=1mVisM5mvo7jqZbw_dfh5kZ5DF4aID0SHxCTY_G7i_c,85805
31
+ syllable_sdk/models/__init__.py,sha256=HbIFAAN4pCEqLLmf_gtOn5gmmhshWfn7EVFti9XkH9s,86220
32
32
  syllable_sdk/models/agent_deleteop.py,sha256=tUbi-gwd4chf2Ba9O9lCvqDQw6YOnn7aheu8OPDzptc,629
33
33
  syllable_sdk/models/agent_get_by_idop.py,sha256=vj_xEbhOv3c8n3-B3uQnfTwHWdxYSE4k3Zvr58Yc9A4,484
34
34
  syllable_sdk/models/agent_listop.py,sha256=dJdQuIst1TF4xMol9XVdX4xOw8z06jyAQpm46_u0Ysk,5007
@@ -36,7 +36,7 @@ syllable_sdk/models/agentcreate.py,sha256=Yfvu4U3Q0prMFDFSTQPalr7FaVbTKoChcGofc_
36
36
  syllable_sdk/models/agentlanguage.py,sha256=NkquRaZj2cPpm5bDSf2AuhHsL8NxDOYSDEO8YePUE4o,650
37
37
  syllable_sdk/models/agentproperties.py,sha256=r7acQPPWRA7gZUMbhSrQMyDFw_A7RSRZdKo7yvgGQY0,792
38
38
  syllable_sdk/models/agentresponse.py,sha256=pa6qBcPUF7LlK1Au29uuT6AN5dDiPDl8q1S1cc6LOqg,9689
39
- syllable_sdk/models/agentsttprovider.py,sha256=A-Y48rQF8_NOTAYbmzwFhgeeGX93mq4fEYV4JSbPywA,337
39
+ syllable_sdk/models/agentsttprovider.py,sha256=OPZ1f18o_PyJ3xBbAJaP-dQDCT082uE1sllWQzrfB5o,432
40
40
  syllable_sdk/models/agenttooldefaults.py,sha256=grephhXpDNRoteEjin5eOFqe2pqh2WHs80wO9As87S4,903
41
41
  syllable_sdk/models/agenttoolfielddefault.py,sha256=80ANVtg-F04tDjWvMj55g2xUujUIx-XtT-_lIQOiYnY,788
42
42
  syllable_sdk/models/agentupdate.py,sha256=JyNM5fEMKzsrsk1Ydbr3pu0RyJdQZmv80gvsHm9miL8,6767
@@ -339,7 +339,7 @@ syllable_sdk/permissions.py,sha256=EGDOu1toJfNgAEfS4Uv5QdWTPKvnPkH_DWGXDQdDhkk,6
339
339
  syllable_sdk/prompts.py,sha256=stz81yOmM22ehTiWUm1GqHcrtoPG9Cgw8J9ET32AtRM,53344
340
340
  syllable_sdk/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
341
341
  syllable_sdk/roles.py,sha256=wfAePzjeRItms1lvXIKZo73PdGZnzNn1SgjyMSKqdxc,40374
342
- syllable_sdk/sdk.py,sha256=9uGFOCYuvfJ9c0KiAkr46KrYxVXAMvkMh8Zxa_OqIoc,15798
342
+ syllable_sdk/sdk.py,sha256=7qR2MaxS7vBWJjnrz3MibNNDLbZO5MbNXAtovOR6-5g,16263
343
343
  syllable_sdk/sdkconfiguration.py,sha256=cbYqSx5Sw6bPo2RiqBsU6OkBJnBBVJ6pNORhPyaTHkg,1594
344
344
  syllable_sdk/services.py,sha256=sI0gG_Xa4XnDMU0B05q__UPs2LCYTNbkrvM_FuoXhgY,40271
345
345
  syllable_sdk/session_debug.py,sha256=wKqcDWjexF_k3BtZ4whViJOZtwUhVRoNrv22YI9kxTM,22188
@@ -354,7 +354,7 @@ syllable_sdk/twilio.py,sha256=gJ7rP637Wa3hGS8zo-SFOrTMrMmx0F2wXAMpAd9slg8,23423
354
354
  syllable_sdk/types/__init__.py,sha256=RArOwSgeeTIva6h-4ttjXwMUeCkz10nAFBL9D-QljI4,377
355
355
  syllable_sdk/types/basemodel.py,sha256=L79WXvTECbSqaJzs8D3ud_KdIWkU7Cx2wbohDAktE9E,1127
356
356
  syllable_sdk/users.py,sha256=CQTR_esL0vCzwc3Z98c7vw2ZGIdHD1RZ4KI6cw6CH0g,53451
357
- syllable_sdk/utils/__init__.py,sha256=f0z1dsfJtiN5V5w4AE1dZb6W0_hDyMzVaDVq18RCbiQ,5470
357
+ syllable_sdk/utils/__init__.py,sha256=CAG0O76aEToGKXpT6Ft87Vd-iiQTh4XdBrQ37BVbsiM,5861
358
358
  syllable_sdk/utils/annotations.py,sha256=aR7mZG34FzgRdew7WZPYEu9QGBerpuKxCF4sek5Z_5Y,1699
359
359
  syllable_sdk/utils/datetimes.py,sha256=oppAA5e3V35pQov1-FNLKxAaNF1_XWi-bQtyjjql3H8,855
360
360
  syllable_sdk/utils/enums.py,sha256=REU6ydF8gsVL3xaeGX4sMNyiL3q5P9h29-f6Sa6luAE,2633
@@ -373,6 +373,6 @@ syllable_sdk/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,525
373
373
  syllable_sdk/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
374
374
  syllable_sdk/v1.py,sha256=zMPQz7GtZxDuziCcmhKk2IS7EfiaW9WfiSIqAGbb-o4,53448
375
375
  syllable_sdk/workflows.py,sha256=kQPJzssdldotkipoWzu1ddas4IKbpFdXkGFDwDkWt1M,64777
376
- syllable_sdk-0.35.86.dist-info/METADATA,sha256=UGuK1ueGk5cjzPTymf-SJol91nDQx17FuX6DvWywpeo,46166
377
- syllable_sdk-0.35.86.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
378
- syllable_sdk-0.35.86.dist-info/RECORD,,
376
+ syllable_sdk-0.36.1.dist-info/METADATA,sha256=DlKyfyBiFXyn-x5Ny8FWQT1HA0meM13106UKNLpSlKY,46165
377
+ syllable_sdk-0.36.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
378
+ syllable_sdk-0.36.1.dist-info/RECORD,,