Use this file to discover all available pages before exploring further.
Get started with CyborgDB in minutes.
CyborgDB is offered as two packages: cyborgdb_core and cyborgdb_lite. This guide shows how to get started with either. For more details on the difference between both packages, read more here.
1
Install CyborgDB
Install CyborgDB on your machine:
# Ensure that Python 3.9 - 3.13 is installed# Or create a virtual environment with Python 3.9 - 3.13:conda create -n cyborg-env python=3.12# Activate the virtual environment:conda activate cyborg-env# Install CyborgDB:pip install cyborgdb-core -i https://dl.cloudsmith.io/<token>/cyborg/cyborgdb/python/simple/# Or install CyborgDB Lite for evaluation/non-commercial use:pip install cyborgdb-lite
You will need to replace <token> with your token provided by Cyborg.
2
Create a Client
Create a CyborgDB client:
# Import cyborgdb_core or cyborgdb_lite:import cyborgdb_core as cyborgdbimport cyborgdb_lite as cyborgdbimport secrets# Using `memory` storage for this example# `redis` and `postgres` are also supportedindex_location = cyborgdb.DBConfig("memory") # Where encrypted index is stored (for queries)config_location = cyborgdb.DBConfig("memory") # Where encrypted index config is stored (for config/loading)items_location = cyborgdb.DBConfig("memory") # Where item contents are stored (for upsert/get)# Create a clientclient = cyborgdb.Client(index_location, config_location, items_location)
# ... Continuing from the previous step# Create an IVFFlat index config (can also be IVF/IVFPQ)# Using an example vector dimension of 4, and number of lists of 1024index_config = cyborgdb.IndexIVFFlat(dimension=4, n_lists=1024)# Generate an encryption key for the indexindex_key = secrets.token_bytes(32)# Create an encrypted indexindex = client.create_index("my_index", index_key, index_config)
# ... Continuing from the previous step# Query the encrypted indexquery_vector = [0.1, 0.2, 0.3, 0.4]results = index.query(query_vector)# Print the resultsfor result in results: print(f"ID: {result.id}, Distance: {result.distance}")