Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
2ae5251
chore: Fix fact ratings table
paul-paliychuk Apr 16, 2025
791352a
Merge branch 'main' of github.com:getzep/zep-python
paul-paliychuk May 13, 2025
be6b1b7
Merge branch 'main' of github.com:getzep/zep-python
paul-paliychuk May 26, 2025
43e3b64
Merge branch 'main' of github.com:getzep/zep-python
paul-paliychuk Jul 17, 2025
94d84f9
Merge branch 'main' of github.com:getzep/zep-python
paul-paliychuk Jul 21, 2025
ee2f7c0
Merge remote-tracking branch 'origin/main'
paul-paliychuk Jul 31, 2025
9481ce5
SDK regeneration
fern-api[bot] Aug 1, 2025
f28745d
chore: Version bump
paul-paliychuk Aug 1, 2025
a8ff88e
Merge remote-tracking branch 'origin/main' into v3
paul-paliychuk Aug 1, 2025
af6e2b0
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 5, 2025
acb509b
chore: Version bump
paul-paliychuk Aug 5, 2025
94691fb
SDK regeneration
fern-api[bot] Aug 5, 2025
8cae63f
chore: Add support for user/graph ontology targets
paul-paliychuk Aug 5, 2025
a905a3d
SDK regeneration
fern-api[bot] Aug 5, 2025
e6f2a20
chore: Add support for setting entity/edges on a list of users/graphs
paul-paliychuk Aug 5, 2025
86d6b3f
SDK regeneration
fern-api[bot] Aug 5, 2025
f454495
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 9, 2025
6792ca0
chore: Bump version
paul-paliychuk Aug 9, 2025
7ee9f5c
SDK regeneration
fern-api[bot] Aug 9, 2025
244a9af
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 9, 2025
f2a4c53
feat: Update compose context string util to include episodes and disp…
paul-paliychuk Aug 12, 2025
d24c433
chore: Bump version
paul-paliychuk Aug 12, 2025
32dd118
fix: tests
paul-paliychuk Aug 12, 2025
9209d7a
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 12, 2025
f41124c
chore: Remove redundant timestamp conversion branch
paul-paliychuk Aug 12, 2025
c168aea
SDK regeneration
fern-api[bot] Aug 12, 2025
93cfb7c
chore: Version bump
paul-paliychuk Aug 12, 2025
bbfe19c
Merge branch 'v3' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 12, 2025
8b33366
SDK regeneration
fern-api[bot] Aug 14, 2025
7be10f2
SDK regeneration
fern-api[bot] Aug 14, 2025
4aee67c
fix: tests
paul-paliychuk Aug 15, 2025
93d8bd2
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 16, 2025
6604932
chore: Version bump
paul-paliychuk Aug 16, 2025
6f79532
SDK regeneration
fern-api[bot] Aug 16, 2025
b9301c5
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 27, 2025
c395f57
chore: Simplify date parsing in string composition utility
paul-paliychuk Aug 27, 2025
15e5ff1
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Aug 27, 2025
2493c80
chore: Add python date util dep
paul-paliychuk Aug 27, 2025
18e1371
Merge branch 'main' of github.com:getzep/zep-python into v3
paul-paliychuk Oct 3, 2025
410b862
chore: Bump version
paul-paliychuk Oct 3, 2025
abfdca1
SDK regeneration
fern-api[bot] Oct 3, 2025
fae9dec
SDK regeneration
fern-api[bot] Oct 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "zep-cloud"

[tool.poetry]
name = "zep-cloud"
version = "3.4.3"
version = "3.5.0"
description = ""
readme = "README.md"
authors = []
Expand Down
70 changes: 70 additions & 0 deletions reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -2411,6 +2411,76 @@ client.user.get_threads(
</dl>


</dd>
</dl>
</details>

<details><summary><code>client.user.<a href="src/zep_cloud/user/client.py">warm</a>(...)</code></summary>
<dl>
<dd>

#### 📝 Description

<dl>
<dd>

<dl>
<dd>

Hints Zep to warm a user's graph for low-latency search
</dd>
</dl>
</dd>
</dl>

#### 🔌 Usage

<dl>
<dd>

<dl>
<dd>

```python
from zep_cloud import Zep

client = Zep(
api_key="YOUR_API_KEY",
)
client.user.warm(
user_id="userId",
)

```
</dd>
</dl>
</dd>
</dl>

#### ⚙️ Parameters

<dl>
<dd>

<dl>
<dd>

**user_id:** `str` — User ID

</dd>
</dl>

<dl>
<dd>

**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.

</dd>
</dl>
</dd>
</dl>


</dd>
</dl>
</details>
Expand Down
4 changes: 2 additions & 2 deletions src/zep_cloud/core/client_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ def __init__(

def get_headers(self) -> typing.Dict[str, str]:
headers: typing.Dict[str, str] = {
"User-Agent": "zep-cloud/3.4.1",
"User-Agent": "zep-cloud/3.5.0",
"X-Fern-Language": "Python",
"X-Fern-SDK-Name": "zep-cloud",
"X-Fern-SDK-Version": "3.4.1",
"X-Fern-SDK-Version": "3.5.0",
**(self.get_custom_headers() or {}),
}
headers["Authorization"] = f"Api-Key {self.api_key}"
Expand Down
70 changes: 70 additions & 0 deletions src/zep_cloud/user/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,37 @@ def get_threads(
_response = self._raw_client.get_threads(user_id, request_options=request_options)
return _response.data

def warm(self, user_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> SuccessResponse:
"""
Hints Zep to warm a user's graph for low-latency search

Parameters
----------
user_id : str
User ID

request_options : typing.Optional[RequestOptions]
Request-specific configuration.

Returns
-------
SuccessResponse
Warm hint accepted

Examples
--------
from zep_cloud import Zep

client = Zep(
api_key="YOUR_API_KEY",
)
client.user.warm(
user_id="userId",
)
"""
_response = self._raw_client.warm(user_id, request_options=request_options)
return _response.data


class AsyncUserClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
Expand Down Expand Up @@ -692,3 +723,42 @@ async def main() -> None:
"""
_response = await self._raw_client.get_threads(user_id, request_options=request_options)
return _response.data

async def warm(self, user_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> SuccessResponse:
"""
Hints Zep to warm a user's graph for low-latency search

Parameters
----------
user_id : str
User ID

request_options : typing.Optional[RequestOptions]
Request-specific configuration.

Returns
-------
SuccessResponse
Warm hint accepted

Examples
--------
import asyncio

from zep_cloud import AsyncZep

client = AsyncZep(
api_key="YOUR_API_KEY",
)


async def main() -> None:
await client.user.warm(
user_id="userId",
)


asyncio.run(main())
"""
_response = await self._raw_client.warm(user_id, request_options=request_options)
return _response.data
130 changes: 130 additions & 0 deletions src/zep_cloud/user/raw_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,71 @@ def get_threads(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)

def warm(
self, user_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> HttpResponse[SuccessResponse]:
"""
Hints Zep to warm a user's graph for low-latency search

Parameters
----------
user_id : str
User ID

request_options : typing.Optional[RequestOptions]
Request-specific configuration.

Returns
-------
HttpResponse[SuccessResponse]
Warm hint accepted
"""
_response = self._client_wrapper.httpx_client.request(
f"users/{jsonable_encoder(user_id)}/warm",
method="GET",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
_data = typing.cast(
SuccessResponse,
parse_obj_as(
type_=SuccessResponse, # type: ignore
object_=_response.json(),
),
)
return HttpResponse(response=_response, data=_data)
if _response.status_code == 404:
raise NotFoundError(
headers=dict(_response.headers),
body=typing.cast(
types_api_error_ApiError,
parse_obj_as(
type_=types_api_error_ApiError, # type: ignore
object_=_response.json(),
),
),
)
if _response.status_code == 500:
raise InternalServerError(
headers=dict(_response.headers),
body=typing.cast(
types_api_error_ApiError,
parse_obj_as(
type_=types_api_error_ApiError, # type: ignore
object_=_response.json(),
),
),
)
_response_json = _response.json()
except JSONDecodeError:
raise core_api_error_ApiError(
status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
)
raise core_api_error_ApiError(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)


class AsyncRawUserClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
Expand Down Expand Up @@ -1109,3 +1174,68 @@ async def get_threads(
raise core_api_error_ApiError(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)

async def warm(
self, user_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> AsyncHttpResponse[SuccessResponse]:
"""
Hints Zep to warm a user's graph for low-latency search

Parameters
----------
user_id : str
User ID

request_options : typing.Optional[RequestOptions]
Request-specific configuration.

Returns
-------
AsyncHttpResponse[SuccessResponse]
Warm hint accepted
"""
_response = await self._client_wrapper.httpx_client.request(
f"users/{jsonable_encoder(user_id)}/warm",
method="GET",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
_data = typing.cast(
SuccessResponse,
parse_obj_as(
type_=SuccessResponse, # type: ignore
object_=_response.json(),
),
)
return AsyncHttpResponse(response=_response, data=_data)
if _response.status_code == 404:
raise NotFoundError(
headers=dict(_response.headers),
body=typing.cast(
types_api_error_ApiError,
parse_obj_as(
type_=types_api_error_ApiError, # type: ignore
object_=_response.json(),
),
),
)
if _response.status_code == 500:
raise InternalServerError(
headers=dict(_response.headers),
body=typing.cast(
types_api_error_ApiError,
parse_obj_as(
type_=types_api_error_ApiError, # type: ignore
object_=_response.json(),
),
),
)
_response_json = _response.json()
except JSONDecodeError:
raise core_api_error_ApiError(
status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
)
raise core_api_error_ApiError(
status_code=_response.status_code, headers=dict(_response.headers), body=_response_json
)
Loading