Skip to content

Commit 1dcb41b

Browse files
release: 0.3.2 (#15)
Automated Release PR --- ## 0.3.2 (2025-10-22) Full Changelog: [v0.3.1...v0.3.2](v0.3.1...v0.3.2) ### Bug Fixes * **api:** default beta headers for /v1beta/search and /v1beta/extract ([9f8d8dd](9f8d8dd)) --- 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 b245661 commit 1dcb41b

File tree

8 files changed

+107
-16
lines changed

8 files changed

+107
-16
lines changed

.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.3.1"
2+
".": "0.3.2"
33
}

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 13
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web%2Fparallel-sdk-e853fc79f3b41f00b3934fcc2e4c2813aa9f38528548f5f596e2b11ea833019b.yml
3-
openapi_spec_hash: 34ed7e373927037fce6fd33d9bb60389
4-
config_hash: 49716a82995763fddc4308b0b302f1cb
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web%2Fparallel-sdk-9ec04ca53245a774513f3e178c29a560d6ecb3f88f936859e6311bf0d4ad1fb2.yml
3+
openapi_spec_hash: 022ed0f0e4ad23fd88f8d3a8fe003e14
4+
config_hash: 5c1316cf65d52fe3b23d4fe7acbb4baf

CHANGELOG.md

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

3+
## 0.3.2 (2025-10-22)
4+
5+
Full Changelog: [v0.3.1...v0.3.2](https://github.com/parallel-web/parallel-sdk-python/compare/v0.3.1...v0.3.2)
6+
7+
### Bug Fixes
8+
9+
* **api:** default beta headers for v1beta/search and v1beta/extract ([9f8d8dd](https://github.com/parallel-web/parallel-sdk-python/commit/9f8d8dd6e40f77fb0d1eaf6cc300cb853e734cdf))
10+
311
## 0.3.1 (2025-10-21)
412

513
Full Changelog: [v0.3.0...v0.3.1](https://github.com/parallel-web/parallel-sdk-python/compare/v0.3.0...v0.3.1)

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.3.1"
3+
version = "0.3.2"
44
description = "The official Python library for the Parallel API"
55
dynamic = ["readme"]
66
license = "MIT"

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.3.1" # x-release-please-version
4+
__version__ = "0.3.2" # x-release-please-version

src/parallel/resources/beta/beta.py

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from __future__ import annotations
44

55
from typing import List, Optional
6+
from itertools import chain
67
from typing_extensions import Literal
78

89
import httpx
@@ -123,9 +124,16 @@ def extract(
123124
timeout: Override the client-level default timeout for this request, in seconds
124125
"""
125126
extra_headers = {
126-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
127+
**strip_not_given(
128+
{
129+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
130+
if is_given(betas)
131+
else not_given
132+
}
133+
),
127134
**(extra_headers or {}),
128135
}
136+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
129137
return self._post(
130138
"/v1beta/extract",
131139
body=maybe_transform(
@@ -197,9 +205,16 @@ def search(
197205
timeout: Override the client-level default timeout for this request, in seconds
198206
"""
199207
extra_headers = {
200-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
208+
**strip_not_given(
209+
{
210+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
211+
if is_given(betas)
212+
else not_given
213+
}
214+
),
201215
**(extra_headers or {}),
202216
}
217+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
203218
return self._post(
204219
"/v1beta/search",
205220
body=maybe_transform(
@@ -299,9 +314,16 @@ async def extract(
299314
timeout: Override the client-level default timeout for this request, in seconds
300315
"""
301316
extra_headers = {
302-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
317+
**strip_not_given(
318+
{
319+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
320+
if is_given(betas)
321+
else not_given
322+
}
323+
),
303324
**(extra_headers or {}),
304325
}
326+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
305327
return await self._post(
306328
"/v1beta/extract",
307329
body=await async_maybe_transform(
@@ -373,9 +395,16 @@ async def search(
373395
timeout: Override the client-level default timeout for this request, in seconds
374396
"""
375397
extra_headers = {
376-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
398+
**strip_not_given(
399+
{
400+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
401+
if is_given(betas)
402+
else not_given
403+
}
404+
),
377405
**(extra_headers or {}),
378406
}
407+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
379408
return await self._post(
380409
"/v1beta/search",
381410
body=await async_maybe_transform(

src/parallel/resources/beta/task_group.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from __future__ import annotations
44

55
from typing import Any, Dict, List, Union, Iterable, Optional, cast
6+
from itertools import chain
67
from typing_extensions import Literal
78

89
import httpx
@@ -81,6 +82,7 @@ def create(
8182
8283
timeout: Override the client-level default timeout for this request, in seconds
8384
"""
85+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
8486
return self._post(
8587
"/v1beta/tasks/groups",
8688
body=maybe_transform({"metadata": metadata}, task_group_create_params.TaskGroupCreateParams),
@@ -115,6 +117,7 @@ def retrieve(
115117
"""
116118
if not task_group_id:
117119
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
120+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
118121
return self._get(
119122
f"/v1beta/tasks/groups/{task_group_id}",
120123
options=make_request_options(
@@ -163,9 +166,16 @@ def add_runs(
163166
if not task_group_id:
164167
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
165168
extra_headers = {
166-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
169+
**strip_not_given(
170+
{
171+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
172+
if is_given(betas)
173+
else not_given
174+
}
175+
),
167176
**(extra_headers or {}),
168177
}
178+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
169179
return self._post(
170180
f"/v1beta/tasks/groups/{task_group_id}/runs",
171181
body=maybe_transform(
@@ -212,6 +222,7 @@ def events(
212222
if not task_group_id:
213223
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
214224
extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})}
225+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
215226
return self._get(
216227
f"/v1beta/tasks/groups/{task_group_id}/events",
217228
options=make_request_options(
@@ -276,6 +287,7 @@ def get_runs(
276287
if not task_group_id:
277288
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
278289
extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})}
290+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
279291
return self._get(
280292
f"/v1beta/tasks/groups/{task_group_id}/runs",
281293
options=make_request_options(
@@ -346,6 +358,7 @@ async def create(
346358
347359
timeout: Override the client-level default timeout for this request, in seconds
348360
"""
361+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
349362
return await self._post(
350363
"/v1beta/tasks/groups",
351364
body=await async_maybe_transform({"metadata": metadata}, task_group_create_params.TaskGroupCreateParams),
@@ -380,6 +393,7 @@ async def retrieve(
380393
"""
381394
if not task_group_id:
382395
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
396+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
383397
return await self._get(
384398
f"/v1beta/tasks/groups/{task_group_id}",
385399
options=make_request_options(
@@ -428,9 +442,16 @@ async def add_runs(
428442
if not task_group_id:
429443
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
430444
extra_headers = {
431-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
445+
**strip_not_given(
446+
{
447+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
448+
if is_given(betas)
449+
else not_given
450+
}
451+
),
432452
**(extra_headers or {}),
433453
}
454+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
434455
return await self._post(
435456
f"/v1beta/tasks/groups/{task_group_id}/runs",
436457
body=await async_maybe_transform(
@@ -477,6 +498,7 @@ async def events(
477498
if not task_group_id:
478499
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
479500
extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})}
501+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
480502
return await self._get(
481503
f"/v1beta/tasks/groups/{task_group_id}/events",
482504
options=make_request_options(
@@ -541,6 +563,7 @@ async def get_runs(
541563
if not task_group_id:
542564
raise ValueError(f"Expected a non-empty value for `task_group_id` but received {task_group_id!r}")
543565
extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})}
566+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
544567
return await self._get(
545568
f"/v1beta/tasks/groups/{task_group_id}/runs",
546569
options=make_request_options(

src/parallel/resources/beta/task_run.py

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from __future__ import annotations
44

55
from typing import Any, Dict, List, Union, Iterable, Optional, cast
6+
from itertools import chain
67

78
import httpx
89

@@ -122,9 +123,16 @@ def create(
122123
timeout: Override the client-level default timeout for this request, in seconds
123124
"""
124125
extra_headers = {
125-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
126+
**strip_not_given(
127+
{
128+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
129+
if is_given(betas)
130+
else not_given
131+
}
132+
),
126133
**(extra_headers or {}),
127134
}
135+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
128136
return self._post(
129137
"/v1/tasks/runs?beta=true",
130138
body=maybe_transform(
@@ -178,6 +186,7 @@ def events(
178186
if not run_id:
179187
raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
180188
extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})}
189+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
181190
return self._get(
182191
f"/v1beta/tasks/runs/{run_id}/events",
183192
options=make_request_options(
@@ -218,9 +227,16 @@ def result(
218227
if not run_id:
219228
raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
220229
extra_headers = {
221-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
230+
**strip_not_given(
231+
{
232+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
233+
if is_given(betas)
234+
else not_given
235+
}
236+
),
222237
**(extra_headers or {}),
223238
}
239+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
224240
return self._get(
225241
f"/v1/tasks/runs/{run_id}/result?beta=true",
226242
options=make_request_options(
@@ -325,9 +341,16 @@ async def create(
325341
timeout: Override the client-level default timeout for this request, in seconds
326342
"""
327343
extra_headers = {
328-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
344+
**strip_not_given(
345+
{
346+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
347+
if is_given(betas)
348+
else not_given
349+
}
350+
),
329351
**(extra_headers or {}),
330352
}
353+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
331354
return await self._post(
332355
"/v1/tasks/runs?beta=true",
333356
body=await async_maybe_transform(
@@ -381,6 +404,7 @@ async def events(
381404
if not run_id:
382405
raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
383406
extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})}
407+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
384408
return await self._get(
385409
f"/v1beta/tasks/runs/{run_id}/events",
386410
options=make_request_options(
@@ -421,9 +445,16 @@ async def result(
421445
if not run_id:
422446
raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
423447
extra_headers = {
424-
**strip_not_given({"parallel-beta": ",".join(str(e) for e in betas) if is_given(betas) else not_given}),
448+
**strip_not_given(
449+
{
450+
"parallel-beta": ",".join(chain((str(e) for e in betas), ["search-extract-2025-10-10"]))
451+
if is_given(betas)
452+
else not_given
453+
}
454+
),
425455
**(extra_headers or {}),
426456
}
457+
extra_headers = {"parallel-beta": "search-extract-2025-10-10", **(extra_headers or {})}
427458
return await self._get(
428459
f"/v1/tasks/runs/{run_id}/result?beta=true",
429460
options=make_request_options(

0 commit comments

Comments
 (0)