diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 463488b..4ad3fef 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.17.1" + ".": "0.18.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 37fb9e0..19c4bb4 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 5 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/perplexity-ai%2Fperplexity-cf9f981e30f8c9739f337a8b20436cebdbf35fffc70d6db5a09ec5a3b68cddef.yml -openapi_spec_hash: d0cdcfdde0a0046e6451305475060748 -config_hash: 29552caca3e91432ed1a14f4a38487cc +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/perplexity-ai%2Fperplexity-335f0ceddae39ba77e5abf8b2b72691a43174b25c2ec897cd7779db8d1524820.yml +openapi_spec_hash: e34fc7a3c97b61c7aded4df4774f298e +config_hash: 4e2c5b7ad4caa07a2ac1af091ecf6c9c diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a007e9..778f995 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.18.0 (2025-10-29) + +Full Changelog: [v0.17.1...v0.18.0](https://github.com/perplexityai/perplexity-py/compare/v0.17.1...v0.18.0) + +### Features + +* **api:** manual updates ([7a08c95](https://github.com/perplexityai/perplexity-py/commit/7a08c95ea7f9a04004153aac6cfd78022a68fd11)) + ## 0.17.1 (2025-10-18) Full Changelog: [v0.17.0...v0.17.1](https://github.com/perplexityai/perplexity-py/compare/v0.17.0...v0.17.1) diff --git a/README.md b/README.md index d8619c9..ababed6 100644 --- a/README.md +++ b/README.md @@ -296,7 +296,7 @@ client.with_options(max_retries=5).chat.completions.create( ### Timeouts -By default requests time out after 1 minute. You can configure this with a `timeout` option, +By default requests time out after 15 minutes. You can configure this with a `timeout` option, which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object: ```python @@ -304,7 +304,7 @@ from perplexity import Perplexity # Configure the default for all requests: client = Perplexity( - # 20 seconds (default is 1 minute) + # 20 seconds (default is 15 minutes) timeout=20.0, ) diff --git a/api.md b/api.md index ab8cd1c..29229b9 100644 --- a/api.md +++ b/api.md @@ -24,6 +24,18 @@ Methods: - client.chat.completions.create(\*\*params) -> StreamChunk +# Search + +Types: + +```python +from perplexity.types import SearchCreateResponse +``` + +Methods: + +- client.search.create(\*\*params) -> SearchCreateResponse + # Async ## Chat @@ -45,15 +57,3 @@ Methods: - client.async*.chat.completions.create(\*\*params) -> CompletionCreateResponse - client.async*.chat.completions.list() -> CompletionListResponse - client.async*.chat.completions.get(api*request, \*\*params) -> CompletionGetResponse - -# Search - -Types: - -```python -from perplexity.types import SearchCreateResponse -``` - -Methods: - -- client.search.create(\*\*params) -> SearchCreateResponse diff --git a/pyproject.toml b/pyproject.toml index 877f0af..7f4f960 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "perplexityai" -version = "0.17.1" +version = "0.18.0" description = "The official Python library for the perplexity API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/perplexity/_client.py b/src/perplexity/_client.py index 255b055..f151ece 100644 --- a/src/perplexity/_client.py +++ b/src/perplexity/_client.py @@ -46,8 +46,8 @@ class Perplexity(SyncAPIClient): chat: chat.ChatResource - async_: async_.AsyncResource search: search.SearchResource + async_: async_.AsyncResource with_raw_response: PerplexityWithRawResponse with_streaming_response: PerplexityWithStreamedResponse @@ -108,8 +108,8 @@ def __init__( self._default_stream_cls = Stream self.chat = chat.ChatResource(self) - self.async_ = async_.AsyncResource(self) self.search = search.SearchResource(self) + self.async_ = async_.AsyncResource(self) self.with_raw_response = PerplexityWithRawResponse(self) self.with_streaming_response = PerplexityWithStreamedResponse(self) @@ -220,8 +220,8 @@ def _make_status_error( class AsyncPerplexity(AsyncAPIClient): chat: chat.AsyncChatResource - async_: async_.AsyncAsyncResource search: search.AsyncSearchResource + async_: async_.AsyncAsyncResource with_raw_response: AsyncPerplexityWithRawResponse with_streaming_response: AsyncPerplexityWithStreamedResponse @@ -282,8 +282,8 @@ def __init__( self._default_stream_cls = AsyncStream self.chat = chat.AsyncChatResource(self) - self.async_ = async_.AsyncAsyncResource(self) self.search = search.AsyncSearchResource(self) + self.async_ = async_.AsyncAsyncResource(self) self.with_raw_response = AsyncPerplexityWithRawResponse(self) self.with_streaming_response = AsyncPerplexityWithStreamedResponse(self) @@ -395,29 +395,29 @@ def _make_status_error( class PerplexityWithRawResponse: def __init__(self, client: Perplexity) -> None: self.chat = chat.ChatResourceWithRawResponse(client.chat) - self.async_ = async_.AsyncResourceWithRawResponse(client.async_) self.search = search.SearchResourceWithRawResponse(client.search) + self.async_ = async_.AsyncResourceWithRawResponse(client.async_) class AsyncPerplexityWithRawResponse: def __init__(self, client: AsyncPerplexity) -> None: self.chat = chat.AsyncChatResourceWithRawResponse(client.chat) - self.async_ = async_.AsyncAsyncResourceWithRawResponse(client.async_) self.search = search.AsyncSearchResourceWithRawResponse(client.search) + self.async_ = async_.AsyncAsyncResourceWithRawResponse(client.async_) class PerplexityWithStreamedResponse: def __init__(self, client: Perplexity) -> None: self.chat = chat.ChatResourceWithStreamingResponse(client.chat) - self.async_ = async_.AsyncResourceWithStreamingResponse(client.async_) self.search = search.SearchResourceWithStreamingResponse(client.search) + self.async_ = async_.AsyncResourceWithStreamingResponse(client.async_) class AsyncPerplexityWithStreamedResponse: def __init__(self, client: AsyncPerplexity) -> None: self.chat = chat.AsyncChatResourceWithStreamingResponse(client.chat) - self.async_ = async_.AsyncAsyncResourceWithStreamingResponse(client.async_) self.search = search.AsyncSearchResourceWithStreamingResponse(client.search) + self.async_ = async_.AsyncAsyncResourceWithStreamingResponse(client.async_) Client = Perplexity diff --git a/src/perplexity/_constants.py b/src/perplexity/_constants.py index 6ddf2c7..bd67d2d 100644 --- a/src/perplexity/_constants.py +++ b/src/perplexity/_constants.py @@ -5,8 +5,8 @@ RAW_RESPONSE_HEADER = "X-Stainless-Raw-Response" OVERRIDE_CAST_TO_HEADER = "____stainless_override_cast_to" -# default timeout is 1 minute -DEFAULT_TIMEOUT = httpx.Timeout(timeout=60, connect=5.0) +# default timeout is 15 minutes +DEFAULT_TIMEOUT = httpx.Timeout(timeout=900, connect=5.0) DEFAULT_MAX_RETRIES = 2 DEFAULT_CONNECTION_LIMITS = httpx.Limits(max_connections=100, max_keepalive_connections=20) diff --git a/src/perplexity/_version.py b/src/perplexity/_version.py index ff0eaeb..409b931 100644 --- a/src/perplexity/_version.py +++ b/src/perplexity/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "perplexity" -__version__ = "0.17.1" # x-release-please-version +__version__ = "0.18.0" # x-release-please-version diff --git a/src/perplexity/resources/__init__.py b/src/perplexity/resources/__init__.py index f9d32b2..8f6f2d9 100644 --- a/src/perplexity/resources/__init__.py +++ b/src/perplexity/resources/__init__.py @@ -32,16 +32,16 @@ "AsyncChatResourceWithRawResponse", "ChatResourceWithStreamingResponse", "AsyncChatResourceWithStreamingResponse", - "AsyncResource", - "AsyncAsyncResource", - "AsyncResourceWithRawResponse", - "AsyncAsyncResourceWithRawResponse", - "AsyncResourceWithStreamingResponse", - "AsyncAsyncResourceWithStreamingResponse", "SearchResource", "AsyncSearchResource", "SearchResourceWithRawResponse", "AsyncSearchResourceWithRawResponse", "SearchResourceWithStreamingResponse", "AsyncSearchResourceWithStreamingResponse", + "AsyncResource", + "AsyncAsyncResource", + "AsyncResourceWithRawResponse", + "AsyncAsyncResourceWithRawResponse", + "AsyncResourceWithStreamingResponse", + "AsyncAsyncResourceWithStreamingResponse", ]