class Turbopuffer::Resources::Namespaces

def delete_all(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceDeleteAllParams -

Returns:
  • (Turbopuffer::Models::NamespaceDeleteAllResponse) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • namespace (String) -- The name of the namespace.

Overloads:
  • delete_all(namespace: nil, request_options: {})
def delete_all(params = {})
  parsed, options = Turbopuffer::NamespaceDeleteAllParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :delete,
    path: ["v2/namespaces/%1$s", namespace],
    model: Turbopuffer::Models::NamespaceDeleteAllResponse,
    options: options
  )
end

def hint_cache_warm(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceHintCacheWarmParams -

Returns:
  • (Turbopuffer::Models::NamespaceHintCacheWarmResponse) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • namespace (String) -- The name of the namespace.

Overloads:
  • hint_cache_warm(namespace: nil, request_options: {})
def hint_cache_warm(params = {})
  parsed, options = Turbopuffer::NamespaceHintCacheWarmParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :get,
    path: ["v1/namespaces/%1$s/hint_cache_warm", namespace],
    model: Turbopuffer::Models::NamespaceHintCacheWarmResponse,
    options: options
  )
end

def initialize(client:)

Parameters:
  • client (Turbopuffer::Client) --

Other tags:
    Api: - private
def initialize(client:)
  @client = client
end

def metadata(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceMetadataParams -

Returns:
  • (Turbopuffer::Models::NamespaceMetadata) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • namespace (String) -- The name of the namespace.

Overloads:
  • metadata(namespace: nil, request_options: {})
def metadata(params = {})
  parsed, options = Turbopuffer::NamespaceMetadataParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :get,
    path: ["v1/namespaces/%1$s/metadata", namespace],
    model: Turbopuffer::NamespaceMetadata,
    options: options
  )
end

def multi_query(params)

Other tags:
    See: Turbopuffer::Models::NamespaceMultiQueryParams -

Returns:
  • (Turbopuffer::Models::NamespaceMultiQueryResponse) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • vector_encoding (Symbol, Turbopuffer::Models::VectorEncoding) -- Body param: The encoding to use for vectors in the response.
  • consistency (Turbopuffer::Models::NamespaceMultiQueryParams::Consistency) -- Body param: The consistency level for a query.
  • namespace (String) -- Path param: The name of the namespace.
  • queries (Array) -- Body param:

Overloads:
  • multi_query(queries:, namespace: nil, consistency: nil, vector_encoding: nil, request_options: {})
def multi_query(params)
  parsed, options = Turbopuffer::NamespaceMultiQueryParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :post,
    path: ["v2/namespaces/%1$s/query?stainless_overload=multiQuery", namespace],
    body: parsed,
    model: Turbopuffer::Models::NamespaceMultiQueryResponse,
    options: options
  )
end

def query(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceQueryParams -

Returns:
  • (Turbopuffer::Models::NamespaceQueryResponse) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • vector_encoding (Symbol, Turbopuffer::Models::VectorEncoding) -- Body param: The encoding to use for vectors in the response.
  • top_k (Integer) -- Body param: The number of results to return.
  • rank_by (Object) -- Body param: How to rank the documents in the namespace.
  • include_attributes (Boolean, Array) -- Body param: Whether to include attributes in the response.
  • filters (Object) -- Body param: Exact filters for attributes to refine search results for. Think of
  • exclude_attributes (Array) -- Body param: List of attribute names to exclude from the response. All other attr
  • distance_metric (Symbol, Turbopuffer::Models::DistanceMetric) -- Body param: A function used to calculate vector similarity.
  • consistency (Turbopuffer::Models::NamespaceQueryParams::Consistency) -- Body param: The consistency level for a query.
  • aggregate_by (Hash{Symbol=>Object}) -- Body param: Aggregations to compute over all documents in the namespace that mat
  • namespace (String) -- Path param: The name of the namespace.

Overloads:
  • query(namespace: nil, aggregate_by: nil, consistency: nil, distance_metric: nil, exclude_attributes: nil, filters: nil, include_attributes: nil, rank_by: nil, top_k: nil, vector_encoding: nil, request_options: {})
def query(params = {})
  parsed, options = Turbopuffer::NamespaceQueryParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :post,
    path: ["v2/namespaces/%1$s/query", namespace],
    body: parsed,
    model: Turbopuffer::Models::NamespaceQueryResponse,
    options: options
  )
end

def recall(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceRecallParams -

Returns:
  • (Turbopuffer::Models::NamespaceRecallResponse) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • top_k (Integer) -- Body param: Search for `top_k` nearest neighbors.
  • queries (Array) -- Body param: Use specific query vectors for the measurement. If omitted, sampled
  • num (Integer) -- Body param: The number of searches to run.
  • filters (Object) -- Body param: Filter by attributes. Same syntax as the query endpoint.
  • namespace (String) -- Path param: The name of the namespace.

Overloads:
  • recall(namespace: nil, filters: nil, num: nil, queries: nil, top_k: nil, request_options: {})
def recall(params = {})
  parsed, options = Turbopuffer::NamespaceRecallParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :post,
    path: ["v1/namespaces/%1$s/_debug/recall", namespace],
    body: parsed,
    model: Turbopuffer::Models::NamespaceRecallResponse,
    options: options
  )
end

def schema(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceSchemaParams -

Returns:
  • (Hash{Symbol=>Turbopuffer::Models::AttributeSchemaConfig}) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • namespace (String) -- The name of the namespace.

Overloads:
  • schema(namespace: nil, request_options: {})
def schema(params = {})
  parsed, options = Turbopuffer::NamespaceSchemaParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :get,
    path: ["v1/namespaces/%1$s/schema", namespace],
    model: Turbopuffer::Internal::Type::HashOf[Turbopuffer::AttributeSchemaConfig],
    options: options
  )
end

def update_schema(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceUpdateSchemaParams -

Returns:
  • (Hash{Symbol=>Turbopuffer::Models::AttributeSchemaConfig}) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • schema (Hash{Symbol=>String, Turbopuffer::Models::AttributeSchemaConfig}) -- Body param: The desired schema for the namespace.
  • namespace (String) -- Path param: The name of the namespace.

Overloads:
  • update_schema(namespace: nil, schema: nil, request_options: {})
def update_schema(params = {})
  parsed, options = Turbopuffer::NamespaceUpdateSchemaParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :post,
    path: ["v1/namespaces/%1$s/schema", namespace],
    body: parsed[:schema],
    model: Turbopuffer::Internal::Type::HashOf[Turbopuffer::AttributeSchemaConfig],
    options: options
  )
end

def write(params = {})

Other tags:
    See: Turbopuffer::Models::NamespaceWriteParams -

Returns:
  • (Turbopuffer::Models::NamespaceWriteResponse) -

Parameters:
  • request_options (Turbopuffer::RequestOptions, Hash{Symbol=>Object}, nil) --
  • upsert_rows (Array) -- Body param:
  • upsert_condition (Object) -- Body param: A condition evaluated against the current value of each document tar
  • upsert_columns (Turbopuffer::Models::Columns) -- Body param: A list of documents in columnar format. Each key is a column name, m
  • schema (Hash{Symbol=>String, Turbopuffer::Models::AttributeSchemaConfig}) -- Body param: The schema of the attributes attached to the documents.
  • patch_rows (Array) -- Body param:
  • patch_condition (Object) -- Body param: A condition evaluated against the current value of each document tar
  • patch_columns (Turbopuffer::Models::Columns) -- Body param: A list of documents in columnar format. Each key is a column name, m
  • encryption (Turbopuffer::Models::NamespaceWriteParams::Encryption) -- Body param: The encryption configuration for a namespace.
  • distance_metric (Symbol, Turbopuffer::Models::DistanceMetric) -- Body param: A function used to calculate vector similarity.
  • deletes (Array) -- Body param:
  • delete_condition (Object) -- Body param: A condition evaluated against the current value of each document tar
  • delete_by_filter (Object) -- Body param: The filter specifying which documents to delete.
  • copy_from_namespace (String) -- Body param: The namespace to copy documents from.
  • namespace (String) -- Path param: The name of the namespace.

Overloads:
  • write(namespace: nil, copy_from_namespace: nil, delete_by_filter: nil, delete_condition: nil, deletes: nil, distance_metric: nil, encryption: nil, patch_columns: nil, patch_condition: nil, patch_rows: nil, schema: nil, upsert_columns: nil, upsert_condition: nil, upsert_rows: nil, request_options: {})
def write(params = {})
  parsed, options = Turbopuffer::NamespaceWriteParams.dump_request(params)
  namespace =
    parsed.delete(:namespace) do
      @client.default_namespace
    end
  @client.request(
    method: :post,
    path: ["v2/namespaces/%1$s", namespace],
    body: parsed,
    model: Turbopuffer::Models::NamespaceWriteResponse,
    options: {max_retries: 6, **options}
  )
end