Skip to main content

Core Python Library for CyborgDB: The Confidential Vector Database

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-0.17.0-cp314-cp314-manylinux_2_28_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.17.0-cp314-cp314-manylinux_2_28_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.17.0-cp314-cp314-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

cyborgdb_core-0.17.0-cp313-cp313-manylinux_2_28_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.17.0-cp313-cp313-manylinux_2_28_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.17.0-cp313-cp313-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

cyborgdb_core-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.17.0-cp312-cp312-manylinux_2_28_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.17.0-cp312-cp312-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

cyborgdb_core-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.17.0-cp311-cp311-manylinux_2_28_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.17.0-cp311-cp311-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

cyborgdb_core-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.17.0-cp310-cp310-manylinux_2_28_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.17.0-cp310-cp310-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f9881fa8f23535840137cde00f53063c09db04826d6e46c29b711800cf1ae86e
MD5 cfde1dc22c9f0ad214a6d4bfe293e6f8
BLAKE2b-256 e2328eee45c9127dee4548c95069c3504e9f0c48121c93df62954a7732715ebc

See more details on using hashes here.

Provenance

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

Publisher: publish_py.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-0.17.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 28078c1e1dd3bb2d0a7b8db427cb9dc0b996b31fbe0813b470713d520fad12fa
MD5 bc62eb5d2d73c6552bedd01c2a972e51
BLAKE2b-256 1e8674e95bcfcb16e2239c26f03a3f5f3abccdca37dd848b2c0ce9d979e25fbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: publish_py.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-0.17.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 49bb882bfcfe1adce40b6e5399b7239bd5102b48c3c6f6c8db40226b9c833c69
MD5 0a831b2c12ffdea1c070f5bb391ce2d8
BLAKE2b-256 d85253b8b04e89443696bcd0facee16c4a6f7e2902a9d2476b7370424cecb034

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp314-cp314-macosx_14_0_arm64.whl:

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

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17a36c80171f49a4553f782234a5423727c6d8608ac51f12d1915887db1614c6
MD5 88c4a756492d3f97e5c4bac0755df7f8
BLAKE2b-256 06083298e111e166aa75676fd8ffa1a4062e1baf5461c80d2854b1d1cc83c684

See more details on using hashes here.

Provenance

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

Publisher: publish_py.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-0.17.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f1efef49a057ca64d964b889759cb001ebfd519498b7ea243674c03b27d2c108
MD5 5486b45a10d7854b1b2347baf6ab99b0
BLAKE2b-256 26b69bf086b7bd53b6a38d8066e65d50ab3363cca71d7403fd0c1c7e322bea88

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: publish_py.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-0.17.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e0b2ac659eecf43ebef13f74567d4b9ca5e7335b021a37a4f03736611fe230cd
MD5 81046b337302ff29d9446391e96a2bc0
BLAKE2b-256 2a5755b73675a394aeb11a85ac4a81c9bcaca86cfd024f190725f31800ceefdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp313-cp313-macosx_14_0_arm64.whl:

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

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 820c07cc856495ed27888ec84578b5129fff7165d88665df94edae0420eeefbc
MD5 e6b9d9871990a8659aabd2a0e4ab5d2d
BLAKE2b-256 ed3ed3f9b6182c5903980b42726a89216e87a4a979ffd3546313a5f9292e1c28

See more details on using hashes here.

Provenance

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

Publisher: publish_py.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-0.17.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4ad982feacf5293ffe38ce7883c35c0aea8b8cce621d6bd1aaf63ff295d0d488
MD5 a3b485a61d364421c51aafca070b2a0c
BLAKE2b-256 0c2474774314d135b9a0f4f778fb0f8e613873c90170c32e775ae9a59d7335c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: publish_py.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-0.17.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d9bf7e6af32939baddad59504b785856d656233862a51c4ddb57c19829f0c8c9
MD5 c085e9eb9c44c98dd299dc7c7bdc7326
BLAKE2b-256 90832563b224e23115beea61dfa4e1391b77bacf73bf3aea3f6b3ee4b14b598b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp312-cp312-macosx_14_0_arm64.whl:

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

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0aa0df96359f908a888f0e5de683322205f74893411d29eb93051d822d492f2a
MD5 de3cd6f9f114e00ba61f2989a33248bf
BLAKE2b-256 1cd6b73dd8166a89db3ce06d081b2f1c3b7e46d48d8acfc7518c1855c37bb594

See more details on using hashes here.

Provenance

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

Publisher: publish_py.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-0.17.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 20710479ec0ae5a64574a07cdbd142f0797a8c346632df9c43fc441441fc7e02
MD5 aaaa6a3b763baf310d96e9f7bd01bd41
BLAKE2b-256 326e4a2717c5c0495192c44a8de785e86e822ad712dbb31b09d21fa084cbe16e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: publish_py.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-0.17.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 467c6117a525fea60a5bffea7b5674987918313f0f0ca085754e8b0ecaac33ee
MD5 00f96a24a8a83682ff3653cc629f2ea5
BLAKE2b-256 f8612781ffea66f8c7d95ba899148fbe5c287501fee15a5b96ce7903dfc0b0e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp311-cp311-macosx_14_0_arm64.whl:

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

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 35f38c0dedd295863bec9500e336d951eeb7c07dbeae9ef2d79873b06f9e6b49
MD5 cb3f7ffd21f9cd4d0bd06b5425f7273e
BLAKE2b-256 98c5fd95bca71f92a85ca6ed6fe5fef8a46ea96392f617cf0377b81cfca3a1e5

See more details on using hashes here.

Provenance

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

Publisher: publish_py.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-0.17.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 862f079b5bfd1575d63b20fba33a223fad1fa2bf75f96c65f5c85770ecd09cc9
MD5 9a6fc7af7c3d1fd742e60eb31eea9044
BLAKE2b-256 6249e87ba951c860e50c76efcc4db22c1c9ab8115e13abc385fd261c61c16ec1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: publish_py.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-0.17.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.17.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7302e2e009723587b67d4b68c3dab853994ff2d09542cc48847403e75382a353
MD5 c9e58853e57a24de290c6f12d9249c17
BLAKE2b-256 b4ff873b296af820c46eef4b6cca34b694600c4a8383f2ce35cb884dc57f520b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.17.0-cp310-cp310-macosx_14_0_arm64.whl:

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