Skip to content

Commit de729b6

Browse files
release: 0.4.0 (#21)
Automated Release PR --- ## 0.4.0 (2026-01-13) Full Changelog: [v0.3.4...v0.4.0](v0.3.4...v0.4.0) ### Features * **api:** add after_date, update findAll nomenclature ([3641ac6](3641ac6)) * **api:** Update excerpt settings ([bafa464](bafa464)) ### Bug Fixes * ensure streams are always closed ([3251033](3251033)) * **types:** allow pyright to infer TypedDict types within SequenceNotStr ([f134f9b](f134f9b)) * use async_to_httpx_files in patch method ([b147da5](b147da5)) ### Chores * add missing docstrings ([05118fc](05118fc)) * add Python 3.14 classifier and testing ([5588224](5588224)) * **api:** update default headers ([16949bf](16949bf)) * **deps:** mypy 1.18.1 has a regression, pin to 1.17 ([e327c6e](e327c6e)) * **docs:** use environment variables for authentication in code snippets ([e44bc95](e44bc95)) * **internal:** add `--fix` argument to lint script ([8b25ed1](8b25ed1)) * **internal:** add missing files argument to base client ([9bc7dc6](9bc7dc6)) * **internal:** codegen related update ([2eb1adc](2eb1adc)) * speedup initial import ([2927603](2927603)) * update lockfile ([37bb7a6](37bb7a6)) --- 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> Co-authored-by: Kumar Saunack <kumar@shapley.ai>
1 parent 1f8e5c4 commit de729b6

File tree

83 files changed

+928
-749
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+928
-749
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.4"
2+
".": "0.4.0"
33
}

.stats.yml

Lines changed: 3 additions & 3 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-70ca78f3dbacd1f8145c633b64c2d9eec9f390db6110ce98705427248a22f19f.yml
3-
openapi_spec_hash: 877617cbe6e7a48410632dbb57ff5488
4-
config_hash: 6a16116c579cf9a3739083c24b10534d
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web%2Fparallel-sdk-105d778ad64daf94bc1a8b074c609be5200c570c8a3e9fb646d418d572083dac.yml
3+
openapi_spec_hash: b5d7390ed05ec6f332a1a91266a74ac3
4+
config_hash: a398d153133d8884bed4e5256a0ae818

CHANGELOG.md

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

3+
## 0.4.0 (2026-01-13)
4+
5+
Full Changelog: [v0.3.4...v0.4.0](https://github.com/parallel-web/parallel-sdk-python/compare/v0.3.4...v0.4.0)
6+
7+
### Features
8+
9+
* **api:** add after_date, update findAll nomenclature ([3641ac6](https://github.com/parallel-web/parallel-sdk-python/commit/3641ac619abdf3f0acd9085c515f3bed19c9bdd2))
10+
* **api:** Update excerpt settings ([bafa464](https://github.com/parallel-web/parallel-sdk-python/commit/bafa464c3f124690387410b0d17bf8a1253e8e63))
11+
12+
13+
### Bug Fixes
14+
15+
* ensure streams are always closed ([3251033](https://github.com/parallel-web/parallel-sdk-python/commit/325103322362df0fe730362841dbc0d4b3a60c18))
16+
* **types:** allow pyright to infer TypedDict types within SequenceNotStr ([f134f9b](https://github.com/parallel-web/parallel-sdk-python/commit/f134f9bf488bdcd80088fc7752b5d33d84fcca66))
17+
* use async_to_httpx_files in patch method ([b147da5](https://github.com/parallel-web/parallel-sdk-python/commit/b147da50e3d4b13868908c5c40e0ddecc5489e19))
18+
19+
20+
### Chores
21+
22+
* add missing docstrings ([05118fc](https://github.com/parallel-web/parallel-sdk-python/commit/05118fc081e6907ac0cdde365e5ed364f49b769c))
23+
* add Python 3.14 classifier and testing ([5588224](https://github.com/parallel-web/parallel-sdk-python/commit/558822483f60eb430a795e0ee5c6ac780c5f56c1))
24+
* **api:** update default headers ([16949bf](https://github.com/parallel-web/parallel-sdk-python/commit/16949bfab087cf2f6e6e4f2dc3a503a4a7fa285f))
25+
* **deps:** mypy 1.18.1 has a regression, pin to 1.17 ([e327c6e](https://github.com/parallel-web/parallel-sdk-python/commit/e327c6e2ba27b3dd565c3f36537643889b4c43e8))
26+
* **docs:** use environment variables for authentication in code snippets ([e44bc95](https://github.com/parallel-web/parallel-sdk-python/commit/e44bc9528e5e16f243aa8dee4633730d2899c72d))
27+
* **internal:** add `--fix` argument to lint script ([8b25ed1](https://github.com/parallel-web/parallel-sdk-python/commit/8b25ed10edef5697bce6bc74a3f628029da28d12))
28+
* **internal:** add missing files argument to base client ([9bc7dc6](https://github.com/parallel-web/parallel-sdk-python/commit/9bc7dc653a4f75da0c5af3297170a16b1df91875))
29+
* **internal:** codegen related update ([2eb1adc](https://github.com/parallel-web/parallel-sdk-python/commit/2eb1adc9884c03202107eb5987b6ea0717dd3a6a))
30+
* speedup initial import ([2927603](https://github.com/parallel-web/parallel-sdk-python/commit/2927603782bc242da5b6d7622963452dd24154e7))
31+
* update lockfile ([37bb7a6](https://github.com/parallel-web/parallel-sdk-python/commit/37bb7a6d321646946f52d37455fc5ad1a2458154))
32+
333
## 0.3.4 (2025-11-12)
434

535
Full Changelog: [v0.3.3...v0.3.4](https://github.com/parallel-web/parallel-sdk-python/compare/v0.3.3...v0.3.4)

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2025 Parallel
1+
Copyright 2026 Parallel
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
44

api.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -103,35 +103,34 @@ Methods:
103103
- <code title="get /v1beta/tasks/groups/{taskgroup_id}/events">client.beta.task_group.<a href="./src/parallel/resources/beta/task_group.py">events</a>(task_group_id, \*\*<a href="src/parallel/types/beta/task_group_events_params.py">params</a>) -> <a href="./src/parallel/types/beta/task_group_events_response.py">TaskGroupEventsResponse</a></code>
104104
- <code title="get /v1beta/tasks/groups/{taskgroup_id}/runs">client.beta.task_group.<a href="./src/parallel/resources/beta/task_group.py">get_runs</a>(task_group_id, \*\*<a href="src/parallel/types/beta/task_group_get_runs_params.py">params</a>) -> <a href="./src/parallel/types/beta/task_group_get_runs_response.py">TaskGroupGetRunsResponse</a></code>
105105

106-
## Findall
106+
## FindAll
107107

108108
Types:
109109

110110
```python
111111
from parallel.types.beta import (
112-
FindallCandidateMatchStatusEvent,
113-
FindallEnrichInput,
114-
FindallExtendInput,
115-
FindallRun,
116-
FindallRunInput,
117-
FindallRunResult,
118-
FindallRunStatusEvent,
119-
FindallSchema,
120-
FindallSchemaUpdatedEvent,
112+
FindAllCandidateMatchStatusEvent,
113+
FindAllEnrichInput,
114+
FindAllExtendInput,
115+
FindAllRun,
116+
FindAllRunInput,
117+
FindAllRunResult,
118+
FindAllRunStatusEvent,
119+
FindAllSchema,
120+
FindAllSchemaUpdatedEvent,
121121
IngestInput,
122-
FindallRetrieveResponse,
123-
FindallEventsResponse,
122+
FindAllEventsResponse,
124123
)
125124
```
126125

127126
Methods:
128127

129-
- <code title="post /v1beta/findall/runs">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">create</a>(\*\*<a href="src/parallel/types/beta/findall_create_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_run.py">FindallRun</a></code>
130-
- <code title="get /v1beta/findall/runs/{findall_id}">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">retrieve</a>(findall_id) -> <a href="./src/parallel/types/beta/findall_retrieve_response.py">FindallRetrieveResponse</a></code>
128+
- <code title="post /v1beta/findall/runs">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">create</a>(\*\*<a href="src/parallel/types/beta/findall_create_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_run.py">FindAllRun</a></code>
129+
- <code title="get /v1beta/findall/runs/{findall_id}">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">retrieve</a>(findall_id) -> <a href="./src/parallel/types/beta/findall_run.py">FindAllRun</a></code>
131130
- <code title="post /v1beta/findall/runs/{findall_id}/cancel">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">cancel</a>(findall_id) -> object</code>
132-
- <code title="post /v1beta/findall/runs/{findall_id}/enrich">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">enrich</a>(findall_id, \*\*<a href="src/parallel/types/beta/findall_enrich_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_schema.py">FindallSchema</a></code>
133-
- <code title="get /v1beta/findall/runs/{findall_id}/events">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">events</a>(findall_id, \*\*<a href="src/parallel/types/beta/findall_events_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_events_response.py">FindallEventsResponse</a></code>
134-
- <code title="post /v1beta/findall/runs/{findall_id}/extend">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">extend</a>(findall_id, \*\*<a href="src/parallel/types/beta/findall_extend_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_schema.py">FindallSchema</a></code>
135-
- <code title="post /v1beta/findall/ingest">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">ingest</a>(\*\*<a href="src/parallel/types/beta/findall_ingest_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_schema.py">FindallSchema</a></code>
136-
- <code title="get /v1beta/findall/runs/{findall_id}/result">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">result</a>(findall_id) -> <a href="./src/parallel/types/beta/findall_run_result.py">FindallRunResult</a></code>
137-
- <code title="get /v1beta/findall/runs/{findall_id}/schema">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">schema</a>(findall_id) -> <a href="./src/parallel/types/beta/findall_schema.py">FindallSchema</a></code>
131+
- <code title="post /v1beta/findall/runs/{findall_id}/enrich">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">enrich</a>(findall_id, \*\*<a href="src/parallel/types/beta/findall_enrich_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_schema.py">FindAllSchema</a></code>
132+
- <code title="get /v1beta/findall/runs/{findall_id}/events">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">events</a>(findall_id, \*\*<a href="src/parallel/types/beta/findall_events_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_events_response.py">FindAllEventsResponse</a></code>
133+
- <code title="post /v1beta/findall/runs/{findall_id}/extend">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">extend</a>(findall_id, \*\*<a href="src/parallel/types/beta/findall_extend_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_schema.py">FindAllSchema</a></code>
134+
- <code title="post /v1beta/findall/ingest">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">ingest</a>(\*\*<a href="src/parallel/types/beta/findall_ingest_params.py">params</a>) -> <a href="./src/parallel/types/beta/findall_schema.py">FindAllSchema</a></code>
135+
- <code title="get /v1beta/findall/runs/{findall_id}/result">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">result</a>(findall_id) -> <a href="./src/parallel/types/beta/findall_run_result.py">FindAllRunResult</a></code>
136+
- <code title="get /v1beta/findall/runs/{findall_id}/schema">client.beta.findall.<a href="./src/parallel/resources/beta/findall.py">schema</a>(findall_id) -> <a href="./src/parallel/types/beta/findall_schema.py">FindAllSchema</a></code>

pyproject.toml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
[project]
22
name = "parallel-web"
3-
version = "0.3.4"
3+
version = "0.4.0"
44
description = "The official Python library for the Parallel API"
55
dynamic = ["readme"]
66
license = "MIT"
77
authors = [
88
{ name = "Parallel", email = "support@parallel.ai" },
99
]
10+
1011
dependencies = [
11-
"httpx>=0.23.0, <1",
12-
"pydantic>=1.9.0, <3",
13-
"typing-extensions>=4.10, <5",
14-
"anyio>=3.5.0, <5",
15-
"distro>=1.7.0, <2",
16-
"sniffio",
12+
"httpx>=0.23.0, <1",
13+
"pydantic>=1.9.0, <3",
14+
"typing-extensions>=4.10, <5",
15+
"anyio>=3.5.0, <5",
16+
"distro>=1.7.0, <2",
17+
"sniffio",
1718
]
19+
1820
requires-python = ">= 3.9"
1921
classifiers = [
2022
"Typing :: Typed",
@@ -24,6 +26,7 @@ classifiers = [
2426
"Programming Language :: Python :: 3.11",
2527
"Programming Language :: Python :: 3.12",
2628
"Programming Language :: Python :: 3.13",
29+
"Programming Language :: Python :: 3.14",
2730
"Operating System :: OS Independent",
2831
"Operating System :: POSIX",
2932
"Operating System :: MacOS",
@@ -45,7 +48,7 @@ managed = true
4548
# version pins are in requirements-dev.lock
4649
dev-dependencies = [
4750
"pyright==1.1.399",
48-
"mypy",
51+
"mypy==1.17",
4952
"respx",
5053
"pytest",
5154
"pytest-asyncio",

requirements-dev.lock

Lines changed: 63 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -12,45 +12,50 @@
1212
-e file:.
1313
aiohappyeyeballs==2.6.1
1414
# via aiohttp
15-
aiohttp==3.12.8
15+
aiohttp==3.13.2
1616
# via httpx-aiohttp
1717
# via parallel-web
18-
aiosignal==1.3.2
18+
aiosignal==1.4.0
1919
# via aiohttp
20-
annotated-types==0.6.0
20+
annotated-types==0.7.0
2121
# via pydantic
22-
anyio==4.4.0
22+
anyio==4.12.0
2323
# via httpx
2424
# via parallel-web
25-
argcomplete==3.1.2
25+
argcomplete==3.6.3
2626
# via nox
2727
async-timeout==5.0.1
2828
# via aiohttp
29-
attrs==25.3.0
29+
attrs==25.4.0
3030
# via aiohttp
31-
certifi==2023.7.22
31+
# via nox
32+
backports-asyncio-runner==1.2.0
33+
# via pytest-asyncio
34+
certifi==2025.11.12
3235
# via httpcore
3336
# via httpx
3437
colorama==0.4.6
3538
# via griffe
36-
colorlog==6.7.0
39+
colorlog==6.10.1
40+
# via nox
41+
dependency-groups==1.3.1
3742
# via nox
38-
dirty-equals==0.6.0
39-
distlib==0.3.7
43+
dirty-equals==0.11
44+
distlib==0.4.0
4045
# via virtualenv
41-
distro==1.8.0
46+
distro==1.9.0
4247
# via parallel-web
43-
exceptiongroup==1.2.2
48+
exceptiongroup==1.3.1
4449
# via anyio
4550
# via pytest
46-
execnet==2.1.1
51+
execnet==2.1.2
4752
# via pytest-xdist
48-
filelock==3.12.4
53+
filelock==3.19.1
4954
# via virtualenv
50-
frozenlist==1.6.2
55+
frozenlist==1.8.0
5156
# via aiohttp
5257
# via aiosignal
53-
griffe==1.13.0
58+
griffe==1.14.0
5459
h11==0.16.0
5560
# via httpcore
5661
httpcore==1.0.9
@@ -61,80 +66,87 @@ httpx==0.28.1
6166
# via respx
6267
httpx-aiohttp==0.1.9
6368
# via parallel-web
64-
idna==3.4
69+
humanize==4.13.0
70+
# via nox
71+
idna==3.11
6572
# via anyio
6673
# via httpx
6774
# via yarl
68-
importlib-metadata==7.0.0
69-
iniconfig==2.0.0
75+
importlib-metadata==8.7.0
76+
iniconfig==2.1.0
7077
# via pytest
7178
markdown-it-py==3.0.0
7279
# via rich
7380
mdurl==0.1.2
7481
# via markdown-it-py
75-
multidict==6.4.4
82+
multidict==6.7.0
7683
# via aiohttp
7784
# via yarl
78-
mypy==1.14.1
79-
mypy-extensions==1.0.0
85+
mypy==1.17.0
86+
mypy-extensions==1.1.0
8087
# via mypy
81-
nodeenv==1.8.0
88+
nodeenv==1.9.1
8289
# via pyright
83-
nox==2023.4.22
84-
packaging==23.2
90+
nox==2025.11.12
91+
packaging==25.0
92+
# via dependency-groups
8593
# via nox
8694
# via pytest
87-
platformdirs==3.11.0
95+
pathspec==0.12.1
96+
# via mypy
97+
platformdirs==4.4.0
8898
# via virtualenv
89-
pluggy==1.5.0
99+
pluggy==1.6.0
90100
# via pytest
91-
propcache==0.3.1
101+
propcache==0.4.1
92102
# via aiohttp
93103
# via yarl
94-
pydantic==2.11.9
104+
pydantic==2.12.5
95105
# via parallel-web
96-
pydantic-core==2.33.2
106+
pydantic-core==2.41.5
97107
# via pydantic
98-
pygments==2.18.0
108+
pygments==2.19.2
109+
# via pytest
99110
# via rich
100111
pyright==1.1.399
101-
pytest==8.3.3
112+
pytest==8.4.2
102113
# via pytest-asyncio
103114
# via pytest-xdist
104-
pytest-asyncio==0.24.0
105-
pytest-xdist==3.7.0
106-
python-dateutil==2.8.2
115+
pytest-asyncio==1.2.0
116+
pytest-xdist==3.8.0
117+
python-dateutil==2.9.0.post0
107118
# via time-machine
108-
pytz==2023.3.post1
109-
# via dirty-equals
110119
respx==0.22.0
111-
rich==13.7.1
112-
ruff==0.9.4
113-
setuptools==68.2.2
114-
# via nodeenv
115-
six==1.16.0
120+
rich==14.2.0
121+
ruff==0.14.7
122+
six==1.17.0
116123
# via python-dateutil
117-
sniffio==1.3.0
118-
# via anyio
124+
sniffio==1.3.1
119125
# via parallel-web
120-
time-machine==2.9.0
121-
tomli==2.0.2
126+
time-machine==2.19.0
127+
tomli==2.3.0
128+
# via dependency-groups
122129
# via mypy
130+
# via nox
123131
# via pytest
124-
typing-extensions==4.12.2
132+
typing-extensions==4.15.0
133+
# via aiosignal
125134
# via anyio
135+
# via exceptiongroup
126136
# via multidict
127137
# via mypy
128138
# via parallel-web
129139
# via pydantic
130140
# via pydantic-core
131141
# via pyright
142+
# via pytest-asyncio
132143
# via typing-inspection
133-
typing-inspection==0.4.1
144+
# via virtualenv
145+
typing-inspection==0.4.2
134146
# via pydantic
135-
virtualenv==20.24.5
147+
virtualenv==20.35.4
136148
# via nox
137-
yarl==1.20.0
149+
yarl==1.22.0
138150
# via aiohttp
139-
zipp==3.17.0
151+
zipp==3.23.0
140152
# via importlib-metadata

0 commit comments

Comments
 (0)