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.2-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.2-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.2-cp314-cp314-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

cyborgdb_core-0.16.2-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.2-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.2-cp313-cp313-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

cyborgdb_core-0.16.2-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.2-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.2-cp312-cp312-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

cyborgdb_core-0.16.2-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.2-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.2-cp311-cp311-macosx_14_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

cyborgdb_core-0.16.2-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.2-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.2-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.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 01b07c835717d886edbeb9465c758727e194897e6524744d1a47c75d52a35d36
MD5 5c994257a6a567e6c97270ae1bf40143
BLAKE2b-256 c502eb04f24005c50460df71d3d7ac8d91736ad6d69afa6ccd6dc03db87ccfdc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9637ed54a4893e3e40cb32a2e966268473dafa1fedd1bc5e3a735ad08401f21b
MD5 72b6a568e36b02c68517a587f0ee43b0
BLAKE2b-256 260dffdbbbd56d237cccff5fb16849666a43f36f6fb762692d8eb879248652db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 02a38793e283bbdfac7cbb8822096e73f694238c841546d4fc8e0d61beafcc23
MD5 58f1245c1097ad31a2b13ce47c080606
BLAKE2b-256 75a74f0cc38dad6e4a4b04ccad41be055efbc751fca4dcbbe6dc65726277eb04

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4f85791beb25e261d6e4b6665a21e10a1ea030b3fc47985e43e2c5d289780ab
MD5 1fcf6782dea3035357213e65d865e7b4
BLAKE2b-256 20eccd0d3d3e2d7246eb06835ab8ffa47e1ce59c650b4cbd2ff521404db7fe8f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a0677ad489cb62e8e92292c776fef258da8c1bc9b09af04e2d9bc63d371d980f
MD5 b1cbf17c5c423f32d2e285dee7208230
BLAKE2b-256 2ff01b6bf9989c35e10515a98745d42038550199932c72cefdedb2057d983b39

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 caaed6b21758341c2d2671ad575fc9be6bebb6a425e5cc9c17de15db953c565b
MD5 d4bedbe58d811054c493e043e02e05e9
BLAKE2b-256 0b5999bb282444e36fcaa9ec88221dbba62aec5861cfa6d391d74ee572c59067

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 707c4032e7c89eea13e8071c4bebad5b2f4320d558d816b555f0bfe7ef8d4d2d
MD5 5e5c71c678a0625c34fb0a208a4a4d52
BLAKE2b-256 5188da6ebfc8e8557ffb0ed4ff1b66a9ed0efc965232416fa3128122ba9d1d4c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 aa331c31cb8451212e10c22000b7e40a5854fc758b4cf2db3f8e4c9aff9ee69f
MD5 5277840b4a5514eeebc0b2213da0d74f
BLAKE2b-256 c0750ae8cd7fcf41536574b3caa8880e8013182b179423bb6ba84d410922947c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d0a8556c20a40a162e0f57b8d83f5537208998e58b37e3d16ecb734279e958ea
MD5 71b93d166e83326ebcc8526019efb45f
BLAKE2b-256 1e13fd72cbac2608ff1cf74de880ee8df12b37120947ae824f6814d9152f6a34

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f21b3c5a20e3eb8ce6732257d859498bc324a61fb48cb78bb4ee0a1e5c6d4769
MD5 2dca74f95ada652edf87edfd43a92b8e
BLAKE2b-256 a4a7d3500c07a260dc332273c425376a6a8b3c3c0899ef5529a2a1a205482ec2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 912ba315f1c97cb7b95a3e37782d58eb548581997b0da96e06b6975a6b437d38
MD5 f1c5372aa032831a7cbc3059f0436962
BLAKE2b-256 d020326cacc0b4476730e41d9a05ae389f075921bcccbc46bcbf762b5d9165f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 97fef6c1a3ef23b7d125cc66908d8fceb1b2b5543a011f8c943ae6c1ba6cbd31
MD5 8a1b815d13663f1d6de3d091a461646c
BLAKE2b-256 6f8ea6cfdda4928190ef7d901392920e79551929783b32b91e3c04700ba22611

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 251a0057b386e89c6ac998501bb085e5fcd581bf69a39afe5f4be895657c200b
MD5 bd7799a773ab5a425d07742dfa892a5a
BLAKE2b-256 210f0645dbb8408698da2010565f80c8a5c991ef55adb5c9eff854a5f9122e76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2d3573b7dd33d82f5ce557bab5204bda22c9d8b760176f4da8796fa24e1c4a25
MD5 d0429cfa8a295a0669037e29d8a423cb
BLAKE2b-256 1272af03216b3c0daa8470a169a9de56d0ff9b2ac056d6bc180276ce9b2c3b55

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cyborgdb_core-0.16.2-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f11c1812b8a496488fd7fa0c1694866d23e778689376c562175707ff55757451
MD5 e0dca629cdf30c16d950d2d9cd679c6e
BLAKE2b-256 8593aca0a4f8cb82b3395bbaddc4f088e54c234df981b703557c09f403652c2a

See more details on using hashes here.

Provenance

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