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",
]