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 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 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, S3, 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

Getting an API Key

To start using cyborgdb-core, you will need to get an API key from db.cyborg.co. You can sign up for a free account, create an API key and use it immediately.

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

# Set your CyborgDB API key
api_key = 'cyborgdb_000000' # Replace with your actual API key

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

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

# 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

PostgreSQL

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

Redis

index_location = cyborgdb.DBConfig(
    location="redis",
    connection_string="redis://localhost"
)

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.16.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.16.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (27.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.16.1-cp314-cp314-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

cyborgdb_core-0.16.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.16.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (27.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.16.1-cp313-cp313-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

cyborgdb_core-0.16.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.16.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (27.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.16.1-cp312-cp312-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

cyborgdb_core-0.16.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.16.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (27.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.16.1-cp311-cp311-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

cyborgdb_core-0.16.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cyborgdb_core-0.16.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (27.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

cyborgdb_core-0.16.1-cp310-cp310-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file cyborgdb_core-0.16.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 38c01d09f2b2d904a3ac80d2efbf90b3039b13eb893b41ae253b946d88dd4292
MD5 fd2bdfee6bd85b0fbf637c7d47487ec7
BLAKE2b-256 880adbf60725168cc9b47d825f110b7daaa30994fdb4f7fbfea78eabc4bede18

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp314-cp314-manylinux_2_27_x86_64.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.16.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2eb429380e4f12c2942c82396821108d1ffebb8f2297f70d718332e50dee33b2
MD5 1a88d3427ae3f542f5139934e88d909b
BLAKE2b-256 34c5d2b405bb4d7e4579257debc63771be2257c4c2ebd7ced55e140e0eb4776f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp314-cp314-manylinux_2_27_aarch64.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.16.1-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4fbb8578608a72fe16ac10ecfcef95611bc16cf9be6a4584cc19049fd47e4186
MD5 4e6d0ac23c7f50dedc86f543ea47425b
BLAKE2b-256 f09f5d960882ab1b553338a373fe9c3e915ad23d66486a3e7d958d43c90e995f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-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.16.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d798dac2d39b82a1b7ed4f3bb5a7de99c9ce59ca0f87302f1c998b19692b1664
MD5 38812b57a736dedd87ec3d51b1884d21
BLAKE2b-256 f07e8940b948b8af12dfece364cbbbbdc5f7374c4d3f74038f0d424c3526c930

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp313-cp313-manylinux_2_27_x86_64.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.16.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 54e52bbbedc3c8d55c3292e3750e4e69144781976e00583869dfcb558b65553a
MD5 6a1cf39504729808f40f365293c16e0b
BLAKE2b-256 bc6f284f9840103fb577a95305812c5c9ebacaf5aa17c39b397214ac555d85e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp313-cp313-manylinux_2_27_aarch64.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.16.1-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 42a6f4712627107d210213ec27304dde7853ec0ee97c8d375692485aae9cd4bd
MD5 af042f2fc98edec1fe8fbfde58073209
BLAKE2b-256 02f400888dee962a2fd524ef7a44cce7e79f4006954e161ed0621dbcc097d6ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-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.16.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd8f1bcc15ace47137c8e1f49b85011119e1364571cd82804a294c0a9829da26
MD5 fe69e4ccbd58d936624fe3356ab3cda2
BLAKE2b-256 8cc1a43afe95e7bcda19a31680cb22e2899bb2864126d8df00b3232f750bdeb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp312-cp312-manylinux_2_27_x86_64.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.16.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bf5d13803cbbe14ea9f803ced7431c7961c9ebec91cb22673bb45d9a557b585a
MD5 1350d7b067f0fd0a1d0eaaf1ea073f43
BLAKE2b-256 9e483608ad37622f02993da6af8c9de4fb091dd9a282843f482d16e489d3c6df

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp312-cp312-manylinux_2_27_aarch64.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.16.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2f0549b75ed6018b8bb3a29724838e2a4e01e1e680b6eca00826f43e04075d7b
MD5 5944dc9ea09e9b7dfed8109602b27330
BLAKE2b-256 856730ed66e596ebe8878c885b1aa1cf16b40790acc757c2c62373334597c3db

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-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.16.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b04c960b68776127a71223adde41dd9fae411d88a190a42a9baf6b1aeb40dad3
MD5 e8e75ee3fc3e0e436d8afc3a9adbb5ab
BLAKE2b-256 abe0906d9b47f90b240f709ea241dcd398edfab805734e16423da1c346b6b813

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp311-cp311-manylinux_2_27_x86_64.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.16.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d6089a8f2ebac2159e7acd73434888538f883e71f2ce636f95d759a152ff0e99
MD5 7f7bf19048759618ff349e73e5e5f454
BLAKE2b-256 9f4a96a1829f06ba360cc4d35eaf0428df7e690b27c6d8da8aca7b17ebca8e9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp311-cp311-manylinux_2_27_aarch64.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.16.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6a393a96f12c5a4d5ff2639a1e5d4ab42f2d7cafdec66e4050fac8632eb117b2
MD5 00a8d0cb250b043c57848af9fea5264d
BLAKE2b-256 191723a634f7c54f57d39de1148215b17f494e2cfdaf0ec5957e1a189aa5e02d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-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.16.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ce92db781360b81100f5747f079d5eae8bb18c64faab5cdbca8a335c67c821f
MD5 05587d3dcfc602223e72c7e96e92e99e
BLAKE2b-256 4371ac8baf2eb4bdf80da47f6dfc05b00230646da1a27a974f18681139e45ea1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp310-cp310-manylinux_2_27_x86_64.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.16.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 62efb89d4a6eb18e460e8a76edfbc6991c4caa810b3536cab85f82aa72bbf21a
MD5 a502e0819d718d534b784835ffde63d1
BLAKE2b-256 e0a439bca7c7483523da059cf75bc078fc93a1414c1031745e3e0801976557c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-cp310-cp310-manylinux_2_27_aarch64.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.16.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5c53ffdacac4e43df86cde4b97121eedca10b27fd6bd834a15d9b6fa19056da7
MD5 b681f955d68365d1cd9e05d325e23a33
BLAKE2b-256 23cce6f70a657eeda1be17232953ce08f97c7735ecbaaa582c0dcbf3ab0a7979

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyborgdb_core-0.16.1-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