Skip to main content

CyborgDB Service

Project description

CyborgDB Service

PyPI - Version PyPI - Python Version

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

  1. Install cyborgdb-service from pip

    pip install cyborgdb-service
    
  2. 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

  3. 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

  1. Clone the repository

    git clone https://github.com/yourusername/cyborgdb-service.git
    cd cyborgdb-service
    
  2. Create and activate the conda environment

    conda env create -f environment.yml
    conda activate cyborgdb-service
    
  3. Attach a git tag based on the version of core you want installed

    git tag v0.11.0-dev
    
  4. Install cyborgdb-service as a local pip package

    pip install -e .
    
  5. Run the server

    cyborgdb-service
    
  6. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cyborgdb_service-0.11.0.tar.gz (71.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cyborgdb_service-0.11.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

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

Hashes for cyborgdb_service-0.11.0.tar.gz
Algorithm Hash digest
SHA256 d9229f4a575bda4b15be54c1c16fc84b217efc92970a8832c685c91b9095f250
MD5 d50d4d4e9fe680caccb79897a151f91a
BLAKE2b-256 96b8ca816a5230d6e84b25e1b8b5c9063bf6be598644d88033af4900e95d3305

See more details on using hashes here.

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

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_service-0.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cyborgdb_service-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a548da6737f34d7e436fbd7bd906ac40bf1ce8eb59b786a539b2f7398f4a4df
MD5 247416f42f25b13041ec685cb085ab4f
BLAKE2b-256 4fb5b615127f5df1ef84b78aa12d540a5958cc93a06168671eee276288605348

See more details on using hashes here.

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

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