parallel-web 0.1.2__py3-none-any.whl → 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of parallel-web might be problematic. Click here for more details.

Files changed (74) hide show
  1. parallel/__init__.py +2 -1
  2. parallel/_base_client.py +34 -2
  3. parallel/_client.py +9 -0
  4. parallel/_compat.py +1 -0
  5. parallel/_constants.py +2 -0
  6. parallel/_files.py +4 -4
  7. parallel/_models.py +32 -8
  8. parallel/_types.py +35 -1
  9. parallel/_utils/__init__.py +1 -0
  10. parallel/_utils/_typing.py +5 -0
  11. parallel/_version.py +1 -1
  12. parallel/lib/_pydantic.py +1 -0
  13. parallel/lib/_time.py +2 -2
  14. parallel/resources/__init__.py +14 -0
  15. parallel/resources/beta/__init__.py +47 -0
  16. parallel/resources/beta/beta.py +301 -0
  17. parallel/resources/beta/task_group.py +632 -0
  18. parallel/resources/beta/task_run.py +499 -0
  19. parallel/resources/task_run.py +47 -18
  20. parallel/types/__init__.py +15 -0
  21. parallel/types/auto_schema.py +13 -0
  22. parallel/types/auto_schema_param.py +12 -0
  23. parallel/types/beta/__init__.py +30 -0
  24. parallel/types/beta/beta_run_input.py +63 -0
  25. parallel/types/beta/beta_run_input_param.py +65 -0
  26. parallel/types/beta/beta_search_params.py +47 -0
  27. parallel/types/beta/beta_task_run_result.py +74 -0
  28. parallel/types/beta/error_event.py +16 -0
  29. parallel/types/beta/mcp_server.py +25 -0
  30. parallel/types/beta/mcp_server_param.py +25 -0
  31. parallel/types/beta/mcp_tool_call.py +27 -0
  32. parallel/types/beta/parallel_beta_param.py +12 -0
  33. parallel/types/beta/search_result.py +16 -0
  34. parallel/types/beta/task_group.py +24 -0
  35. parallel/types/beta/task_group_add_runs_params.py +30 -0
  36. parallel/types/beta/task_group_create_params.py +13 -0
  37. parallel/types/beta/task_group_events_params.py +16 -0
  38. parallel/types/beta/task_group_events_response.py +28 -0
  39. parallel/types/beta/task_group_get_runs_params.py +18 -0
  40. parallel/types/beta/task_group_get_runs_response.py +12 -0
  41. parallel/types/beta/task_group_run_response.py +30 -0
  42. parallel/types/beta/task_group_status.py +27 -0
  43. parallel/types/beta/task_run_create_params.py +70 -0
  44. parallel/types/beta/task_run_event.py +32 -0
  45. parallel/types/beta/task_run_events_response.py +58 -0
  46. parallel/types/beta/task_run_result_params.py +18 -0
  47. parallel/types/beta/web_search_result.py +18 -0
  48. parallel/types/beta/webhook.py +16 -0
  49. parallel/types/beta/webhook_param.py +16 -0
  50. parallel/types/citation.py +21 -0
  51. parallel/types/field_basis.py +25 -0
  52. parallel/types/json_schema.py +16 -0
  53. parallel/types/json_schema_param.py +2 -1
  54. parallel/types/parsed_task_run_result.py +13 -4
  55. parallel/types/shared/__init__.py +6 -0
  56. parallel/types/shared/error_object.py +18 -0
  57. parallel/types/shared/error_response.py +16 -0
  58. parallel/types/shared/source_policy.py +21 -0
  59. parallel/types/shared/warning.py +22 -0
  60. parallel/types/shared_params/__init__.py +3 -0
  61. parallel/types/shared_params/source_policy.py +22 -0
  62. parallel/types/task_run.py +17 -18
  63. parallel/types/task_run_create_params.py +12 -3
  64. parallel/types/task_run_json_output.py +46 -0
  65. parallel/types/task_run_result.py +24 -94
  66. parallel/types/task_run_text_output.py +37 -0
  67. parallel/types/task_spec.py +31 -0
  68. parallel/types/task_spec_param.py +3 -2
  69. parallel/types/text_schema.py +16 -0
  70. {parallel_web-0.1.2.dist-info → parallel_web-0.2.0.dist-info}/METADATA +48 -136
  71. parallel_web-0.2.0.dist-info/RECORD +94 -0
  72. parallel_web-0.1.2.dist-info/RECORD +0 -47
  73. {parallel_web-0.1.2.dist-info → parallel_web-0.2.0.dist-info}/WHEEL +0 -0
  74. {parallel_web-0.1.2.dist-info → parallel_web-0.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: parallel-web
3
- Version: 0.1.2
3
+ Version: 0.2.0
4
4
  Summary: The official Python library for the Parallel API
5
5
  Project-URL: Homepage, https://github.com/parallel-web/parallel-sdk-python
6
6
  Project-URL: Repository, https://github.com/parallel-web/parallel-sdk-python
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.9
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.8
@@ -27,11 +28,15 @@ Requires-Dist: httpx<1,>=0.23.0
27
28
  Requires-Dist: pydantic<3,>=1.9.0
28
29
  Requires-Dist: sniffio
29
30
  Requires-Dist: typing-extensions<5,>=4.10
31
+ Provides-Extra: aiohttp
32
+ Requires-Dist: aiohttp; extra == 'aiohttp'
33
+ Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
30
34
  Description-Content-Type: text/markdown
31
35
 
32
36
  # Parallel Python API library
33
37
 
34
- [![PyPI version](https://github.com/parallel-web/parallel-sdk-python/tree/main/<https://img.shields.io/pypi/v/parallel-web.svg?label=pypi%20(stable)>)](https://pypi.org/project/parallel-web/)
38
+ <!-- prettier-ignore -->
39
+ [![PyPI version](https://img.shields.io/pypi/v/parallel-web.svg?label=pypi%20(stable))](https://pypi.org/project/parallel-web/)
35
40
 
36
41
  The Parallel Python library provides convenient access to the Parallel REST API from any Python 3.8+
37
42
  application. The library includes type definitions for all request params and response fields,
@@ -42,7 +47,7 @@ It is generated with [Stainless](https://www.stainless.com/).
42
47
 
43
48
  ## Documentation
44
49
 
45
- The REST API documentation can be found on our [docs](https://docs.parallel.ai).
50
+ The REST API documentation can be found in our [docs](https://docs.parallel.ai).
46
51
  The full API of this Python library can be found in [api.md](https://github.com/parallel-web/parallel-sdk-python/tree/main/api.md).
47
52
 
48
53
  ## Installation
@@ -64,12 +69,12 @@ client = Parallel(
64
69
  api_key=os.environ.get("PARALLEL_API_KEY"), # This is the default and can be omitted
65
70
  )
66
71
 
67
- run_result = client.task_run.execute(
72
+ task_run = client.task_run.create(
68
73
  input="France (2023)",
69
74
  processor="core",
70
- output="GDP"
71
75
  )
72
- print(run_result.output)
76
+ task_run_result = client.task_run.result(run_id=task_run.run_id)
77
+ print(task_run_result.output)
73
78
  ```
74
79
 
75
80
  While you can provide an `api_key` keyword argument,
@@ -77,6 +82,11 @@ we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
77
82
  to add `PARALLEL_API_KEY="My API Key"` to your `.env` file
78
83
  so that your API Key is not stored in source control.
79
84
 
85
+ The API also supports typed inputs and outputs via Pydantic objects. See the relevant
86
+ section on [convenience methods](https://github.com/parallel-web/parallel-sdk-python/tree/main/#convenience-methods).
87
+
88
+ For information on what tasks are and how to specify them, see [our docs](https://docs.parallel.ai/task-api/core-concepts/specify-a-task).
89
+
80
90
  ## Async usage
81
91
 
82
92
  Simply import `AsyncParallel` instead of `Parallel` and use `await` with each API call:
@@ -92,12 +102,9 @@ client = AsyncParallel(
92
102
 
93
103
 
94
104
  async def main() -> None:
95
- run_result = await client.task_run.execute(
96
- input="France (2023)",
97
- processor="core",
98
- output="GDP"
99
- )
100
- print(run_result.output)
105
+ task_run = await client.task_run.create(input="France (2023)", processor="core")
106
+ run_result = await client.task_run.result(run_id=task_run.run_id)
107
+ print(run_result.output.content)
101
108
 
102
109
 
103
110
  if __name__ == "__main__":
@@ -106,115 +113,35 @@ if __name__ == "__main__":
106
113
 
107
114
  To get the best performance out of Parallel's API, we recommend
108
115
  using the asynchronous client, especially for executing multiple Task Runs concurrently.
109
- Functionality between the synchronous and asynchronous clients is identical.
116
+ Functionality between the synchronous and asynchronous clients is identical, including
117
+ the convenience methods.
110
118
 
111
- ## Convenience methods
119
+ ## Frequently Asked Questions
112
120
 
113
- ### Execute
121
+ **Does the Task API accept prompts or objectives?**
114
122
 
115
- The `execute` method provides a single call which combines creating a task run,
116
- polling until it is completed, and parsing structured outputs (if specified).
123
+ No, there are no `objective` or `prompt` parameters that can be specified for calls to
124
+ the Task API. Instead, provide any directives or instructions via the schemas. For
125
+ more information, check [our docs](https://docs.parallel.ai/task-api/core-concepts/specify-a-task).
117
126
 
118
- If an output type which inherits from `BaseModel` is
119
- specified in the call to `.execute()`, the response content will be parsed into an
120
- instance of the provided output type. The parsed output can be accessed via the
121
- `parsed` property on the output field of the response.
127
+ **Can I access beta parameters or endpoints via the SDK?**
122
128
 
123
- ```python
124
- import os
125
- import asyncio
126
- from parallel import AsyncParallel
127
- from pydantic import BaseModel
129
+ Yes, the SDK supports both beta endpoints and beta header parameters for the Task API.
130
+ All beta parameters are accessible via the `client.beta` namespace in the SDK.
128
131
 
129
- client = AsyncParallel()
132
+ **Can I specify a timeout for API calls?**
130
133
 
131
- class SampleOutputStructure(BaseModel):
132
- output: str
134
+ Yes, all methods support a timeout. For more information, see [Timeouts](https://github.com/parallel-web/parallel-sdk-python/tree/main/#timeouts).
133
135
 
134
- async def main() -> None:
135
- # with pydantic
136
- run_result = await client.task_run.execute(
137
- input="France (2023)",
138
- processor="core",
139
- output=SampleOutputStructure,
140
- )
141
- # parsed output of type SampleOutputStructure
142
- print(run_result.output.parsed)
143
- # without pydantic
144
- run_result = await client.task_run.execute(
145
- input="France (2023)",
146
- processor="core",
147
- output="GDP"
148
- )
149
- print(run_result.output)
136
+ **Can I specify retries via the SDK?**
150
137
 
138
+ Yes, errors can be retried via the SDK — the default retry count is 2. The maximum number
139
+ of retries can be configured at the client level. For information on which errors
140
+ are automatically retried and how to configure retry settings, see [Retries](https://github.com/parallel-web/parallel-sdk-python/tree/main/#retries).
151
141
 
152
- if __name__ == "__main__":
153
- asyncio.run(main())
154
- ```
142
+ ## Low‑level API access
155
143
 
156
- The async client allows creating several task runs without blocking.
157
- To create multiple task runs in one go, call execute and then gather the results at the end.
158
-
159
- ```python
160
- import asyncio
161
- import os
162
-
163
- from parallel import AsyncParallel
164
- from pydantic import BaseModel, Field
165
- from typing import List
166
-
167
- class CountryInput(BaseModel):
168
- country: str = Field(
169
- description="Name of the country to research. Must be a recognized "
170
- "sovereign nation (e.g., 'France', 'Japan')."
171
- )
172
- year: int = Field(
173
- description="Year for which to retrieve data. Must be 2000 or later. "
174
- "Use most recent full-year estimates if year is current."
175
- )
176
-
177
- class CountryOutput(BaseModel):
178
- gdp: str = Field(
179
- description="GDP in USD for the year, formatted like '$3.1 trillion (2023)'."
180
- )
181
- top_exports: List[str] = Field(
182
- description="Top 3 exported goods/services by value. Use credible sources."
183
- )
184
- top_imports: List[str] = Field(
185
- description="Top 3 imported goods/services by value. Use credible sources."
186
- )
187
-
188
- async def main():
189
- # Initialize the Parallel client
190
- client = AsyncParallel(api_key=os.environ.get("PARALLEL_API_KEY"))
191
-
192
- # Prepare structured input
193
- input_data = [
194
- CountryInput(country="France", year=2023),
195
- CountryInput(country="Germany", year=2023),
196
- CountryInput(country="Italy", year=2023)
197
- ]
198
-
199
- run_results = await asyncio.gather(*[
200
- client.task_run.execute(
201
- input=datum,
202
- output=CountryOutput,
203
- processor="core"
204
- )
205
- for datum in input_data
206
- ])
207
-
208
- for run_input, run_result in zip(input_data, run_results):
209
- print(f"Task run output for {run_input}: {run_result.output.parsed}")
210
-
211
- if __name__ == "__main__":
212
- asyncio.run(main())
213
- ```
214
-
215
- ## Low level API Access
216
-
217
- The library also provides access to the low level API for accessing the Parallel API.
144
+ The library also provides low‑level access to the Parallel API.
218
145
 
219
146
  ```python
220
147
  from parallel import Parallel
@@ -262,13 +189,13 @@ task_run = client.task_run.create(
262
189
  )
263
190
 
264
191
  run_result = client.task_run.result(task_run.run_id)
265
- print(run_result.output)
192
+ print(run_result.output.content)
266
193
  ```
267
194
 
268
195
  For more information, please check out the relevant section in our docs:
269
196
 
270
- - [Task Spec](https://docs.parallel.ai/core-concepts/task-spec)
271
- - [Task Runs](https://docs.parallel.ai/core-concepts/task-runs)
197
+ - [Task Spec](https://docs.parallel.ai/task-api/core-concepts/specify-a-task)
198
+ - [Task Runs](https://docs.parallel.ai/task-api/core-concepts/execute-task-run)
272
199
 
273
200
  ## Handling errors
274
201
 
@@ -286,11 +213,7 @@ from parallel import Parallel
286
213
  client = Parallel()
287
214
 
288
215
  try:
289
- client.task_run.execute(
290
- input="France (2023)",
291
- processor="core",
292
- output="GDP"
293
- )
216
+ client.task_run.create(input="France (2023)", processor="core")
294
217
  except parallel.APIConnectionError as e:
295
218
  print("The server could not be reached")
296
219
  print(e.__cause__) # an underlying Exception, likely raised within httpx.
@@ -333,11 +256,7 @@ client = Parallel(
333
256
  )
334
257
 
335
258
  # Or, configure per-request:
336
- client.with_options(max_retries=5).task_run.execute(
337
- input="France (2023)",
338
- processor="core",
339
- output="GDP"
340
- )
259
+ client.with_options(max_retries=5).task_run.create(input="France (2023)", processor="core")
341
260
  ```
342
261
 
343
262
  ### Timeouts
@@ -360,11 +279,7 @@ client = Parallel(
360
279
  )
361
280
 
362
281
  # Override per-request:
363
- client.with_options(timeout=5.0).task_run.execute(
364
- input="France (2023)",
365
- processor="core",
366
- output="GDP"
367
- )
282
+ client.with_options(timeout=5.0).task_run.create(input="France (2023)", processor="core")
368
283
  ```
369
284
 
370
285
  On timeout, an `APITimeoutError` is thrown.
@@ -405,15 +320,14 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
405
320
  from parallel import Parallel
406
321
 
407
322
  client = Parallel()
408
- response = client.task_run.with_raw_response.execute(
323
+ response = client.task_run.with_raw_response.create(
409
324
  input="France (2023)",
410
325
  processor="core",
411
- output="GDP"
412
326
  )
413
327
  print(response.headers.get('X-My-Header'))
414
328
 
415
- task_run = response.parse() # get the object that `task_run.execute()` would have returned
416
- print(task_run.output)
329
+ task_run = response.parse()
330
+ print(task_run.run_id)
417
331
  ```
418
332
 
419
333
  These methods return an [`APIResponse`](https://github.com/parallel-web/parallel-sdk-python/tree/main/src/parallel/_response.py) object.
@@ -427,10 +341,8 @@ The above interface eagerly reads the full response body when you make the reque
427
341
  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
428
342
 
429
343
  ```python
430
- with client.task_run.with_streaming_response.execute(
431
- input="France (2023)",
432
- processor="core",
433
- output="GDP"
344
+ with client.task_run.with_streaming_response.create(
345
+ input="France (2023)", processor="core"
434
346
  ) as response:
435
347
  print(response.headers.get("X-My-Header"))
436
348
 
@@ -0,0 +1,94 @@
1
+ parallel/__init__.py,sha256=dds8piHzGWiY2_FRl9R16wltIspM8fClCY6vhppQw5Q,2637
2
+ parallel/_base_client.py,sha256=mS1anEZ3G3mdMyKcmZvJsDk4vBwbPOTZop8sKfJa_KQ,67037
3
+ parallel/_client.py,sha256=n88i4Oq9q-0NLMEsV2g-yvdk5mUDH3xsP4xwo_d8Jwg,15497
4
+ parallel/_compat.py,sha256=Mtzi28qOK99ZBPcGcQqdjoUFk2MzzpqjaafjuwQ4NO0,6982
5
+ parallel/_constants.py,sha256=B00HbROOxQXqSFOIFQjSmdePfscyYNuXyY__j2qBljg,681
6
+ parallel/_exceptions.py,sha256=lP7_D_HALN-Nt5bfw4AefEB7tYkrQ8ZcjCRdxm_HrsQ,3224
7
+ parallel/_files.py,sha256=KnEzGi_O756MvKyJ4fOCW_u3JhOeWPQ4RsmDvqihDQU,3545
8
+ parallel/_models.py,sha256=6rDtUmk6jhjGN1q96CUICYfBunNXNhhEk_AqztTm3uE,30012
9
+ parallel/_qs.py,sha256=AOkSz4rHtK4YI3ZU_kzea-zpwBUgEY8WniGmTPyEimc,4846
10
+ parallel/_resource.py,sha256=QvY8l_r03hNBsFTTn3g7Pkx8OrDwIwROHaSEViWcYLA,1112
11
+ parallel/_response.py,sha256=zJKnQ9YzrMZCTPWis4CdyGCAH0kzT4m1OHE74jiF0jA,28800
12
+ parallel/_streaming.py,sha256=vH45vK3-83ruFalbvSgpE70zfwy8fjW9UwrO1TwjIfE,10108
13
+ parallel/_types.py,sha256=GPHXSgM5Q0mzNJqpL20zJpkFkispilitg_T_31USJ-4,7298
14
+ parallel/_version.py,sha256=0HNEA-UrjV-DB7PwdeuN1QLUQ0f3-B4r5Lt2KY89tp8,160
15
+ parallel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ parallel/_utils/__init__.py,sha256=j-S0XVfcd5rhRfdsXSnZsJNt_mhy8kJEZTrvkOBha5Q,2126
17
+ parallel/_utils/_logs.py,sha256=5tqZJRHHRqxJfftED6vN1CHcwhRZDSvzy9SaxozEAe4,780
18
+ parallel/_utils/_proxy.py,sha256=aglnj2yBTDyGX9Akk2crZHrl10oqRmceUy2Zp008XEs,1975
19
+ parallel/_utils/_reflection.py,sha256=ZmGkIgT_PuwedyNBrrKGbxoWtkpytJNU1uU4QHnmEMU,1364
20
+ parallel/_utils/_resources_proxy.py,sha256=xx_chZr_cBmnGMejQaqdjjzS6gjyOBjVARwb2lM7qm4,599
21
+ parallel/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,289
22
+ parallel/_utils/_sync.py,sha256=TpGLrrhRNWTJtODNE6Fup3_k7zrWm1j2RlirzBwre-0,2862
23
+ parallel/_utils/_transform.py,sha256=n7kskEWz6o__aoNvhFoGVyDoalNe6mJwp-g7BWkdj88,15617
24
+ parallel/_utils/_typing.py,sha256=UAoN7JEd8A-T32Cju-dL5EyqWKO_ktG4VDQ3KOhzqG0,4787
25
+ parallel/_utils/_utils.py,sha256=nJWF6GJgM2imb1AYa1nZoE1f-Alo1EI0Y8L_q3a1gkw,12389
26
+ parallel/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
27
+ parallel/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ parallel/lib/_pydantic.py,sha256=FKKaUT5d4UIoqEQAuu5VuBDaQJQ8VPEtAq1evAv_jbo,1116
29
+ parallel/lib/_time.py,sha256=54M_YhwW8WUa2KEUjYNdt3GkyQC9s_3u36-IH5hZr2U,2558
30
+ parallel/lib/_parsing/__init__.py,sha256=aEM9F2sU4s-CFpQgjydjfCAdxpusJ81jXI6KCoB8VPs,150
31
+ parallel/lib/_parsing/_task_run_result.py,sha256=9o95RcH4bX0UbI7ow5bnECrXMS6Ll0SEQR4leTK3VQU,3608
32
+ parallel/lib/_parsing/_task_spec.py,sha256=XkNWo2Ovu-anld8PAOIsi722vOXbDf2ex4p9rwWW51I,3067
33
+ parallel/resources/__init__.py,sha256=PAnsvK_p1MHcu1XIBtyktNzkS60ata-K4YFXcVZ43ps,990
34
+ parallel/resources/task_run.py,sha256=GRYDTyv4IMEdyVNNrr7PDJKGWTF62A4V7CI1yIhkn84,26672
35
+ parallel/resources/beta/__init__.py,sha256=7vguQhQFwL7SfwgJKziGU_cmz6qyh7IRucNpw6-GTz8,1480
36
+ parallel/resources/beta/beta.py,sha256=ZMZJlrprnuYn1Wiwwm7vydULAr2_-oKFE_lnrb5MCO0,11482
37
+ parallel/resources/beta/task_group.py,sha256=CNAsjvYJKpHEigCFC0hnSM3NU-H6s_z_LGG8ugcsflU,25582
38
+ parallel/resources/beta/task_run.py,sha256=oFYWxzItHOZvOXpuAnt64rRwPsSQEFv3bNFjtjhuX2Y,20864
39
+ parallel/types/__init__.py,sha256=VmaNWhKOnMNn-p9RvktHNEB9nKL_w3QSoQQx1z_ORIc,1302
40
+ parallel/types/auto_schema.py,sha256=MfDx65XR1pKL3C-hHZRIe1DNlVhot5_eeZ8xvbdBq6w,345
41
+ parallel/types/auto_schema_param.py,sha256=ADcBZ5Hfl0GKcWIoxy9gOfjBP76mbbSwGrf8JcGN2FY,337
42
+ parallel/types/citation.py,sha256=niA3Ykfgbcmpm7ESnzoC9yb-frB2aGbCg9jm80LU998,471
43
+ parallel/types/field_basis.py,sha256=KHOL_9FbgxHxRqXqFbgNArBIkp0ctHo_M6G_LgO8F4A,608
44
+ parallel/types/json_schema.py,sha256=vP3Dpx7KsliLrAzUY1lOSwb6TXEgw_Sos-z0JgmDuro,462
45
+ parallel/types/json_schema_param.py,sha256=YUM_IHm5KX0Y_Qc2AxtkIfN1lbK0XABQqjBEKmp3tsM,492
46
+ parallel/types/parsed_task_run_result.py,sha256=lb85-7TgyY72iZLWQVIAa-cWzCiBKr3gD2RsFSY4r7A,1467
47
+ parallel/types/task_run.py,sha256=0mYsOOmjMi8-sH2_91REoYVWlOVkw2MT0-_bu7yXsvM,1468
48
+ parallel/types/task_run_create_params.py,sha256=nJlRjCRI5ht011cw-i4Pj4r_eD8-B7Q4nQsKxC1Odbg,1295
49
+ parallel/types/task_run_json_output.py,sha256=sIh6kyCkXLhzt2aa_GLo7hueD9al7Ac1I94sa7I5wyA,1733
50
+ parallel/types/task_run_result.py,sha256=LFQ-xLDn3RTARYihG3NgONH6Mx9NwSKLvgIiBN8syl4,1897
51
+ parallel/types/task_run_result_params.py,sha256=tL4CK5c0-Wo21O1pmT4pDvwzG-svtEwYujyCp0ZgATs,360
52
+ parallel/types/task_run_text_output.py,sha256=3xJmOQRUe8eXk8SHoJziPpLdmwt6s8lWGcbLXS55VSs,1475
53
+ parallel/types/task_spec.py,sha256=ZMV1G3G9Ap70MxrqqClq2XmvPmhw5DLHJQ7rFKv1SdI,1026
54
+ parallel/types/task_spec_param.py,sha256=fmz30Re2VvtDp_O14o3jQZtI_Yl7l1mzObi_AK-iDbU,1243
55
+ parallel/types/text_schema.py,sha256=1GOr-fIywPtnmWnGGQjprojxjWU9hIxWS2qoHB6hqWc,433
56
+ parallel/types/text_schema_param.py,sha256=M9WEl2aOh4_hNSdGm2BOmtm1VGqxxTh3f-Hs4OB4aCQ,445
57
+ parallel/types/beta/__init__.py,sha256=psqtlm2da6gis8fvQvnMUHLixZ0E6m0CHJFibHVEE_Y,1928
58
+ parallel/types/beta/beta_run_input.py,sha256=7Lavcg7fgjuLZWL8f51HSdeIPt0Le_dPie0Km-OaCrQ,2275
59
+ parallel/types/beta/beta_run_input_param.py,sha256=64W7aE_tNzMVmrTHObLERcyPZCpJ85Qc7XMJDejDFDs,2392
60
+ parallel/types/beta/beta_search_params.py,sha256=gwupIOFoPfCnESJZO8cGPNJhmKBJwDfZ687fOvTOs0E,1373
61
+ parallel/types/beta/beta_task_run_result.py,sha256=F-I86i3O2B_6pxT8YxnfPg0yRvHqAGEbwWrDZk9BjDY,2007
62
+ parallel/types/beta/error_event.py,sha256=qtBTtkqWp6mhvHJPw-Z7qkENaH8XZOZUzHOqivRKZ5A,379
63
+ parallel/types/beta/mcp_server.py,sha256=BHmXfmV0odaB8xveYHMTbAEE_SVff9l-ObQxxjsImCI,636
64
+ parallel/types/beta/mcp_server_param.py,sha256=FGIGYUoEQcSQNtBGueeqzjjZ_C1csJE1v0dBpcmJXaI,671
65
+ parallel/types/beta/mcp_tool_call.py,sha256=yx8Er1bfGahyxfZhhkrHFO5ymdjl2qf4zDnCjg2P4y0,632
66
+ parallel/types/beta/parallel_beta_param.py,sha256=e2hxSW8kbXkl8MXQH1TCFKtnMFC2ZO1jWlcFSBU1dg4,360
67
+ parallel/types/beta/search_result.py,sha256=MS_CwWNGN4Ljy4a354F-4jkkuS0q-5JHobsvicpT6mk,462
68
+ parallel/types/beta/task_group.py,sha256=v1S6MKseDJyStedB50_CH4F6NFlACCMo1IwoAosFCYo,686
69
+ parallel/types/beta/task_group_add_runs_params.py,sha256=-jMw4z4VwOodWLzffDMa-uhUA-_se8hLFhDB8Ubg3_4,1078
70
+ parallel/types/beta/task_group_create_params.py,sha256=-Ck_4BerPbzT9fCqqGW9_jwLcFEXqNyFsXpK6A6nbfg,416
71
+ parallel/types/beta/task_group_events_params.py,sha256=7iQ92G_cMIN32ZyWOhG90CY7xypJ9if8p95RTmOA5HQ,439
72
+ parallel/types/beta/task_group_events_response.py,sha256=wKUx7GOPvLENW4_LSQr7Q52iamSBScMguAceFHlyYIM,831
73
+ parallel/types/beta/task_group_get_runs_params.py,sha256=CIE8Y9p18iJ323-7A_GsIO32k7fn2T9emKk1oWJM7iA,499
74
+ parallel/types/beta/task_group_get_runs_response.py,sha256=XXuJnJbFTvz-sOG1qBvWSPDFI47a6dUG0Dl1tYnC008,434
75
+ parallel/types/beta/task_group_run_response.py,sha256=dXfUIOAYSc0ViaPlHQngnq3fM3Gpad21YuM6W2_iWbs,796
76
+ parallel/types/beta/task_group_status.py,sha256=neWHpNHyn-7C4Unbc90EocE828-zcIqMzwwe2Qw6NZ0,759
77
+ parallel/types/beta/task_run_create_params.py,sha256=o1X9gWxwZ3lBooaDWc1xM14Nr-L_d6IoWl6F4Ez9CTs,2651
78
+ parallel/types/beta/task_run_event.py,sha256=CdEqyQeCeYp5G96mW2FZpiHXDjy2brYbXr68vKq4rzM,1091
79
+ parallel/types/beta/task_run_events_response.py,sha256=upbjPzcRuiH1Z2Y27-1yWxoNP3qc8rkGIvC3HcU8WDU,1776
80
+ parallel/types/beta/task_run_result_params.py,sha256=753OkHz3Hbkfd3w8hBCh2BpM5ZH0-0cz4y80oRoEzxo,588
81
+ parallel/types/beta/web_search_result.py,sha256=ijhYOaQ2jq912FGKXFRxxwEvvi8enqt3zGodS1zU7o0,435
82
+ parallel/types/beta/webhook.py,sha256=jFOnQFTIJkFalqBW3BUmF6TTQKPX_aRVsYUOPnKcl5Q,417
83
+ parallel/types/beta/webhook_param.py,sha256=1JKVoeqR4uQiqdpHF99YanRhdT-SflKGha6gilPwNxg,446
84
+ parallel/types/shared/__init__.py,sha256=VCkt-5g_Iam_jjOlWeEQZxqa3Pai0pnSzMlwySCzWPc,295
85
+ parallel/types/shared/error_object.py,sha256=EzLJoJSJ7pHKPUtSAotAWhGiEVHnLk1IMxdK4DSplWo,416
86
+ parallel/types/shared/error_response.py,sha256=Vr7g3rJ-epxlug5MhXls0XMWG7aSpHWz4iDblzncqUE,365
87
+ parallel/types/shared/source_policy.py,sha256=0E_avIRbTe_frkfVpaiuwACdp3LQ2EviAqci0MsxTEo,561
88
+ parallel/types/shared/warning.py,sha256=QeJ5lJ-ZwkjbVmcc1wusx67O2amMXtm8Y9KxFM0USp0,594
89
+ parallel/types/shared_params/__init__.py,sha256=nleCwf-4RjZtFXe7BaN5aFrrFnUmqZMMs9oeDajqn3g,143
90
+ parallel/types/shared_params/source_policy.py,sha256=qddWnY-nIrTdOwp1EvtKMOyGUi8v3nVUiXma6LdsjsY,572
91
+ parallel_web-0.2.0.dist-info/METADATA,sha256=5_WuZGi4vX4YQhQ7up-Ce2omA5DBNPMrEcwgG5cKq_Y,16173
92
+ parallel_web-0.2.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
93
+ parallel_web-0.2.0.dist-info/licenses/LICENSE,sha256=1rFsV0HhxaZBP55JM8Cu2w0Bw-uxTFtyTja_DE94oEM,1048
94
+ parallel_web-0.2.0.dist-info/RECORD,,
@@ -1,47 +0,0 @@
1
- parallel/__init__.py,sha256=DLcZySDPIMWxygZrS91n0h7XUblDa7R2CKSqJCeBD-U,2587
2
- parallel/_base_client.py,sha256=CvhCKe_bvHxjG_KkjU7MN8epnRjDAoZercR16F7hKXo,65886
3
- parallel/_client.py,sha256=-33nTbpzQe0MaMSXkPisZdlPG_phXweSGfssI4UXIKQ,15024
4
- parallel/_compat.py,sha256=Bdw3skNpgAyCAWXJRUwTLiM0lOD1sLHEFKtw7peWp5U,6981
5
- parallel/_constants.py,sha256=NJrT2b4m0CuDGEVBF1xwsrHOWLGPupleFrL9jGAlLwk,567
6
- parallel/_exceptions.py,sha256=lP7_D_HALN-Nt5bfw4AefEB7tYkrQ8ZcjCRdxm_HrsQ,3224
7
- parallel/_files.py,sha256=mf4dOgL4b0ryyZlbqLhggD3GVgDf6XxdGFAgce01ugE,3549
8
- parallel/_models.py,sha256=G1vczEodX0vUySeVKbF-mbzlaObNL1oVAYH4c65agRk,29131
9
- parallel/_qs.py,sha256=AOkSz4rHtK4YI3ZU_kzea-zpwBUgEY8WniGmTPyEimc,4846
10
- parallel/_resource.py,sha256=QvY8l_r03hNBsFTTn3g7Pkx8OrDwIwROHaSEViWcYLA,1112
11
- parallel/_response.py,sha256=zJKnQ9YzrMZCTPWis4CdyGCAH0kzT4m1OHE74jiF0jA,28800
12
- parallel/_streaming.py,sha256=vH45vK3-83ruFalbvSgpE70zfwy8fjW9UwrO1TwjIfE,10108
13
- parallel/_types.py,sha256=gdnumvz_C0ka1W865rehBsLCOgZyyHpKRedjJg7uRPY,6199
14
- parallel/_version.py,sha256=WUXkK8O3I2gOafOqu7g-L_9WsH2ZQxqi0tbVT_oXd8k,160
15
- parallel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- parallel/_utils/__init__.py,sha256=Z5F2puD-cRsBEwlAuuuXDuIuKuJyLhtg0667MRHeBj4,2084
17
- parallel/_utils/_logs.py,sha256=5tqZJRHHRqxJfftED6vN1CHcwhRZDSvzy9SaxozEAe4,780
18
- parallel/_utils/_proxy.py,sha256=aglnj2yBTDyGX9Akk2crZHrl10oqRmceUy2Zp008XEs,1975
19
- parallel/_utils/_reflection.py,sha256=ZmGkIgT_PuwedyNBrrKGbxoWtkpytJNU1uU4QHnmEMU,1364
20
- parallel/_utils/_resources_proxy.py,sha256=xx_chZr_cBmnGMejQaqdjjzS6gjyOBjVARwb2lM7qm4,599
21
- parallel/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,289
22
- parallel/_utils/_sync.py,sha256=TpGLrrhRNWTJtODNE6Fup3_k7zrWm1j2RlirzBwre-0,2862
23
- parallel/_utils/_transform.py,sha256=n7kskEWz6o__aoNvhFoGVyDoalNe6mJwp-g7BWkdj88,15617
24
- parallel/_utils/_typing.py,sha256=D0DbbNu8GnYQTSICnTSHDGsYXj8TcAKyhejb0XcnjtY,4602
25
- parallel/_utils/_utils.py,sha256=nJWF6GJgM2imb1AYa1nZoE1f-Alo1EI0Y8L_q3a1gkw,12389
26
- parallel/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
27
- parallel/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- parallel/lib/_pydantic.py,sha256=B_-msp3_jrPP09s-f73Xv4WEG212ECDfc0a_Gf-YZGE,1115
29
- parallel/lib/_time.py,sha256=SAf1AP__EqprIPCqpe8JqfaB_rqv10uzhNBJbD_THSY,2542
30
- parallel/lib/_parsing/__init__.py,sha256=aEM9F2sU4s-CFpQgjydjfCAdxpusJ81jXI6KCoB8VPs,150
31
- parallel/lib/_parsing/_task_run_result.py,sha256=9o95RcH4bX0UbI7ow5bnECrXMS6Ll0SEQR4leTK3VQU,3608
32
- parallel/lib/_parsing/_task_spec.py,sha256=XkNWo2Ovu-anld8PAOIsi722vOXbDf2ex4p9rwWW51I,3067
33
- parallel/resources/__init__.py,sha256=jGILtGZMcUjnm_PAOAkggRZlretqp_r24lMj7qFWqIg,566
34
- parallel/resources/task_run.py,sha256=5FEtuqwYbR1Ict8s8zpkFHF6b0XGtgxVBxlnvKMfc0Y,25327
35
- parallel/types/__init__.py,sha256=7EXEF1xwgzRtPbtywm1_PnOzShi_mN3TfU8p_PErz5s,653
36
- parallel/types/json_schema_param.py,sha256=rn_85_uPZYkLYLZiM5erOuQ_trY4DcoB3XEpP4uvqyw,457
37
- parallel/types/parsed_task_run_result.py,sha256=Qw_QFQNmMcykdBKlMnx6hl5cua5wwv5BZEs3Oo3_5NE,1098
38
- parallel/types/task_run.py,sha256=mdkBL1Ncvu5h2HeBSzF2vr7Q-ApOOStsZCeEwFl_uQA,1374
39
- parallel/types/task_run_create_params.py,sha256=kHEx3NInuAgTp5AebDHQIPyrqducGFUMV81Gtn7wtdI,957
40
- parallel/types/task_run_result.py,sha256=yd3Lz_YzCQGe5ynK5iI6J17tAs5nSG7FUJ3fSLOa7hM,3070
41
- parallel/types/task_run_result_params.py,sha256=tL4CK5c0-Wo21O1pmT4pDvwzG-svtEwYujyCp0ZgATs,360
42
- parallel/types/task_spec_param.py,sha256=qTENHBp7vRg-VDzK8HsLpTn3EJWIV0UVQaf45r9SfCs,1179
43
- parallel/types/text_schema_param.py,sha256=M9WEl2aOh4_hNSdGm2BOmtm1VGqxxTh3f-Hs4OB4aCQ,445
44
- parallel_web-0.1.2.dist-info/METADATA,sha256=f0gLsNP4XHVGgWeL88tVMkLzsd_Yw4e0I9as2DR5o0Y,17626
45
- parallel_web-0.1.2.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
46
- parallel_web-0.1.2.dist-info/licenses/LICENSE,sha256=1rFsV0HhxaZBP55JM8Cu2w0Bw-uxTFtyTja_DE94oEM,1048
47
- parallel_web-0.1.2.dist-info/RECORD,,