CyborgDB Service
Project description
CyborgDB Service
A FastAPI-based REST API wrapper for CyborgDB, providing Confidential Vector DB capabilities over HTTP. 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.
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
Getting Started
Prerequisites
- Python 3.11+
- Conda/Mamba environment manager
Installation
-
Install
cyborgdb-servicefrompippip install cyborgdb-service
-
Set environment variables
export CYBORGDB_API_KEY=your_api_key_here export CYBORGDB_DB_TYPE='redis|postgres' export CYBORGDB_CONNECTION_STRING=your_connection_string_here
For connection string examples run
cyborgdb-service --help -
Run the server
cyborgdb-service
API Key Configuration
You need to provide your API key using any of these methods:
Method 1: Environment Variable (Easiest)
export CYBORGDB_API_KEY=your_api_key_here
docker-compose up
Method 2: .env File (Most Convenient)
Create a .env file in the project root:
CYBORGDB_API_KEY=your_api_key_here
Then run:
docker-compose up
Method 3: Inline with Docker Compose
CYBORGDB_API_KEY=your_api_key_here docker-compose up
Build from Source
-
Clone the repository
git clone https://github.com/yourusername/cyborgdb-service.git cd cyborgdb-service
-
Create and activate the conda environment
conda env create -f environment.yml conda activate cyborgdb-service
-
Attach a git tag based on the version of core you want installed
git tag v0.11.0-dev
-
Install
cyborgdb-serviceas a local pip packagepip install -e .
-
Run the server
cyborgdb-service
-
Visit the API documentation at
http://localhost:8000/v1/docs
Running Tests
pytest --cov=cyborgdb_service
Documentation
For more information on API endpoints and usage, see the API Documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cyborgdb_service-0.11.0.tar.gz.
File metadata
- Download URL: cyborgdb_service-0.11.0.tar.gz
- Upload date:
- Size: 71.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9229f4a575bda4b15be54c1c16fc84b217efc92970a8832c685c91b9095f250
|
|
| MD5 |
d50d4d4e9fe680caccb79897a151f91a
|
|
| BLAKE2b-256 |
96b8ca816a5230d6e84b25e1b8b5c9063bf6be598644d88033af4900e95d3305
|
Provenance
The following attestation bundles were made for cyborgdb_service-0.11.0.tar.gz:
Publisher:
build_and_package_wheels.yml on cyborginc/cyborgdb-service
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cyborgdb_service-0.11.0.tar.gz -
Subject digest:
d9229f4a575bda4b15be54c1c16fc84b217efc92970a8832c685c91b9095f250 - Sigstore transparency entry: 257819259
- Sigstore integration time:
-
Permalink:
cyborginc/cyborgdb-service@6e7784776a8036ced622ca9c33b5e45e9ecd33f0 -
Branch / Tag:
refs/tags/v0.11.0 - Owner: https://github.com/cyborginc
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_package_wheels.yml@6e7784776a8036ced622ca9c33b5e45e9ecd33f0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cyborgdb_service-0.11.0-py3-none-any.whl.
File metadata
- Download URL: cyborgdb_service-0.11.0-py3-none-any.whl
- Upload date:
- Size: 27.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a548da6737f34d7e436fbd7bd906ac40bf1ce8eb59b786a539b2f7398f4a4df
|
|
| MD5 |
247416f42f25b13041ec685cb085ab4f
|
|
| BLAKE2b-256 |
4fb5b615127f5df1ef84b78aa12d540a5958cc93a06168671eee276288605348
|
Provenance
The following attestation bundles were made for cyborgdb_service-0.11.0-py3-none-any.whl:
Publisher:
build_and_package_wheels.yml on cyborginc/cyborgdb-service
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cyborgdb_service-0.11.0-py3-none-any.whl -
Subject digest:
4a548da6737f34d7e436fbd7bd906ac40bf1ce8eb59b786a539b2f7398f4a4df - Sigstore transparency entry: 257819269
- Sigstore integration time:
-
Permalink:
cyborginc/cyborgdb-service@6e7784776a8036ced622ca9c33b5e45e9ecd33f0 -
Branch / Tag:
refs/tags/v0.11.0 - Owner: https://github.com/cyborginc
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_package_wheels.yml@6e7784776a8036ced622ca9c33b5e45e9ecd33f0 -
Trigger Event:
push
-
Statement type: