Python SDK
The official Python client provides an ergonomic wrapper around the gRPC interface.
Installation
Install from PyPI:
pip install hyperspacedb
Client-Side Vectorization (Fat Client)
The SDK supports built-in embedding generation using popular providers (OpenAI, Cohere, etc.). This allows you to insert and search using raw text.
Installation with Extras
# Install with OpenAI support
pip install ".[openai]"
# Install with All embedders support
pip install ".[all]"
Usage
from hyperspace import HyperspaceClient, OpenAIEmbedder
# 1. Init with Embedder
embedder = OpenAIEmbedder(api_key="sk-...")
client = HyperspaceClient(embedder=embedder)
# 2. Insert Document
client.insert(id=1, document="HyperspaceDB supports Hyperbolic geometry.", metadata={"tag": "math"})
# 3. Search by Text
results = client.search(query_text="non-euclidean geometry", top_k=5)
Reference
HyperspaceClient
class HyperspaceClient(host="localhost:50051", api_key=None, embedder=None)
embedder: Instance ofBaseEmbeddersubclass.
Supported Embedders
OpenAIEmbedderOpenRouterEmbedderCohereEmbedderVoyageEmbedderGoogleEmbedderSentenceTransformerEmbedder(Local models)
Methods
insert(id, vector=None, document=None, metadata=None) -> bool
id(int): Unique identifier (u32).vector(List[float]): The embedding.document(str): Raw text to embed (requires configured embedder).- Note: Provide either
vectorORdocument.
search(vector=None, query_text=None, top_k=10, ...) -> List[dict]
vector(List[float]): Query vector.query_text(str): Raw text query.
search_batch(vectors, top_k=10, collection="") -> List[List[dict]]
Batch search API that sends multiple SearchRequest objects in one gRPC call.
rebuild_index(collection, filter_query=None) -> bool
Supports metadata-aware pruning during rebuild:
client.rebuild_index(
"docs_py",
filter_query={"key": "energy", "op": "lt", "value": 0.1},
)
delete(id, collection="") -> bool
Removes a single vector by its ID.
analyze_delta_hyperbolicity(vectors, num_samples=1000) -> (float, str)
Analyzes a set of vectors to determine if they exhibit hyperbolic structure. Returns the Gromov delta and a recommended metric ("lorentz", "poincare", or "l2").
Graph traversal methods
get_node(collection, id, layer=0)get_neighbors(collection, id, layer=0, limit=64, offset=0)get_concept_parents(collection, id, layer=0, limit=32)traverse(collection, start_id, max_depth=2, max_nodes=256, layer=0, filter=None, filters=None)find_semantic_clusters(collection, layer=0, min_cluster_size=3, max_clusters=32, max_nodes=10000)
Hyperbolic math utilities
from hyperspace import (
mobius_add,
exp_map,
log_map,
parallel_transport,
riemannian_gradient,
frechet_mean,
)