Skip to content

Commit 23493c6

Browse files
feat(api): add betas back in for search
1 parent e00288b commit 23493c6

File tree

4 files changed

+37
-4
lines changed

4 files changed

+37
-4
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 22
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web%2Fparallel-sdk-492cb97b032ae6d87675f06806a66303d679c21e3b112cbeb36ef78063a4598c.yml
3-
openapi_spec_hash: dc8819b83a755680658c15fb30e30678
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web%2Fparallel-sdk-970b780e86490322cc3c7e2b57f140ca6766a3d9f6e0d3402837ebaf7c2183fc.yml
3+
openapi_spec_hash: 34f784ce2dec796048e6780924bae08f
44
config_hash: a398d153133d8884bed4e5256a0ae818

src/parallel/resources/beta/beta.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ def search(
192192
processor: Optional[Literal["base", "pro"]] | Omit = omit,
193193
search_queries: Optional[SequenceNotStr[str]] | Omit = omit,
194194
source_policy: Optional[SourcePolicy] | Omit = omit,
195+
betas: List[ParallelBetaParam] | Omit = omit,
195196
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
196197
# The extra values given here take precedence over values defined on the client or passed to this method.
197198
extra_headers: Headers | None = None,
@@ -234,6 +235,8 @@ def search(
234235
235236
This policy governs which sources are allowed/disallowed in results.
236237
238+
betas: Optional header to specify the beta version(s) to enable.
239+
237240
extra_headers: Send extra headers
238241
239242
extra_query: Add additional query parameters to the request
@@ -242,6 +245,16 @@ def search(
242245
243246
timeout: Override the client-level default timeout for this request, in seconds
244247
"""
248+
extra_headers = {
249+
**strip_not_given(
250+
{
251+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
252+
if is_given(betas)
253+
else not_given
254+
}
255+
),
256+
**(extra_headers or {}),
257+
}
245258
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
246259
return self._post(
247260
"/v1beta/search",
@@ -404,6 +417,7 @@ async def search(
404417
processor: Optional[Literal["base", "pro"]] | Omit = omit,
405418
search_queries: Optional[SequenceNotStr[str]] | Omit = omit,
406419
source_policy: Optional[SourcePolicy] | Omit = omit,
420+
betas: List[ParallelBetaParam] | Omit = omit,
407421
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
408422
# The extra values given here take precedence over values defined on the client or passed to this method.
409423
extra_headers: Headers | None = None,
@@ -446,6 +460,8 @@ async def search(
446460
447461
This policy governs which sources are allowed/disallowed in results.
448462
463+
betas: Optional header to specify the beta version(s) to enable.
464+
449465
extra_headers: Send extra headers
450466
451467
extra_query: Add additional query parameters to the request
@@ -454,6 +470,16 @@ async def search(
454470
455471
timeout: Override the client-level default timeout for this request, in seconds
456472
"""
473+
extra_headers = {
474+
**strip_not_given(
475+
{
476+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
477+
if is_given(betas)
478+
else not_given
479+
}
480+
),
481+
**(extra_headers or {}),
482+
}
457483
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
458484
return await self._post(
459485
"/v1beta/search",

src/parallel/types/beta/beta_search_params.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
from __future__ import annotations
44

5-
from typing import Optional
6-
from typing_extensions import Literal, TypedDict
5+
from typing import List, Optional
6+
from typing_extensions import Literal, Annotated, TypedDict
77

88
from ..._types import SequenceNotStr
9+
from ..._utils import PropertyInfo
910
from .fetch_policy_param import FetchPolicyParam
11+
from .parallel_beta_param import ParallelBetaParam
1012
from .excerpt_settings_param import ExcerptSettingsParam
1113
from ..shared_params.source_policy import SourcePolicy
1214

@@ -59,3 +61,6 @@ class BetaSearchParams(TypedDict, total=False):
5961
6062
This policy governs which sources are allowed/disallowed in results.
6163
"""
64+
65+
betas: Annotated[List[ParallelBetaParam], PropertyInfo(alias="parallel-beta")]
66+
"""Optional header to specify the beta version(s) to enable."""

tests/api_resources/test_beta.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ def test_method_search_with_all_params(self, client: Parallel) -> None:
9797
"exclude_domains": ["reddit.com", "x.com", ".ai"],
9898
"include_domains": ["wikipedia.org", "usa.gov", ".edu"],
9999
},
100+
betas=["mcp-server-2025-07-17"],
100101
)
101102
assert_matches_type(SearchResult, beta, path=["response"])
102103

@@ -202,6 +203,7 @@ async def test_method_search_with_all_params(self, async_client: AsyncParallel)
202203
"exclude_domains": ["reddit.com", "x.com", ".ai"],
203204
"include_domains": ["wikipedia.org", "usa.gov", ".edu"],
204205
},
206+
betas=["mcp-server-2025-07-17"],
205207
)
206208
assert_matches_type(SearchResult, beta, path=["response"])
207209

0 commit comments

Comments
 (0)