Skip to content

Commit 5ff043f

Browse files
release: 1.2.0 (#51)
* feat: add search routes * chore: add Python 3.14 classifier and testing * fix: disable messages + passages for now * feat: add support for new model * codegen metadata * fix: properly limit runs query * release: 1.2.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 4419b37 commit 5ff043f

File tree

15 files changed

+77
-20
lines changed

15 files changed

+77
-20
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.1.2"
2+
".": "1.2.0"
33
}

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 117
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/letta-ai%2Fletta-sdk-467b56c7f84bbc387cccfda48345431547f7e621bfb06f005ea5844de77f1858.yml
3-
openapi_spec_hash: ad37dbb38f5802754d614f1bb51e1b21
4-
config_hash: adc4dc768447fe1323ab69965879aef4
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/letta-ai%2Fletta-sdk-f5320fe57cdf2953f97fd39569fc720cbe0d3c3e9f8a17eef4e0491442e182fd.yml
3+
openapi_spec_hash: abc45d2dc91063dd8fc04b6358c5b852
4+
config_hash: 679cc6b0aae84dcf2facfb0ed1151c0f

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## 1.2.0 (2025-11-25)
4+
5+
Full Changelog: [v1.1.2...v1.2.0](https://github.com/letta-ai/letta-python/compare/v1.1.2...v1.2.0)
6+
7+
### Features
8+
9+
* add search routes ([71094b3](https://github.com/letta-ai/letta-python/commit/71094b371fc636bdc3a8956ce36793b8218a96e0))
10+
* add support for new model ([03a1d2d](https://github.com/letta-ai/letta-python/commit/03a1d2d9c7fc4b3ba4b7aa14020c3ef5118d5506))
11+
12+
13+
### Bug Fixes
14+
15+
* disable messages + passages for now ([f6c4e54](https://github.com/letta-ai/letta-python/commit/f6c4e545e0eac72f03829cfd08da2e8dfa37b2b0))
16+
* properly limit runs query ([eccc942](https://github.com/letta-ai/letta-python/commit/eccc942c424192fed7993024b88edb37b130e434))
17+
18+
19+
### Chores
20+
21+
* add Python 3.14 classifier and testing ([4d3c6e8](https://github.com/letta-ai/letta-python/commit/4d3c6e851c009dcb1aa667e459df4788cadf050b))
22+
323
## 1.1.2 (2025-11-21)
424

525
Full Changelog: [v1.1.1...v1.1.2](https://github.com/letta-ai/letta-python/compare/v1.1.1...v1.1.2)

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ Methods:
253253
- <code title="get /v1/archives/{archive_id}">client.archives.<a href="./src/letta_client/resources/archives/archives.py">retrieve</a>(archive_id) -> <a href="./src/letta_client/types/archive.py">Archive</a></code>
254254
- <code title="patch /v1/archives/{archive_id}">client.archives.<a href="./src/letta_client/resources/archives/archives.py">update</a>(archive_id, \*\*<a href="src/letta_client/types/archive_update_params.py">params</a>) -> <a href="./src/letta_client/types/archive.py">Archive</a></code>
255255
- <code title="get /v1/archives/">client.archives.<a href="./src/letta_client/resources/archives/archives.py">list</a>(\*\*<a href="src/letta_client/types/archive_list_params.py">params</a>) -> <a href="./src/letta_client/types/archive.py">SyncArrayPage[Archive]</a></code>
256-
- <code title="delete /v1/archives/{archive_id}">client.archives.<a href="./src/letta_client/resources/archives/archives.py">delete</a>(archive_id) -> <a href="./src/letta_client/types/archive.py">Archive</a></code>
256+
- <code title="delete /v1/archives/{archive_id}">client.archives.<a href="./src/letta_client/resources/archives/archives.py">delete</a>(archive_id) -> None</code>
257257

258258
## Passages
259259

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "letta-client"
3-
version = "1.1.2"
3+
version = "1.2.0"
44
description = "The official Python library for the letta API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"
@@ -24,6 +24,7 @@ classifiers = [
2424
"Programming Language :: Python :: 3.11",
2525
"Programming Language :: Python :: 3.12",
2626
"Programming Language :: Python :: 3.13",
27+
"Programming Language :: Python :: 3.14",
2728
"Operating System :: OS Independent",
2829
"Operating System :: POSIX",
2930
"Operating System :: MacOS",

src/letta_client/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "letta_client"
4-
__version__ = "1.1.2" # x-release-please-version
4+
__version__ = "1.2.0" # x-release-please-version

src/letta_client/resources/archives/archives.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import httpx
99

1010
from ...types import archive_list_params, archive_create_params, archive_update_params
11-
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
11+
from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
1212
from ..._utils import maybe_transform, async_maybe_transform
1313
from .passages import (
1414
PassagesResource,
@@ -265,7 +265,7 @@ def delete(
265265
extra_query: Query | None = None,
266266
extra_body: Body | None = None,
267267
timeout: float | httpx.Timeout | None | NotGiven = not_given,
268-
) -> Archive:
268+
) -> None:
269269
"""
270270
Delete an archive by its ID.
271271
@@ -282,12 +282,13 @@ def delete(
282282
"""
283283
if not archive_id:
284284
raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
285+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
285286
return self._delete(
286287
f"/v1/archives/{archive_id}",
287288
options=make_request_options(
288289
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
289290
),
290-
cast_to=Archive,
291+
cast_to=NoneType,
291292
)
292293

293294

@@ -522,7 +523,7 @@ async def delete(
522523
extra_query: Query | None = None,
523524
extra_body: Body | None = None,
524525
timeout: float | httpx.Timeout | None | NotGiven = not_given,
525-
) -> Archive:
526+
) -> None:
526527
"""
527528
Delete an archive by its ID.
528529
@@ -539,12 +540,13 @@ async def delete(
539540
"""
540541
if not archive_id:
541542
raise ValueError(f"Expected a non-empty value for `archive_id` but received {archive_id!r}")
543+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
542544
return await self._delete(
543545
f"/v1/archives/{archive_id}",
544546
options=make_request_options(
545547
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
546548
),
547-
cast_to=Archive,
549+
cast_to=NoneType,
548550
)
549551

550552

src/letta_client/types/anthropic_model_settings.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ class Thinking(BaseModel):
1717

1818

1919
class AnthropicModelSettings(BaseModel):
20+
effort: Optional[Literal["low", "medium", "high"]] = None
21+
"""Effort level for Opus 4.5 model (controls token conservation).
22+
23+
Not setting this gives similar performance to 'high'.
24+
"""
25+
2026
max_output_tokens: Optional[int] = None
2127
"""The maximum number of tokens the model can generate."""
2228

src/letta_client/types/anthropic_model_settings_param.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ class Thinking(TypedDict, total=False):
1717

1818

1919
class AnthropicModelSettingsParam(TypedDict, total=False):
20+
effort: Optional[Literal["low", "medium", "high"]]
21+
"""Effort level for Opus 4.5 model (controls token conservation).
22+
23+
Not setting this gives similar performance to 'high'.
24+
"""
25+
2026
max_output_tokens: int
2127
"""The maximum number of tokens the model can generate."""
2228

src/letta_client/types/llm_config.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ class LlmConfig(BaseModel):
4949
display_name: Optional[str] = None
5050
"""A human-friendly display name for the model."""
5151

52+
effort: Optional[Literal["low", "medium", "high"]] = None
53+
"""The effort level for Anthropic Opus 4.5 model (controls token spending).
54+
55+
Not setting this gives similar performance to 'high'.
56+
"""
57+
5258
enable_reasoner: Optional[bool] = None
5359
"""
5460
Whether or not the model should use extended thinking if it is a 'reasoning'

0 commit comments

Comments
 (0)