parallel-web 0.4.2__tar.gz → 0.5.1__tar.gz

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.
Files changed (192) hide show
  1. {parallel_web-0.4.2 → parallel_web-0.5.1}/.gitignore +1 -0
  2. parallel_web-0.5.1/.release-please-manifest.json +3 -0
  3. {parallel_web-0.4.2 → parallel_web-0.5.1}/CHANGELOG.md +59 -0
  4. {parallel_web-0.4.2 → parallel_web-0.5.1}/CONTRIBUTING.md +1 -1
  5. {parallel_web-0.4.2 → parallel_web-0.5.1}/PKG-INFO +2 -2
  6. {parallel_web-0.4.2 → parallel_web-0.5.1}/api.md +24 -0
  7. {parallel_web-0.4.2 → parallel_web-0.5.1}/pyproject.toml +2 -2
  8. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_base_client.py +4 -0
  9. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_client.py +413 -3
  10. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_compat.py +9 -2
  11. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_files.py +53 -3
  12. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_qs.py +4 -1
  13. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/__init__.py +1 -1
  14. parallel_web-0.5.1/src/parallel/_utils/_path.py +127 -0
  15. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_utils.py +3 -17
  16. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_version.py +1 -1
  17. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/beta/api.md +6 -3
  18. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/beta/beta.py +176 -35
  19. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/beta/findall.py +137 -17
  20. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/beta/task_group.py +37 -17
  21. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/beta/task_run.py +101 -56
  22. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/task_run.py +191 -6
  23. parallel_web-0.5.1/src/parallel/types/__init__.py +49 -0
  24. parallel_web-0.5.1/src/parallel/types/advanced_extract_settings_param.py +46 -0
  25. parallel_web-0.5.1/src/parallel/types/advanced_search_settings_param.py +38 -0
  26. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/__init__.py +2 -0
  27. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/beta_extract_params.py +14 -1
  28. parallel_web-0.5.1/src/parallel/types/beta/beta_run_input.py +8 -0
  29. parallel_web-0.5.1/src/parallel/types/beta/beta_run_input_param.py +7 -0
  30. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/beta_search_params.py +17 -1
  31. parallel_web-0.5.1/src/parallel/types/beta/beta_task_run_result.py +31 -0
  32. parallel_web-0.5.1/src/parallel/types/beta/error_event.py +8 -0
  33. parallel_web-0.5.1/src/parallel/types/beta/extract_error.py +7 -0
  34. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/extract_response.py +2 -2
  35. parallel_web-0.5.1/src/parallel/types/beta/fetch_policy_param.py +7 -0
  36. parallel_web-0.5.1/src/parallel/types/beta/findall_candidates_params.py +22 -0
  37. parallel_web-0.5.1/src/parallel/types/beta/findall_candidates_response.py +29 -0
  38. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_create_params.py +2 -2
  39. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_enrich_input.py +1 -1
  40. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_enrich_params.py +1 -1
  41. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_events_response.py +1 -2
  42. parallel_web-0.5.1/src/parallel/types/beta/mcp_server.py +8 -0
  43. parallel_web-0.5.1/src/parallel/types/beta/mcp_server_param.py +7 -0
  44. parallel_web-0.5.1/src/parallel/types/beta/mcp_tool_call.py +8 -0
  45. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/search_result.py +1 -1
  46. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_add_runs_params.py +4 -2
  47. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_events_response.py +2 -2
  48. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_get_runs_response.py +2 -2
  49. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_run_create_params.py +18 -14
  50. parallel_web-0.5.1/src/parallel/types/beta/task_run_event.py +11 -0
  51. parallel_web-0.5.1/src/parallel/types/beta/task_run_events_response.py +70 -0
  52. parallel_web-0.5.1/src/parallel/types/beta/usage_item.py +7 -0
  53. parallel_web-0.5.1/src/parallel/types/beta/webhook.py +8 -0
  54. parallel_web-0.5.1/src/parallel/types/beta/webhook_param.py +7 -0
  55. parallel_web-0.5.1/src/parallel/types/client_extract_params.py +52 -0
  56. parallel_web-0.5.1/src/parallel/types/client_search_params.py +59 -0
  57. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/error_event.py +2 -2
  58. parallel_web-0.5.1/src/parallel/types/excerpt_settings_param.py +19 -0
  59. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/extract_error.py +1 -1
  60. parallel_web-0.5.1/src/parallel/types/extract_response.py +38 -0
  61. parallel_web-0.5.1/src/parallel/types/extract_result.py +26 -0
  62. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/mcp_server.py +1 -1
  63. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/mcp_server_param.py +1 -1
  64. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/mcp_tool_call.py +1 -1
  65. parallel_web-0.4.2/src/parallel/types/beta/beta_run_input.py → parallel_web-0.5.1/src/parallel/types/run_input.py +21 -17
  66. parallel_web-0.4.2/src/parallel/types/beta/beta_run_input_param.py → parallel_web-0.5.1/src/parallel/types/run_input_param.py +20 -16
  67. parallel_web-0.5.1/src/parallel/types/search_result.py +33 -0
  68. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/shared/source_policy.py +4 -2
  69. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/shared_params/source_policy.py +4 -2
  70. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/task_run.py +1 -4
  71. parallel_web-0.5.1/src/parallel/types/task_run_create_params.py +77 -0
  72. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/task_run_event.py +8 -8
  73. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/task_run_events_response.py +2 -2
  74. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/task_run_json_output.py +8 -11
  75. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/task_run_result.py +0 -1
  76. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/task_run_result_params.py +5 -0
  77. parallel_web-0.5.1/src/parallel/types/task_run_text_output.py +36 -0
  78. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/usage_item.py +1 -1
  79. parallel_web-0.5.1/src/parallel/types/web_search_result.py +23 -0
  80. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/webhook.py +1 -1
  81. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/api_resources/beta/test_findall.py +87 -10
  82. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/api_resources/beta/test_task_group.py +4 -20
  83. parallel_web-0.5.1/tests/api_resources/beta/test_task_run.py +385 -0
  84. parallel_web-0.5.1/tests/api_resources/test_beta.py +261 -0
  85. parallel_web-0.5.1/tests/api_resources/test_client.py +248 -0
  86. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/api_resources/test_task_run.py +112 -1
  87. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_client.py +48 -0
  88. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_extract_files.py +9 -0
  89. parallel_web-0.5.1/tests/test_files.py +148 -0
  90. parallel_web-0.5.1/tests/test_utils/test_path.py +89 -0
  91. parallel_web-0.4.2/.release-please-manifest.json +0 -3
  92. parallel_web-0.4.2/src/parallel/types/__init__.py +0 -27
  93. parallel_web-0.4.2/src/parallel/types/beta/beta_task_run_result.py +0 -88
  94. parallel_web-0.4.2/src/parallel/types/task_run_create_params.py +0 -44
  95. parallel_web-0.4.2/src/parallel/types/task_run_text_output.py +0 -39
  96. parallel_web-0.4.2/tests/api_resources/beta/test_task_run.py +0 -354
  97. parallel_web-0.4.2/tests/api_resources/test_beta.py +0 -228
  98. parallel_web-0.4.2/tests/test_deepcopy.py +0 -58
  99. parallel_web-0.4.2/tests/test_files.py +0 -51
  100. {parallel_web-0.4.2 → parallel_web-0.5.1}/LICENSE +0 -0
  101. {parallel_web-0.4.2 → parallel_web-0.5.1}/README.md +0 -0
  102. {parallel_web-0.4.2 → parallel_web-0.5.1}/SECURITY.md +0 -0
  103. {parallel_web-0.4.2 → parallel_web-0.5.1}/bin/check-release-environment +0 -0
  104. {parallel_web-0.4.2 → parallel_web-0.5.1}/bin/publish-pypi +0 -0
  105. {parallel_web-0.4.2 → parallel_web-0.5.1}/examples/.keep +0 -0
  106. {parallel_web-0.4.2 → parallel_web-0.5.1}/noxfile.py +0 -0
  107. {parallel_web-0.4.2 → parallel_web-0.5.1}/release-please-config.json +0 -0
  108. {parallel_web-0.4.2 → parallel_web-0.5.1}/requirements-dev.lock +0 -0
  109. {parallel_web-0.4.2 → parallel_web-0.5.1}/requirements.lock +0 -0
  110. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/__init__.py +0 -0
  111. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_constants.py +0 -0
  112. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_exceptions.py +0 -0
  113. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_models.py +0 -0
  114. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_resource.py +0 -0
  115. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_response.py +0 -0
  116. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_streaming.py +0 -0
  117. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_types.py +0 -0
  118. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_compat.py +0 -0
  119. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_datetime_parse.py +0 -0
  120. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_json.py +0 -0
  121. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_logs.py +0 -0
  122. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_proxy.py +0 -0
  123. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_reflection.py +0 -0
  124. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_resources_proxy.py +0 -0
  125. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_streams.py +0 -0
  126. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_sync.py +0 -0
  127. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_transform.py +0 -0
  128. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/_utils/_typing.py +0 -0
  129. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/lib/.keep +0 -0
  130. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/lib/__init__.py +0 -0
  131. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/lib/_parsing/__init__.py +0 -0
  132. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/lib/_parsing/_task_run_result.py +0 -0
  133. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/lib/_parsing/_task_spec.py +0 -0
  134. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/lib/_pydantic.py +0 -0
  135. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/lib/_time.py +0 -0
  136. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/py.typed +0 -0
  137. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/__init__.py +0 -0
  138. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/resources/beta/__init__.py +0 -0
  139. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/auto_schema.py +0 -0
  140. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/auto_schema_param.py +0 -0
  141. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/excerpt_settings_param.py +0 -0
  142. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/extract_result.py +0 -0
  143. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_candidate_match_status_event.py +0 -0
  144. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_events_params.py +0 -0
  145. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_extend_params.py +0 -0
  146. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_ingest_params.py +0 -0
  147. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_run.py +0 -0
  148. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_run_result.py +0 -0
  149. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_run_status_event.py +0 -0
  150. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_schema.py +0 -0
  151. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/findall_schema_updated_event.py +0 -0
  152. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/parallel_beta_param.py +0 -0
  153. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group.py +0 -0
  154. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_create_params.py +0 -0
  155. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_events_params.py +0 -0
  156. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_get_runs_params.py +0 -0
  157. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_run_response.py +0 -0
  158. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_group_status.py +0 -0
  159. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/task_run_result_params.py +0 -0
  160. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/beta/web_search_result.py +0 -0
  161. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/citation.py +0 -0
  162. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/fetch_policy_param.py +0 -0
  163. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/field_basis.py +0 -0
  164. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/json_schema.py +0 -0
  165. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/json_schema_param.py +0 -0
  166. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/parsed_task_run_result.py +0 -0
  167. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/shared/__init__.py +0 -0
  168. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/shared/error_object.py +0 -0
  169. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/shared/error_response.py +0 -0
  170. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/shared/warning.py +0 -0
  171. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/shared_params/__init__.py +0 -0
  172. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/task_spec.py +0 -0
  173. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/task_spec_param.py +0 -0
  174. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/text_schema.py +0 -0
  175. {parallel_web-0.4.2 → parallel_web-0.5.1}/src/parallel/types/text_schema_param.py +0 -0
  176. {parallel_web-0.4.2/src/parallel/types/beta → parallel_web-0.5.1/src/parallel/types}/webhook_param.py +0 -0
  177. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/__init__.py +0 -0
  178. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/api_resources/__init__.py +0 -0
  179. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/api_resources/beta/__init__.py +0 -0
  180. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/conftest.py +0 -0
  181. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/sample_file.txt +0 -0
  182. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_models.py +0 -0
  183. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_qs.py +0 -0
  184. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_required_args.py +0 -0
  185. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_response.py +0 -0
  186. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_streaming.py +0 -0
  187. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_transform.py +0 -0
  188. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_utils/test_datetime_parse.py +0 -0
  189. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_utils/test_json.py +0 -0
  190. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_utils/test_proxy.py +0 -0
  191. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/test_utils/test_typing.py +0 -0
  192. {parallel_web-0.4.2 → parallel_web-0.5.1}/tests/utils.py +0 -0
@@ -1,4 +1,5 @@
1
1
  .prism.log
2
+ .stdy.log
2
3
  _dev
3
4
 
4
5
  __pycache__
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.5.1"
3
+ }
@@ -1,5 +1,64 @@
1
1
  # Changelog
2
2
 
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
+
13
+ ## 0.5.0 (2026-04-21)
14
+
15
+ Full Changelog: [v0.4.2...v0.5.0](https://github.com/parallel-web/parallel-sdk-python/compare/v0.4.2...v0.5.0)
16
+
17
+ ### Features
18
+
19
+ * **api:** Add Findall Candidates ([57c4ae2](https://github.com/parallel-web/parallel-sdk-python/commit/57c4ae25d77a8627c6be3673312bfd7f373e17da))
20
+ * **api:** Add Search and Extract v1 and associated types ([ea487f3](https://github.com/parallel-web/parallel-sdk-python/commit/ea487f32b73aee955f662d1fa225841421ce1ba3))
21
+ * **api:** manual - add AdvancedSearchSettings and AdvancedExtractSettings models ([5836a6f](https://github.com/parallel-web/parallel-sdk-python/commit/5836a6fbe8db3a3509556442067f087918edb2bb))
22
+ * **api:** manual updates - update openapi spec ([02db6c0](https://github.com/parallel-web/parallel-sdk-python/commit/02db6c07ec5eb254b18732fcb6f7dc43e31de471))
23
+ * **api:** Remove full_content from OpenAPI Spec ([7a4d651](https://github.com/parallel-web/parallel-sdk-python/commit/7a4d651c3e9f35334175f82daaf6392e9f76dee5))
24
+ * **api:** Search/Extract v1 with advanced_settings and max_results ([4ded29c](https://github.com/parallel-web/parallel-sdk-python/commit/4ded29c2382594f1735101753a0b09a2f7c6972e))
25
+ * **api:** Update OpenAPI spec ([58f19f3](https://github.com/parallel-web/parallel-sdk-python/commit/58f19f38174fb71dc906049c0aef6610ac67971e))
26
+ * **api:** Update OpenAPI spec ([fae95f4](https://github.com/parallel-web/parallel-sdk-python/commit/fae95f4f2c7cb60ebc0babc4fe540617e3334b2d))
27
+ * **internal:** implement indices array format for query and form serialization ([3df5972](https://github.com/parallel-web/parallel-sdk-python/commit/3df5972e34c9aa1709eabc4eb5b8cbbc0adccae2))
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * **client:** preserve hardcoded query params when merging with user params ([08080bc](https://github.com/parallel-web/parallel-sdk-python/commit/08080bc22c415881cc9f9b05bc22f09ab83c7e8d))
33
+ * **deps:** bump minimum typing-extensions version ([964a46d](https://github.com/parallel-web/parallel-sdk-python/commit/964a46ddfc9ead64e4105e42192a780bc91716b0))
34
+ * ensure file data are only sent as 1 parameter ([1c15cc0](https://github.com/parallel-web/parallel-sdk-python/commit/1c15cc00b1ae223db8e51893ce23b9a2193e3ae7))
35
+ * **pydantic:** do not pass `by_alias` unless set ([f0793c1](https://github.com/parallel-web/parallel-sdk-python/commit/f0793c171465dd57d0fbf82a3bb2281d046f500e))
36
+ * sanitize endpoint path params ([5931597](https://github.com/parallel-web/parallel-sdk-python/commit/59315972d27246485be5cb52671aecaa3aa46253))
37
+
38
+
39
+ ### Performance Improvements
40
+
41
+ * **client:** optimize file structure copying in multipart requests ([00e8564](https://github.com/parallel-web/parallel-sdk-python/commit/00e856464a2828693483a704de83ee5d6c4fe19e))
42
+
43
+
44
+ ### Chores
45
+
46
+ * **ci:** skip lint on metadata-only changes ([403448c](https://github.com/parallel-web/parallel-sdk-python/commit/403448c7760e70fe0f4b3998a20f048910e91cd6))
47
+ * **internal:** tweak CI branches ([014c802](https://github.com/parallel-web/parallel-sdk-python/commit/014c80287318df0db6207df1579be00c4717f24d))
48
+ * **internal:** update gitignore ([1f4f6b0](https://github.com/parallel-web/parallel-sdk-python/commit/1f4f6b0e5d2a46e1a5457879e937ea5aa551073c))
49
+ * **tests:** bump steady to v0.19.4 ([ebee2e7](https://github.com/parallel-web/parallel-sdk-python/commit/ebee2e761e2a8587cc6aa4c2decfd6310092b039))
50
+ * **tests:** bump steady to v0.19.5 ([2774099](https://github.com/parallel-web/parallel-sdk-python/commit/2774099f753bc0826e9c6b6e9fbb40d4e72e3405))
51
+ * **tests:** bump steady to v0.19.6 ([8e3ee3d](https://github.com/parallel-web/parallel-sdk-python/commit/8e3ee3d04dc149b2bcedb0e4acd92474fafd8d05))
52
+ * **tests:** bump steady to v0.19.7 ([4bcf12e](https://github.com/parallel-web/parallel-sdk-python/commit/4bcf12e670b7997e23ade3d991711fe1ef741e35))
53
+ * **tests:** bump steady to v0.20.1 ([d82ce60](https://github.com/parallel-web/parallel-sdk-python/commit/d82ce601c5687553b0e96990e418289fd8a14e00))
54
+ * **tests:** bump steady to v0.20.2 ([746ca39](https://github.com/parallel-web/parallel-sdk-python/commit/746ca39c749f899dc9137a2f9be5de9aa39210c6))
55
+ * **tests:** bump steady to v0.22.1 ([dec81af](https://github.com/parallel-web/parallel-sdk-python/commit/dec81afb89f46850635daa89e64debe15717d053))
56
+
57
+
58
+ ### Refactors
59
+
60
+ * **tests:** switch from prism to steady ([032745e](https://github.com/parallel-web/parallel-sdk-python/commit/032745ea1a03b3d2516b789a28a3c8b8034660d8))
61
+
3
62
  ## 0.4.2 (2026-03-09)
4
63
 
5
64
  Full Changelog: [v0.4.1...v0.4.2](https://github.com/parallel-web/parallel-sdk-python/compare/v0.4.1...v0.4.2)
@@ -85,7 +85,7 @@ $ pip install ./path-to-wheel-file.whl
85
85
 
86
86
  ## Running tests
87
87
 
88
- Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
88
+ Most tests require you to [set up a mock server](https://github.com/dgellow/steady) against the OpenAPI spec to run the tests.
89
89
 
90
90
  ```sh
91
91
  $ ./scripts/mock
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: parallel-web
3
- Version: 0.4.2
3
+ Version: 0.5.1
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
@@ -27,7 +27,7 @@ Requires-Dist: distro<2,>=1.7.0
27
27
  Requires-Dist: httpx<1,>=0.23.0
28
28
  Requires-Dist: pydantic<3,>=1.9.0
29
29
  Requires-Dist: sniffio
30
- Requires-Dist: typing-extensions<5,>=4.10
30
+ Requires-Dist: typing-extensions<5,>=4.14
31
31
  Provides-Extra: aiohttp
32
32
  Requires-Dist: aiohttp; extra == 'aiohttp'
33
33
  Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
@@ -4,6 +4,30 @@
4
4
  from parallel.types import ErrorObject, ErrorResponse, SourcePolicy, Warning
5
5
  ```
6
6
 
7
+ # Parallel
8
+
9
+ Types:
10
+
11
+ ```python
12
+ from parallel.types import (
13
+ AdvancedExtractSettings,
14
+ AdvancedSearchSettings,
15
+ ExcerptSettings,
16
+ ExtractError,
17
+ ExtractResponse,
18
+ ExtractResult,
19
+ FetchPolicy,
20
+ SearchResult,
21
+ UsageItem,
22
+ WebSearchResult,
23
+ )
24
+ ```
25
+
26
+ Methods:
27
+
28
+ - <code title="post /v1/extract">client.<a href="./src/parallel/_client.py">extract</a>(\*\*<a href="src/parallel/types/client_extract_params.py">params</a>) -> <a href="./src/parallel/types/extract_response.py">ExtractResponse</a></code>
29
+ - <code title="post /v1/search">client.<a href="./src/parallel/_client.py">search</a>(\*\*<a href="src/parallel/types/client_search_params.py">params</a>) -> <a href="./src/parallel/types/search_result.py">SearchResult</a></code>
30
+
7
31
  # TaskRun
8
32
 
9
33
  Types:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "parallel-web"
3
- version = "0.4.2"
3
+ version = "0.5.1"
4
4
  description = "The official Python library for the Parallel API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -11,7 +11,7 @@ authors = [
11
11
  dependencies = [
12
12
  "httpx>=0.23.0, <1",
13
13
  "pydantic>=1.9.0, <3",
14
- "typing-extensions>=4.10, <5",
14
+ "typing-extensions>=4.14, <5",
15
15
  "anyio>=3.5.0, <5",
16
16
  "distro>=1.7.0, <2",
17
17
  "sniffio",
@@ -540,6 +540,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
540
540
  files = cast(HttpxRequestFiles, ForceMultipartDict())
541
541
 
542
542
  prepared_url = self._prepare_url(options.url)
543
+ # preserve hard-coded query params from the url
544
+ if params and prepared_url.query:
545
+ params = {**dict(prepared_url.params.items()), **params}
546
+ prepared_url = prepared_url.copy_with(raw_path=prepared_url.raw_path.split(b"?", 1)[0])
543
547
  if "_" in prepared_url.host:
544
548
  # work around https://github.com/encode/httpx/discussions/2880
545
549
  kwargs["extensions"] = {"sni_hostname": prepared_url.host.replace("_", "-")}