perplexityai 0.16.0__tar.gz → 0.17.0__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.

Potentially problematic release.


This version of perplexityai might be problematic. Click here for more details.

Files changed (102) hide show
  1. perplexityai-0.17.0/.release-please-manifest.json +3 -0
  2. {perplexityai-0.16.0 → perplexityai-0.17.0}/CHANGELOG.md +16 -0
  3. {perplexityai-0.16.0 → perplexityai-0.17.0}/PKG-INFO +1 -1
  4. {perplexityai-0.16.0 → perplexityai-0.17.0}/pyproject.toml +5 -1
  5. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_version.py +1 -1
  6. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/search.py +12 -0
  7. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/search_create_params.py +6 -0
  8. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/api_resources/test_search.py +6 -0
  9. perplexityai-0.16.0/.release-please-manifest.json +0 -3
  10. {perplexityai-0.16.0 → perplexityai-0.17.0}/.gitignore +0 -0
  11. {perplexityai-0.16.0 → perplexityai-0.17.0}/CONTRIBUTING.md +0 -0
  12. {perplexityai-0.16.0 → perplexityai-0.17.0}/LICENSE +0 -0
  13. {perplexityai-0.16.0 → perplexityai-0.17.0}/README.md +0 -0
  14. {perplexityai-0.16.0 → perplexityai-0.17.0}/SECURITY.md +0 -0
  15. {perplexityai-0.16.0 → perplexityai-0.17.0}/api.md +0 -0
  16. {perplexityai-0.16.0 → perplexityai-0.17.0}/bin/check-release-environment +0 -0
  17. {perplexityai-0.16.0 → perplexityai-0.17.0}/bin/publish-pypi +0 -0
  18. {perplexityai-0.16.0 → perplexityai-0.17.0}/examples/.keep +0 -0
  19. {perplexityai-0.16.0 → perplexityai-0.17.0}/noxfile.py +0 -0
  20. {perplexityai-0.16.0 → perplexityai-0.17.0}/release-please-config.json +0 -0
  21. {perplexityai-0.16.0 → perplexityai-0.17.0}/requirements-dev.lock +0 -0
  22. {perplexityai-0.16.0 → perplexityai-0.17.0}/requirements.lock +0 -0
  23. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/__init__.py +0 -0
  24. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_base_client.py +0 -0
  25. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_client.py +0 -0
  26. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_compat.py +0 -0
  27. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_constants.py +0 -0
  28. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_exceptions.py +0 -0
  29. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_files.py +0 -0
  30. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_models.py +0 -0
  31. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_qs.py +0 -0
  32. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_resource.py +0 -0
  33. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_response.py +0 -0
  34. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_streaming.py +0 -0
  35. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_types.py +0 -0
  36. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/__init__.py +0 -0
  37. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_compat.py +0 -0
  38. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_datetime_parse.py +0 -0
  39. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_logs.py +0 -0
  40. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_proxy.py +0 -0
  41. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_reflection.py +0 -0
  42. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_resources_proxy.py +0 -0
  43. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_streams.py +0 -0
  44. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_sync.py +0 -0
  45. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_transform.py +0 -0
  46. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_typing.py +0 -0
  47. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/_utils/_utils.py +0 -0
  48. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/lib/.keep +0 -0
  49. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/py.typed +0 -0
  50. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/__init__.py +0 -0
  51. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/async_/__init__.py +0 -0
  52. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/async_/async_.py +0 -0
  53. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/async_/chat/__init__.py +0 -0
  54. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/async_/chat/chat.py +0 -0
  55. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/async_/chat/completions.py +0 -0
  56. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/chat/__init__.py +0 -0
  57. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/chat/chat.py +0 -0
  58. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/resources/chat/completions.py +0 -0
  59. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/__init__.py +0 -0
  60. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/async_/__init__.py +0 -0
  61. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/async_/chat/__init__.py +0 -0
  62. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/async_/chat/completion_create_params.py +0 -0
  63. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/async_/chat/completion_create_response.py +0 -0
  64. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/async_/chat/completion_get_params.py +0 -0
  65. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/async_/chat/completion_get_response.py +0 -0
  66. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/async_/chat/completion_list_response.py +0 -0
  67. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/chat/__init__.py +0 -0
  68. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/chat/completion_create_params.py +0 -0
  69. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/search_create_response.py +0 -0
  70. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared/__init__.py +0 -0
  71. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared/api_public_search_result.py +0 -0
  72. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared/chat_message_input.py +0 -0
  73. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared/chat_message_output.py +0 -0
  74. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared/choice.py +0 -0
  75. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared/usage_info.py +0 -0
  76. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared_params/__init__.py +0 -0
  77. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared_params/api_public_search_result.py +0 -0
  78. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/shared_params/chat_message_input.py +0 -0
  79. {perplexityai-0.16.0 → perplexityai-0.17.0}/src/perplexity/types/stream_chunk.py +0 -0
  80. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/__init__.py +0 -0
  81. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/api_resources/__init__.py +0 -0
  82. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/api_resources/async_/__init__.py +0 -0
  83. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/api_resources/async_/chat/__init__.py +0 -0
  84. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/api_resources/async_/chat/test_completions.py +0 -0
  85. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/api_resources/chat/__init__.py +0 -0
  86. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/api_resources/chat/test_completions.py +0 -0
  87. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/conftest.py +0 -0
  88. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/sample_file.txt +0 -0
  89. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_client.py +0 -0
  90. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_deepcopy.py +0 -0
  91. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_extract_files.py +0 -0
  92. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_files.py +0 -0
  93. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_models.py +0 -0
  94. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_qs.py +0 -0
  95. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_required_args.py +0 -0
  96. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_response.py +0 -0
  97. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_streaming.py +0 -0
  98. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_transform.py +0 -0
  99. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_utils/test_datetime_parse.py +0 -0
  100. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_utils/test_proxy.py +0 -0
  101. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/test_utils/test_typing.py +0 -0
  102. {perplexityai-0.16.0 → perplexityai-0.17.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.17.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.0 (2025-10-16)
4
+
5
+ Full Changelog: [v0.16.1...v0.17.0](https://github.com/perplexityai/perplexity-py/compare/v0.16.1...v0.17.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([8202e20](https://github.com/perplexityai/perplexity-py/commit/8202e209cce2a2e775fb6b42194d9cfd030ab08d))
10
+
11
+ ## 0.16.1 (2025-10-11)
12
+
13
+ Full Changelog: [v0.16.0...v0.16.1](https://github.com/perplexityai/perplexity-py/compare/v0.16.0...v0.16.1)
14
+
15
+ ### Chores
16
+
17
+ * **internal:** detect missing future annotations with ruff ([26f14f1](https://github.com/perplexityai/perplexity-py/commit/26f14f1036636e9635044911c932bd5257d879f5))
18
+
3
19
  ## 0.16.0 (2025-10-10)
4
20
 
5
21
  Full Changelog: [v0.15.0...v0.16.0](https://github.com/perplexityai/perplexity-py/compare/v0.15.0...v0.16.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: perplexityai
3
- Version: 0.16.0
3
+ Version: 0.17.0
4
4
  Summary: The official Python library for the perplexity API
5
5
  Project-URL: Homepage, https://github.com/perplexityai/perplexity-py
6
6
  Project-URL: Repository, https://github.com/perplexityai/perplexity-py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "perplexityai"
3
- version = "0.16.0"
3
+ version = "0.17.0"
4
4
  description = "The official Python library for the perplexity API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -224,6 +224,8 @@ select = [
224
224
  "B",
225
225
  # remove unused imports
226
226
  "F401",
227
+ # check for missing future annotations
228
+ "FA102",
227
229
  # bare except statements
228
230
  "E722",
229
231
  # unused arguments
@@ -246,6 +248,8 @@ unfixable = [
246
248
  "T203",
247
249
  ]
248
250
 
251
+ extend-safe-fixes = ["FA102"]
252
+
249
253
  [tool.ruff.lint.flake8-tidy-imports.banned-api]
250
254
  "functools.lru_cache".msg = "This function does not retain type information for the wrapped function's arguments; The `lru_cache` function from `_utils` should be used instead"
251
255
 
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "perplexity"
4
- __version__ = "0.16.0" # x-release-please-version
4
+ __version__ = "0.17.0" # x-release-please-version
@@ -52,8 +52,11 @@ class SearchResource(SyncAPIResource):
52
52
  max_results: int | Omit = omit,
53
53
  max_tokens: int | Omit = omit,
54
54
  max_tokens_per_page: int | Omit = omit,
55
+ search_after_date_filter: Optional[str] | Omit = omit,
56
+ search_before_date_filter: Optional[str] | Omit = omit,
55
57
  search_domain_filter: Optional[SequenceNotStr[str]] | Omit = omit,
56
58
  search_mode: Optional[Literal["web", "academic", "sec"]] | Omit = omit,
59
+ search_recency_filter: Optional[Literal["hour", "day", "week", "month", "year"]] | Omit = omit,
57
60
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
58
61
  # The extra values given here take precedence over values defined on the client or passed to this method.
59
62
  extra_headers: Headers | None = None,
@@ -82,8 +85,11 @@ class SearchResource(SyncAPIResource):
82
85
  "max_results": max_results,
83
86
  "max_tokens": max_tokens,
84
87
  "max_tokens_per_page": max_tokens_per_page,
88
+ "search_after_date_filter": search_after_date_filter,
89
+ "search_before_date_filter": search_before_date_filter,
85
90
  "search_domain_filter": search_domain_filter,
86
91
  "search_mode": search_mode,
92
+ "search_recency_filter": search_recency_filter,
87
93
  },
88
94
  search_create_params.SearchCreateParams,
89
95
  ),
@@ -122,8 +128,11 @@ class AsyncSearchResource(AsyncAPIResource):
122
128
  max_results: int | Omit = omit,
123
129
  max_tokens: int | Omit = omit,
124
130
  max_tokens_per_page: int | Omit = omit,
131
+ search_after_date_filter: Optional[str] | Omit = omit,
132
+ search_before_date_filter: Optional[str] | Omit = omit,
125
133
  search_domain_filter: Optional[SequenceNotStr[str]] | Omit = omit,
126
134
  search_mode: Optional[Literal["web", "academic", "sec"]] | Omit = omit,
135
+ search_recency_filter: Optional[Literal["hour", "day", "week", "month", "year"]] | Omit = omit,
127
136
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
128
137
  # The extra values given here take precedence over values defined on the client or passed to this method.
129
138
  extra_headers: Headers | None = None,
@@ -152,8 +161,11 @@ class AsyncSearchResource(AsyncAPIResource):
152
161
  "max_results": max_results,
153
162
  "max_tokens": max_tokens,
154
163
  "max_tokens_per_page": max_tokens_per_page,
164
+ "search_after_date_filter": search_after_date_filter,
165
+ "search_before_date_filter": search_before_date_filter,
155
166
  "search_domain_filter": search_domain_filter,
156
167
  "search_mode": search_mode,
168
+ "search_recency_filter": search_recency_filter,
157
169
  },
158
170
  search_create_params.SearchCreateParams,
159
171
  ),
@@ -21,6 +21,12 @@ class SearchCreateParams(TypedDict, total=False):
21
21
 
22
22
  max_tokens_per_page: int
23
23
 
24
+ search_after_date_filter: Optional[str]
25
+
26
+ search_before_date_filter: Optional[str]
27
+
24
28
  search_domain_filter: Optional[SequenceNotStr[str]]
25
29
 
26
30
  search_mode: Optional[Literal["web", "academic", "sec"]]
31
+
32
+ search_recency_filter: Optional[Literal["hour", "day", "week", "month", "year"]]
@@ -34,8 +34,11 @@ class TestSearch:
34
34
  max_results=0,
35
35
  max_tokens=0,
36
36
  max_tokens_per_page=0,
37
+ search_after_date_filter="search_after_date_filter",
38
+ search_before_date_filter="search_before_date_filter",
37
39
  search_domain_filter=["string"],
38
40
  search_mode="web",
41
+ search_recency_filter="hour",
39
42
  )
40
43
  assert_matches_type(SearchCreateResponse, search, path=["response"])
41
44
 
@@ -88,8 +91,11 @@ class TestAsyncSearch:
88
91
  max_results=0,
89
92
  max_tokens=0,
90
93
  max_tokens_per_page=0,
94
+ search_after_date_filter="search_after_date_filter",
95
+ search_before_date_filter="search_before_date_filter",
91
96
  search_domain_filter=["string"],
92
97
  search_mode="web",
98
+ search_recency_filter="hour",
93
99
  )
94
100
  assert_matches_type(SearchCreateResponse, search, path=["response"])
95
101
 
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.16.0"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes