Skip to main content

Evaluation Version of CyborgDB: The Confidential Vector Database

Project description

CyborgDB Lite

PyPI - Version PyPI - Python Version

CyborgDB Lite is an evaluation-only/non-commercial preview of CyborgDB, the first Confidential Vector Database. It enables you to ingest & search vectors emeddings in a privacy-preserving manner, without revealing the contents of the vectors themselves. CyborgDB works with existing DBs (e.g., Postgres, Redis) and enables you to add, query and retrieve vector embeddings with transparent end-to-end encryption.

Why Confidential?

Vector Search is at the heart of popular AI applications like RAG, recommendation systems, and semantic search. CyborgDB Lite leverages cryptographic hashing and symmetric encryption to enable Approximate Nearest-Neighbor (ANN) search over encrypted space, keeping your vector embeddings secure throughout their lifecycle.

Key Features

  • End-to-End Encryption: Vector embeddings remain encrypted throughout their lifecycle, including at search time
  • Zero-Trust Design: Novel architecture keeps confidential inference data secure
  • High Performance: GPU-accelerated indexing and retrieval with CUDA support
  • Familiar API: Easy integration with existing AI workflows
  • Multiple Backing Stores: Works with PostgreSQL, Redis, and in-memory storage
  • Cloud Ready: Supports AWS RDS, AWS ElastiCache, Azure Database for PostgreSQL, Azure Cache for Redis, Google Cloud SQL, and Google Cloud Memorystore

Installation

# Ensure Python 3.9 - 3.13 is installed
# You may want to create a virtual environment:
conda create -n cyborg-env python=3.12
conda activate cyborg-env

# Install CyborgDB Lite:
pip install cyborgdb-lite

Quickstart

import cyborgdb_lite as cyborgdb
import secrets

# Create a client with memory storage
# You can replace this with Postgres
index_location = cyborgdb.DBConfig("memory")  # For index contents
config_location = cyborgdb.DBConfig("memory") # For config/loading
items_location = cyborgdb.DBConfig("memory")  # For item contents

# Create a client
client = cyborgdb.Client(index_location, config_location, items_location)

# Create an IVFFlat index
index_config = cyborgdb.IndexIVFFlat(dimension=4, n_lists=1024)

# Generate an encryption key for the index
index_key = secrets.token_bytes(32)

# Create an encrypted index
index = client.create_index("my_index", index_key, index_config)

# Add items to the encrypted index
items = [
    {"id": "item_1", "vector": [0.1, 0.2, 0.3, 0.4], "contents": "Hello!"},
    {"id": "item_2", "vector": [0.5, 0.6, 0.7, 0.8], "contents": "Bonjour!"},
    {"id": "item_3", "vector": [0.9, 0.10, 0.11, 0.12], "contents": "Hola!"}
]

index.upsert(items)

# Query the encrypted index
query_vector = [0.1, 0.2, 0.3, 0.4]
results = index.query(query_vector)

# Print the results
for result in results:
    print(f"ID: {result.id}, Distance: {result.distance}")

Connecting to Different Backing Stores

PostgreSQL

index_location = cyborgdb.DBConfig(
    location="postgres",
    table_name="index_table", 
    connection_string="host=localhost dbname=cyborgdb_lite user=postgres password=postgres"
)

Limitations

CyborgDB Lite is an evaluation version with the following limitations:

  • Maximum 1,000,000 encrypted embeddings
  • Only 2 supported backing stores (PostgreSQL & Memory)
  • Only 1 index type (IVFFlat)
  • Maximum 4 CPU threads
  • Non-commercial use only

For production use or to remove these limitations, please upgrade to CyborgDB Core.

Documentation

For more detailed documentation, visit:

System Requirements

  • Python 3.9 - 3.13
  • Operating Systems: Linux, macOS, or WSL

License

CyborgDB Lite is provided under a limited, evaluation-only license for non-commercial use. For commercial use, please contact Cyborg for licensing information.

About Cyborg

Cyborg is dedicated to making AI safe and secure. We develop solutions that enable organizations to leverage AI while maintaining the confidentiality and privacy of their data.

Visit our website | Contact Us

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_x86_64.whl (48.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_aarch64.whl (28.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_x86_64.whl (48.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_aarch64.whl (28.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_x86_64.whl (48.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_aarch64.whl (28.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_x86_64.whl (48.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_aarch64.whl (28.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_x86_64.whl (48.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_aarch64.whl (28.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef582f2919b5b5acb41776a75c90fd2349a788071740075f6b2bea6b23135f09
MD5 fe25421619fad8281a11e0f685780615
BLAKE2b-256 94ceb7e2842368b3e32295176f5bc6d6c647bf20d72f4c58b82cd984072a4c9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 24d6a0e9f3067761ad2b921d595ea214174fdd35a32eecbc158be21d315565e3
MD5 2b2bcaaac57c39c91a932f7730f5fa5b
BLAKE2b-256 abc9589327d6224754bd42e794459b62ed6556f6d77b284139fedf509ef3b6d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6988bbee1161df6a8f3fe3967fde6e16e0d1975d2d826cdf14612905df5f9b69
MD5 be1638c9334b9d7a88c801261c70da70
BLAKE2b-256 a38d11be0a68b6905dc3fa5cf3d25d30229919a08779cb31da44f47d1a732862

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ca6db3d0d46b35751158f9e5517666c643f82e3813787052c7316af710043a08
MD5 5cc32095a8ed0579e91e8308d7f34a48
BLAKE2b-256 62a6ced8864469e332445e944cfd230398cee79de12018de4125e124cb20c94f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f531e9907458640d810e777ecd6f6409c1a4d3bb9cdfe1cbed34501367566231
MD5 04a5a34cf2c79310adb3bc5000d42ae2
BLAKE2b-256 9bf22c039e7b9cd6732cf2eb0cde899557db91f60dad332f6a9c80e99ddd17e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 806933e065bb4bddabcc2acf992f49677e64c71269482f4c456f7b07229b1b64
MD5 e03d0c41b1e43d37f15873774b8e8d0f
BLAKE2b-256 a9aa2f2739ac938f394c2a929c4d3ebccb2ff62820a3b56be1316637f4437bf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5f53654ecd28278c8a528b1417065f4e27f8ec93a3175c16aa1c3ba476f7e4d
MD5 c46f5a0bb9e44b7f828f5c296c2f2dec
BLAKE2b-256 dce326742e096a58377d5ee2eaf32ddff9e72908530a51170206a2fa8273a783

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d9969e3b248552e6f086253f52e7ffe2b09888b3c11a9f7e0355718c43e13cec
MD5 0fa452207c8966a1315c466bea5906f1
BLAKE2b-256 9e6c3b015fcd250ce36a388a3685bdeb4e31561400e6c40944819222274873c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c1a26f1a58be6ab786cca2c85dd9b1b5b01475d07969cd0f1df9b6d7f01b0caf
MD5 b6afbf26f12d50e25a1fa9f404b13428
BLAKE2b-256 bc0e6b9b605cd0db848e0bedd3e6a615844dcb96c349ead8db58acbc4fb6045b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 83087f7b123efabb3d2b4626d8786d322d50a68a4aede2a9ace1b06b57afe3ad
MD5 0c9a310bb55f20681666fcc5536ebcae
BLAKE2b-256 c58da1a876fd3c2f86d3b99b3549fe44285b807aee67ca5565ad5b833ac496eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_lite-0.10.1.dev0-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: build_test_py_lite.yaml on cyborginc/cyborgdb-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page