Skip to content

Commit 7a9d41d

Browse files
lynne-sparkLynne Meng
andauthored
fix: support multiple keyterms for v2 listen client (#595)
Co-authored-by: Lynne Meng <lynne@sparkpoint.com>
1 parent d77ad96 commit 7a9d41d

File tree

2 files changed

+32
-12
lines changed

2 files changed

+32
-12
lines changed

src/deepgram/listen/v2/client.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def connect(
4343
eager_eot_threshold: typing.Optional[str] = None,
4444
eot_threshold: typing.Optional[str] = None,
4545
eot_timeout_ms: typing.Optional[str] = None,
46-
keyterm: typing.Optional[str] = None,
46+
keyterm: typing.Optional[typing.Union[str, typing.List[str]]] = None,
4747
mip_opt_out: typing.Optional[str] = None,
4848
tag: typing.Optional[str] = None,
4949
authorization: typing.Optional[str] = None,
@@ -67,7 +67,8 @@ def connect(
6767
6868
eot_timeout_ms : typing.Optional[str]
6969
70-
keyterm : typing.Optional[str]
70+
keyterm : typing.Optional[typing.Union[str, typing.List[str]]]
71+
Single keyterm as string or list of keyterms. Each keyterm can be up to 100 characters.
7172
7273
mip_opt_out : typing.Optional[str]
7374
@@ -100,7 +101,11 @@ def connect(
100101
if eot_timeout_ms is not None:
101102
query_params = query_params.add("eot_timeout_ms", eot_timeout_ms)
102103
if keyterm is not None:
103-
query_params = query_params.add("keyterm", keyterm)
104+
if isinstance(keyterm, list):
105+
for kt in keyterm:
106+
query_params = query_params.add("keyterm", kt)
107+
else:
108+
query_params = query_params.add("keyterm", keyterm)
104109
if mip_opt_out is not None:
105110
query_params = query_params.add("mip_opt_out", mip_opt_out)
106111
if tag is not None:
@@ -154,7 +159,7 @@ async def connect(
154159
eager_eot_threshold: typing.Optional[str] = None,
155160
eot_threshold: typing.Optional[str] = None,
156161
eot_timeout_ms: typing.Optional[str] = None,
157-
keyterm: typing.Optional[str] = None,
162+
keyterm: typing.Optional[typing.Union[str, typing.List[str]]] = None,
158163
mip_opt_out: typing.Optional[str] = None,
159164
tag: typing.Optional[str] = None,
160165
authorization: typing.Optional[str] = None,
@@ -178,7 +183,8 @@ async def connect(
178183
179184
eot_timeout_ms : typing.Optional[str]
180185
181-
keyterm : typing.Optional[str]
186+
keyterm : typing.Optional[typing.Union[str, typing.List[str]]]
187+
Single keyterm as string or list of keyterms. Each keyterm can be up to 100 characters.
182188
183189
mip_opt_out : typing.Optional[str]
184190
@@ -211,7 +217,11 @@ async def connect(
211217
if eot_timeout_ms is not None:
212218
query_params = query_params.add("eot_timeout_ms", eot_timeout_ms)
213219
if keyterm is not None:
214-
query_params = query_params.add("keyterm", keyterm)
220+
if isinstance(keyterm, list):
221+
for kt in keyterm:
222+
query_params = query_params.add("keyterm", kt)
223+
else:
224+
query_params = query_params.add("keyterm", keyterm)
215225
if mip_opt_out is not None:
216226
query_params = query_params.add("mip_opt_out", mip_opt_out)
217227
if tag is not None:

src/deepgram/listen/v2/raw_client.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def connect(
3131
eager_eot_threshold: typing.Optional[str] = None,
3232
eot_threshold: typing.Optional[str] = None,
3333
eot_timeout_ms: typing.Optional[str] = None,
34-
keyterm: typing.Optional[str] = None,
34+
keyterm: typing.Optional[typing.Union[str, typing.List[str]]] = None,
3535
mip_opt_out: typing.Optional[str] = None,
3636
tag: typing.Optional[str] = None,
3737
authorization: typing.Optional[str] = None,
@@ -55,7 +55,8 @@ def connect(
5555
5656
eot_timeout_ms : typing.Optional[str]
5757
58-
keyterm : typing.Optional[str]
58+
keyterm : typing.Optional[typing.Union[str, typing.List[str]]]
59+
Single keyterm as string or list of keyterms. Each keyterm can be up to 100 characters.
5960
6061
mip_opt_out : typing.Optional[str]
6162
@@ -88,7 +89,11 @@ def connect(
8889
if eot_timeout_ms is not None:
8990
query_params = query_params.add("eot_timeout_ms", eot_timeout_ms)
9091
if keyterm is not None:
91-
query_params = query_params.add("keyterm", keyterm)
92+
if isinstance(keyterm, list):
93+
for kt in keyterm:
94+
query_params = query_params.add("keyterm", kt)
95+
else:
96+
query_params = query_params.add("keyterm", keyterm)
9297
if mip_opt_out is not None:
9398
query_params = query_params.add("mip_opt_out", mip_opt_out)
9499
if tag is not None:
@@ -131,7 +136,7 @@ async def connect(
131136
eager_eot_threshold: typing.Optional[str] = None,
132137
eot_threshold: typing.Optional[str] = None,
133138
eot_timeout_ms: typing.Optional[str] = None,
134-
keyterm: typing.Optional[str] = None,
139+
keyterm: typing.Optional[typing.Union[str, typing.List[str]]] = None,
135140
mip_opt_out: typing.Optional[str] = None,
136141
tag: typing.Optional[str] = None,
137142
authorization: typing.Optional[str] = None,
@@ -155,7 +160,8 @@ async def connect(
155160
156161
eot_timeout_ms : typing.Optional[str]
157162
158-
keyterm : typing.Optional[str]
163+
keyterm : typing.Optional[typing.Union[str, typing.List[str]]]
164+
Single keyterm as string or list of keyterms. Each keyterm can be up to 100 characters.
159165
160166
mip_opt_out : typing.Optional[str]
161167
@@ -188,7 +194,11 @@ async def connect(
188194
if eot_timeout_ms is not None:
189195
query_params = query_params.add("eot_timeout_ms", eot_timeout_ms)
190196
if keyterm is not None:
191-
query_params = query_params.add("keyterm", keyterm)
197+
if isinstance(keyterm, list):
198+
for kt in keyterm:
199+
query_params = query_params.add("keyterm", kt)
200+
else:
201+
query_params = query_params.add("keyterm", keyterm)
192202
if mip_opt_out is not None:
193203
query_params = query_params.add("mip_opt_out", mip_opt_out)
194204
if tag is not None:

0 commit comments

Comments
 (0)