Skip to content

Commit f327a0e

Browse files
release: 0.5.1 (#25)
Automated Release PR --- ## 0.5.1 (2026-04-22) Full Changelog: [v0.5.0...v0.5.1](v0.5.0...v0.5.1) ### Features * **api:** manual updates ([86c7d33](86c7d33)) * **api:** Mark search and extract as deprecated ([cfdea3b](cfdea3b)) * **api:** OpenAPI changes ([cfc5fb3](cfc5fb3)) --- This pull request is managed by Stainless's [GitHub App](https://github.com/apps/stainless-app). The [semver version number](https://semver.org/#semantic-versioning-specification-semver) is based on included [commit messages](https://www.conventionalcommits.org/en/v1.0.0/). Alternatively, you can manually set the version number in the title of this pull request. For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request. 🔗 Stainless [website](https://www.stainlessapi.com) 📚 Read the [docs](https://app.stainlessapi.com/docs) 🙋 [Reach out](mailto:support@stainlessapi.com) for help or questions --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 190be00 commit f327a0e

11 files changed

Lines changed: 261 additions & 152 deletions

File tree

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.5.0"
2+
".": "0.5.1"
33
}

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 24
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web%2Fparallel-sdk-57e1c56be0942c131ab5f24d8620de166d0721ef7f3423532abc7027e5a989e7.yml
3-
openapi_spec_hash: e61f831e30d19590eb3138a1b1709d1d
4-
config_hash: 80e7ee7ad8e3424616aca7189ffd5ae7
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web%2Fparallel-sdk-66ee13c3475d2c76f0956f258f0469903155b83ef02e839641be94cdc2014cf3.yml
3+
openapi_spec_hash: 88af7b88725bead1f8ccdcaeb436fadb
4+
config_hash: e17d82e9cb35004e5f9a9d3c4cf51aeb

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Changelog
22

3+
## 0.5.1 (2026-04-22)
4+
5+
Full Changelog: [v0.5.0...v0.5.1](https://github.com/parallel-web/parallel-sdk-python/compare/v0.5.0...v0.5.1)
6+
7+
### Features
8+
9+
* **api:** manual updates ([86c7d33](https://github.com/parallel-web/parallel-sdk-python/commit/86c7d334df7c2018d0277fe3efa93fb7029f6a41))
10+
* **api:** Mark search and extract as deprecated ([cfdea3b](https://github.com/parallel-web/parallel-sdk-python/commit/cfdea3b19622911e65c9359f0acdbd4b201d2d08))
11+
* **api:** OpenAPI changes ([cfc5fb3](https://github.com/parallel-web/parallel-sdk-python/commit/cfc5fb373a46c73c2f79057b593712d7b847ee33))
12+
313
## 0.5.0 (2026-04-21)
414

515
Full Changelog: [v0.4.2...v0.5.0](https://github.com/parallel-web/parallel-sdk-python/compare/v0.4.2...v0.5.0)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "parallel-web"
3-
version = "0.5.0"
3+
version = "0.5.1"
44
description = "The official Python library for the Parallel API"
55
dynamic = ["readme"]
66
license = "MIT"

src/parallel/_client.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,10 @@ def extract(
247247
"""
248248
Extracts relevant content from specific web URLs.
249249
250-
The legacy Extract API reference is available
251-
[here](https://docs.parallel.ai/api-reference/legacy/extract-beta/extract).
250+
The legacy Extract API reference (`/v1beta/extract` endpoint) is available
251+
[here](https://docs.parallel.ai/api-reference/legacy/extract-beta/extract), and
252+
migration guide is
253+
[here](https://docs.parallel.ai/extract/extract-migration-guide).
252254
253255
Args:
254256
urls: URLs to extract content from. Up to 20 URLs.
@@ -322,8 +324,10 @@ def search(
322324
"""
323325
Searches the web.
324326
325-
The legacy Search API reference is available
326-
[here](https://docs.parallel.ai/api-reference/legacy/search-beta/search).
327+
The legacy Search API reference (`/v1beta/search` endpoint) is available
328+
[here](https://docs.parallel.ai/api-reference/legacy/search-beta/search), and
329+
migration guide is
330+
[here](https://docs.parallel.ai/search/search-migration-guide).
327331
328332
Args:
329333
search_queries: Concise keyword search queries, 3-6 words each. At least one query is required,
@@ -594,8 +598,10 @@ async def extract(
594598
"""
595599
Extracts relevant content from specific web URLs.
596600
597-
The legacy Extract API reference is available
598-
[here](https://docs.parallel.ai/api-reference/legacy/extract-beta/extract).
601+
The legacy Extract API reference (`/v1beta/extract` endpoint) is available
602+
[here](https://docs.parallel.ai/api-reference/legacy/extract-beta/extract), and
603+
migration guide is
604+
[here](https://docs.parallel.ai/extract/extract-migration-guide).
599605
600606
Args:
601607
urls: URLs to extract content from. Up to 20 URLs.
@@ -669,8 +675,10 @@ async def search(
669675
"""
670676
Searches the web.
671677
672-
The legacy Search API reference is available
673-
[here](https://docs.parallel.ai/api-reference/legacy/search-beta/search).
678+
The legacy Search API reference (`/v1beta/search` endpoint) is available
679+
[here](https://docs.parallel.ai/api-reference/legacy/search-beta/search), and
680+
migration guide is
681+
[here](https://docs.parallel.ai/search/search-migration-guide).
674682
675683
Args:
676684
search_queries: Concise keyword search queries, 3-6 words each. At least one query is required,

src/parallel/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "parallel"
4-
__version__ = "0.5.0" # x-release-please-version
4+
__version__ = "0.5.1" # x-release-please-version

src/parallel/resources/beta/beta.py

Lines changed: 65 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
import typing_extensions
56
from typing import List, Optional
67
from itertools import chain
78
from typing_extensions import Literal
@@ -113,10 +114,14 @@ def with_streaming_response(self) -> BetaResourceWithStreamingResponse:
113114
"""
114115
return BetaResourceWithStreamingResponse(self)
115116

117+
@typing_extensions.deprecated(
118+
"Use client.extract instead. For more info, see https://docs.parallel.ai/extract/extract-migration-guide"
119+
)
116120
def extract(
117121
self,
118122
*,
119123
urls: SequenceNotStr[str],
124+
client_model: Optional[str] | Omit = omit,
120125
excerpts: beta_extract_params.Excerpts | Omit = omit,
121126
fetch_policy: Optional[FetchPolicyParam] | Omit = omit,
122127
full_content: beta_extract_params.FullContent | Omit = omit,
@@ -138,6 +143,9 @@ def extract(
138143
`search-extract-2025-10-10`.
139144
140145
Args:
146+
client_model: The model generating this request and consuming the results. Enables
147+
optimizations and tailors default settings for the model's capabilities.
148+
141149
excerpts: Include excerpts from each URL relevant to the search objective and queries.
142150
Note that if neither objective nor search_queries is provided, excerpts are
143151
redundant with full content.
@@ -181,6 +189,7 @@ def extract(
181189
body=maybe_transform(
182190
{
183191
"urls": urls,
192+
"client_model": client_model,
184193
"excerpts": excerpts,
185194
"fetch_policy": fetch_policy,
186195
"full_content": full_content,
@@ -196,9 +205,13 @@ def extract(
196205
cast_to=ExtractResponse,
197206
)
198207

208+
@typing_extensions.deprecated(
209+
"Use client.search instead. For more info, see https://docs.parallel.ai/search/search-migration-guide"
210+
)
199211
def search(
200212
self,
201213
*,
214+
client_model: Optional[str] | Omit = omit,
202215
excerpts: ExcerptSettingsParam | Omit = omit,
203216
fetch_policy: Optional[FetchPolicyParam] | Omit = omit,
204217
location: Optional[str] | Omit = omit,
@@ -222,6 +235,9 @@ def search(
222235
Searches the web.
223236
224237
Args:
238+
client_model: The model generating this request and consuming the results. Enables
239+
optimizations and tailors default settings for the model's capabilities.
240+
225241
excerpts: Optional settings to configure excerpt generation.
226242
227243
fetch_policy: Policy for live fetching web results.
@@ -284,6 +300,7 @@ def search(
284300
"/v1beta/search",
285301
body=maybe_transform(
286302
{
303+
"client_model": client_model,
287304
"excerpts": excerpts,
288305
"fetch_policy": fetch_policy,
289306
"location": location,
@@ -364,10 +381,14 @@ def with_streaming_response(self) -> AsyncBetaResourceWithStreamingResponse:
364381
"""
365382
return AsyncBetaResourceWithStreamingResponse(self)
366383

384+
@typing_extensions.deprecated(
385+
"Use client.extract instead. For more info, see https://docs.parallel.ai/extract/extract-migration-guide"
386+
)
367387
async def extract(
368388
self,
369389
*,
370390
urls: SequenceNotStr[str],
391+
client_model: Optional[str] | Omit = omit,
371392
excerpts: beta_extract_params.Excerpts | Omit = omit,
372393
fetch_policy: Optional[FetchPolicyParam] | Omit = omit,
373394
full_content: beta_extract_params.FullContent | Omit = omit,
@@ -389,6 +410,9 @@ async def extract(
389410
`search-extract-2025-10-10`.
390411
391412
Args:
413+
client_model: The model generating this request and consuming the results. Enables
414+
optimizations and tailors default settings for the model's capabilities.
415+
392416
excerpts: Include excerpts from each URL relevant to the search objective and queries.
393417
Note that if neither objective nor search_queries is provided, excerpts are
394418
redundant with full content.
@@ -432,6 +456,7 @@ async def extract(
432456
body=await async_maybe_transform(
433457
{
434458
"urls": urls,
459+
"client_model": client_model,
435460
"excerpts": excerpts,
436461
"fetch_policy": fetch_policy,
437462
"full_content": full_content,
@@ -447,9 +472,13 @@ async def extract(
447472
cast_to=ExtractResponse,
448473
)
449474

475+
@typing_extensions.deprecated(
476+
"Use client.search instead. For more info, see https://docs.parallel.ai/search/search-migration-guide"
477+
)
450478
async def search(
451479
self,
452480
*,
481+
client_model: Optional[str] | Omit = omit,
453482
excerpts: ExcerptSettingsParam | Omit = omit,
454483
fetch_policy: Optional[FetchPolicyParam] | Omit = omit,
455484
location: Optional[str] | Omit = omit,
@@ -473,6 +502,9 @@ async def search(
473502
Searches the web.
474503
475504
Args:
505+
client_model: The model generating this request and consuming the results. Enables
506+
optimizations and tailors default settings for the model's capabilities.
507+
476508
excerpts: Optional settings to configure excerpt generation.
477509
478510
fetch_policy: Policy for live fetching web results.
@@ -535,6 +567,7 @@ async def search(
535567
"/v1beta/search",
536568
body=await async_maybe_transform(
537569
{
570+
"client_model": client_model,
538571
"excerpts": excerpts,
539572
"fetch_policy": fetch_policy,
540573
"location": location,
@@ -560,11 +593,15 @@ class BetaResourceWithRawResponse:
560593
def __init__(self, beta: BetaResource) -> None:
561594
self._beta = beta
562595

563-
self.extract = to_raw_response_wrapper(
564-
beta.extract,
596+
self.extract = ( # pyright: ignore[reportDeprecated]
597+
to_raw_response_wrapper(
598+
beta.extract, # pyright: ignore[reportDeprecated],
599+
)
565600
)
566-
self.search = to_raw_response_wrapper(
567-
beta.search,
601+
self.search = ( # pyright: ignore[reportDeprecated]
602+
to_raw_response_wrapper(
603+
beta.search, # pyright: ignore[reportDeprecated],
604+
)
568605
)
569606

570607
@cached_property
@@ -611,11 +648,15 @@ class AsyncBetaResourceWithRawResponse:
611648
def __init__(self, beta: AsyncBetaResource) -> None:
612649
self._beta = beta
613650

614-
self.extract = async_to_raw_response_wrapper(
615-
beta.extract,
651+
self.extract = ( # pyright: ignore[reportDeprecated]
652+
async_to_raw_response_wrapper(
653+
beta.extract, # pyright: ignore[reportDeprecated],
654+
)
616655
)
617-
self.search = async_to_raw_response_wrapper(
618-
beta.search,
656+
self.search = ( # pyright: ignore[reportDeprecated]
657+
async_to_raw_response_wrapper(
658+
beta.search, # pyright: ignore[reportDeprecated],
659+
)
619660
)
620661

621662
@cached_property
@@ -662,11 +703,15 @@ class BetaResourceWithStreamingResponse:
662703
def __init__(self, beta: BetaResource) -> None:
663704
self._beta = beta
664705

665-
self.extract = to_streamed_response_wrapper(
666-
beta.extract,
706+
self.extract = ( # pyright: ignore[reportDeprecated]
707+
to_streamed_response_wrapper(
708+
beta.extract, # pyright: ignore[reportDeprecated],
709+
)
667710
)
668-
self.search = to_streamed_response_wrapper(
669-
beta.search,
711+
self.search = ( # pyright: ignore[reportDeprecated]
712+
to_streamed_response_wrapper(
713+
beta.search, # pyright: ignore[reportDeprecated],
714+
)
670715
)
671716

672717
@cached_property
@@ -713,11 +758,15 @@ class AsyncBetaResourceWithStreamingResponse:
713758
def __init__(self, beta: AsyncBetaResource) -> None:
714759
self._beta = beta
715760

716-
self.extract = async_to_streamed_response_wrapper(
717-
beta.extract,
761+
self.extract = ( # pyright: ignore[reportDeprecated]
762+
async_to_streamed_response_wrapper(
763+
beta.extract, # pyright: ignore[reportDeprecated],
764+
)
718765
)
719-
self.search = async_to_streamed_response_wrapper(
720-
beta.search,
766+
self.search = ( # pyright: ignore[reportDeprecated]
767+
async_to_streamed_response_wrapper(
768+
beta.search, # pyright: ignore[reportDeprecated],
769+
)
721770
)
722771

723772
@cached_property

src/parallel/types/beta/beta_extract_params.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
class BetaExtractParams(TypedDict, total=False):
1818
urls: Required[SequenceNotStr[str]]
1919

20+
client_model: Optional[str]
21+
"""The model generating this request and consuming the results.
22+
23+
Enables optimizations and tailors default settings for the model's capabilities.
24+
"""
25+
2026
excerpts: Excerpts
2127
"""Include excerpts from each URL relevant to the search objective and queries.
2228

src/parallel/types/beta/beta_search_params.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616

1717

1818
class BetaSearchParams(TypedDict, total=False):
19+
client_model: Optional[str]
20+
"""The model generating this request and consuming the results.
21+
22+
Enables optimizations and tailors default settings for the model's capabilities.
23+
"""
24+
1925
excerpts: ExcerptSettingsParam
2026
"""Optional settings to configure excerpt generation."""
2127

0 commit comments

Comments
 (0)