Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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 .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "2.4.0"
".": "2.5.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 14
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/turbopuffer-benesch/turbopuffer-17e5bcde1d39d5673f2b1bf4446afa000d90a0fdb9ae4b86a05bd15f12f9e547.yml
openapi_spec_hash: 4aaf757ac332b99a28f9a44a47891a5f
config_hash: bab72dc9f937352c7a01a37dadd44122
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/turbopuffer-benesch/turbopuffer-949092f69521d36010ea13571dc7ed1015a95e90897a971a398e1a5c968a8163.yml
openapi_spec_hash: bd6fdabde2b66bca3b7a3427ca943d9d
config_hash: cf1d73eb027654e6e18f24ca8b37f2af
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 2.5.0 (2026-06-12)

Full Changelog: [v2.4.0...v2.5.0](https://github.com/turbopuffer/turbopuffer-python/compare/v2.4.0...v2.5.0)

### Features

* tpuf-engine: support dest_encryption in copy_from_namespace ([3421ea0](https://github.com/turbopuffer/turbopuffer-python/commit/3421ea0ba6b98a2500e72dadd4e61aa4b0410f60))


### Documentation

* rename /docs/overview to /docs/api-overview ([68e7cd6](https://github.com/turbopuffer/turbopuffer-python/commit/68e7cd6fb1b073b5112def1ee4083f62ab994610))

## 2.4.0 (2026-06-08)

Full Changelog: [v2.3.0...v2.4.0](https://github.com/turbopuffer/turbopuffer-python/compare/v2.3.0...v2.4.0)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Use the turbopuffer MCP Server to enable AI assistants to interact with this API

## Documentation

The HTTP API documentation can be found at [turbopuffer.com/docs/overview](https://turbopuffer.com/docs/overview).
The HTTP API documentation can be found at [turbopuffer.com/docs/api-overview](https://turbopuffer.com/docs/api-overview).

## Installation

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "turbopuffer"
version = "2.4.0"
version = "2.5.0"
description = "The official Python library for the turbopuffer API"
dynamic = ["readme"]
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion src/turbopuffer/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "turbopuffer"
__version__ = "2.4.0" # x-release-please-version
__version__ = "2.5.0" # x-release-please-version
8 changes: 8 additions & 0 deletions src/turbopuffer/resources/namespaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ def copy_from(
*,
namespace: str | None = None,
source_namespace: str,
dest_encryption: EncryptionParam | Omit = omit,
source_api_key: str | Omit = omit,
source_region: str | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand All @@ -143,6 +144,8 @@ def copy_from(
Args:
source_namespace: The namespace to copy documents from.

dest_encryption: (Optional) The encryption configuration for the destination namespace.

source_api_key: (Optional) An API key for the organization containing the source namespace

source_region: (Optional) The region of the source namespace.
Expand All @@ -165,6 +168,7 @@ def copy_from(
"copy_from_namespace": maybe_transform(
{
"source_namespace": source_namespace,
"dest_encryption": dest_encryption,
"source_api_key": source_api_key,
"source_region": source_region,
},
Expand Down Expand Up @@ -887,6 +891,7 @@ async def copy_from(
*,
namespace: str | None = None,
source_namespace: str,
dest_encryption: EncryptionParam | Omit = omit,
source_api_key: str | Omit = omit,
source_region: str | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand All @@ -902,6 +907,8 @@ async def copy_from(
Args:
source_namespace: The namespace to copy documents from.

dest_encryption: (Optional) The encryption configuration for the destination namespace.

source_api_key: (Optional) An API key for the organization containing the source namespace

source_region: (Optional) The region of the source namespace.
Expand All @@ -924,6 +931,7 @@ async def copy_from(
"copy_from_namespace": await async_maybe_transform(
{
"source_namespace": source_namespace,
"dest_encryption": dest_encryption,
"source_api_key": source_api_key,
"source_region": source_region,
},
Expand Down
5 changes: 5 additions & 0 deletions src/turbopuffer/types/namespace_copy_from_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

from typing_extensions import Required, TypedDict

from .encryption_param import EncryptionParam

__all__ = ["NamespaceCopyFromParams"]


Expand All @@ -13,6 +15,9 @@ class NamespaceCopyFromParams(TypedDict, total=False):
source_namespace: Required[str]
"""The namespace to copy documents from."""

dest_encryption: EncryptionParam
"""(Optional) The encryption configuration for the destination namespace."""

source_api_key: str
"""(Optional) An API key for the organization containing the source namespace"""

Expand Down
8 changes: 8 additions & 0 deletions tests/api_resources/test_namespaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@ def test_method_copy_from(self, client: Turbopuffer) -> None:
def test_method_copy_from_with_all_params(self, client: Turbopuffer) -> None:
namespace = client.namespace("namespace").copy_from(
source_namespace="source_namespace",
dest_encryption={
"key_name": "key_name",
"mode": "customer-managed",
},
source_api_key="source_api_key",
source_region="source_region",
)
Expand Down Expand Up @@ -701,6 +705,10 @@ async def test_method_copy_from(self, async_client: AsyncTurbopuffer) -> None:
async def test_method_copy_from_with_all_params(self, async_client: AsyncTurbopuffer) -> None:
namespace = await async_client.namespace("namespace").copy_from(
source_namespace="source_namespace",
dest_encryption={
"key_name": "key_name",
"mode": "customer-managed",
},
source_api_key="source_api_key",
source_region="source_region",
)
Expand Down
Loading