Use this file to discover all available pages before exploring further.
Get started with CyborgDB in minutes.
CyborgDB’s embedded library 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
Get an API Key
To use CyborgDB, you need an API key. You can get an API key from the CyborgDB Admin Dashboard. For more info, follow this guide.Make sure to keep your API key secure and do not share it publicly.
2
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.
3
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)# Get your API keyapi_key = "your_api_key_here" # Replace with your actual API key# Create a clientclient = cyborgdb.Client(api_key, 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_vectors = [0.1, 0.2, 0.3, 0.4]results = index.query(query_vectors)# Print the resultsfor result in results: print(f"ID: {result.id}, Distance: {result.distance}")