Skip to main content

Core Python Library for CyborgDB: The Confidential Vector Database (CUDA 12)

Project description

CyborgDB Core

PyPI - Version PyPI - Python Version

CyborgDB is the first Confidential Vector Database that enables you to ingest & search vectors embeddings in a privacy-preserving manner, without revealing the contents of the vectors themselves. It supports in-memory, local-disk, and S3 backing stores, 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 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 in-memory, local disk, and S3 storage
  • Cloud Ready: Supports AWS S3 (and S3-compatible stores like MinIO) out of the box

API Key (Optional)

cyborgdb-core works out of the box with no API key — the client runs in free-tier mode with a per-index cap of 1,000,000 items. For unlimited usage, get an API key from db.cyborg.co: sign up for a free account, create an API key, and pass it to the client.

Installation

# Install CyborgDB Core (CPU):
pip install cyborgdb-core

# Install CyborgDB Core (CUDA):
pip install cyborgdb-core-cu12

Quickstart

import cyborgdb_core as cyborgdb
import secrets

# Create a client with memory storage (no API key required for free-tier usage)
# You can replace this with cyborgdb.StorageConfig.disk(...) or .s3(...)
client = cyborgdb.Client(storage_config=cyborgdb.StorageConfig.memory())

# For unlimited usage, pass your CyborgDB API key:
# client = cyborgdb.Client("cyborgdb_000000", cyborgdb.StorageConfig.memory())

# 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)

# 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

Disk (local RocksDB)

storage_config = cyborgdb.StorageConfig.disk("/tmp/cyborgdb_disk")
client = cyborgdb.Client(storage_config=storage_config)

S3

storage_config = cyborgdb.StorageConfig.s3(
    "my-bucket",
    region="us-east-1",
    # Omit credentials= to use the AWS default credential chain
    credentials=cyborgdb.S3Credentials(access_key="...", secret_key="..."),
)
client = cyborgdb.Client(storage_config=storage_config)

Documentation

For more detailed documentation, visit:

System Requirements

  • Python 3.10 - 3.14
  • Operating Systems: Linux, macOS, or WSL

License

CyborgDB is provided under a commercial license with a perpetual free tier. Contact Cyborg or visit the pricing page for more 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_core_cu12-0.17.0-cp314-cp314-manylinux_2_28_x86_64.whl (71.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

cyborgdb_core_cu12-0.17.0-cp313-cp313-manylinux_2_28_x86_64.whl (71.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

cyborgdb_core_cu12-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl (71.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

cyborgdb_core_cu12-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl (71.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

cyborgdb_core_cu12-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl (71.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

File details

Details for the file cyborgdb_core_cu12-0.17.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core_cu12-0.17.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9dfcbc7662ec66307333b522e2b4125991a4861351c326cba479f8c3c84b2e3d
MD5 15eda5ff8f68231a1328e5c6ea80e94a
BLAKE2b-256 f42068cd871de7f94366e172f78aac3d8ab368dc8cab87f44e279b4de51baa36

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core_cu12-0.17.0-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: publish_py_cuda.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_core_cu12-0.17.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core_cu12-0.17.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ac0c2fdfa2ea817dd63cf531880834b20c93b6948029e2383c0a33e0f2b52ed2
MD5 378b3205b1f71c0d58c1d8382b6df6b9
BLAKE2b-256 c11e2ace0be876bb148042ac22ee9e62a4b871a92161dd66212abc3b0d978236

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core_cu12-0.17.0-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish_py_cuda.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_core_cu12-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core_cu12-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc6625601105130f25846f6555ceacfb7d6441d2c3218f917d28f53ee9da2a54
MD5 ef456c3a4f903c3b01371bfb2a54dfd7
BLAKE2b-256 5f1793141f37cad9eeccaffdc1a1a075c399b6fef7be2df800ad78ece11ac682

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core_cu12-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish_py_cuda.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_core_cu12-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core_cu12-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8e51d471fc7acd004f72c2ef6877fb9e6d64432109df61ecd3ef1acac4b41bb
MD5 c832f7647aa8820f43cf9728c9f85125
BLAKE2b-256 50772ef64266fe65809499867bb1eb6e231f60425818707d4988775db984fd6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core_cu12-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish_py_cuda.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_core_cu12-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core_cu12-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c9841a984fa90a1f165eed3db46fe808160307ccfadfd74d750a6407e35c5f9d
MD5 01b063a5d6b3b80cc18e5dcfc3d2bf00
BLAKE2b-256 651b858730c7d7a7f978fd5121dbd9df92c99086748b8ce09737f93e1b24ba1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core_cu12-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish_py_cuda.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