Skip to main content

Vaultdb Core platform.

Project description

VaultDB Core

VaultDB is a compute and application framework platform and database system designed to run jobs, Python-based UI, and compute-intensive workloads.

Features

  • Multi-Database Support: PostgreSQL (production) and SQLite (development/testing)
  • DuckDB Integration: High-performance analytics database with S3 integration (uses 'vaultdb' package with modified DuckDB)
  • Task Execution: Unified interface for Celery, AWS Lambda, and AWS Batch runners
  • Flexible Authentication: Basic, AWS Cognito, and OAuth 2.0 support
  • AWS Integration: Automatic credential management and S3 access

Installation

Core Installation

For basic usage with AWS Lambda and Batch runners:

pip install vaultdb.core

Full Installation (with Celery)

To include Celery and Redis support for local task execution:

pip install "vaultdb.core[service]"

Web API Support

To include dependencies for the Web API:

pip install "vaultdb.core[web]"

Quick Start

Basic Setup

from vaultdb.core import Application, AuthType

# Local development with basic authentication
Application.connect(
    database="my_app.db",
    role="vaultdb",
    auth=AuthType.BASIC
)

OAuth 2.0 Authentication

VaultDB supports OAuth 2.0 authentication with any provider (Google, GitHub, Microsoft, etc.):

from vaultdb.core import Application, AuthType

# Configure OAuth 2.0 (via environment variables or directly)
Application.connect(
    database="my_database",
    role="vaultdb",
    auth=AuthType.OAUTH2,
    oauth2_authorization_code="code-from-oauth-provider"
)

OAuth 2.0 authentication automatically:

  • Manages AWS credentials when provided by OAuth providers
  • Creates AWS profiles for local development
  • Enables S3 access and AWS job submission

AWS Cognito Authentication

from vaultdb.core import Application, AuthType

Application.connect(
    database="my_database",
    role="vaultdb",
    username="user@example.com",
    password="password",
    auth=AuthType.COGNITO
)

Authentication Methods

VaultDB supports three authentication methods:

  1. Basic Authentication: Simple authentication for local development
  2. AWS Cognito: Full AWS Cognito integration
  3. OAuth 2.0: Support for any OAuth 2.0 provider with automatic AWS credential management

Task Execution

Execute tasks across multiple runners with a unified interface:

from vaultdb import TED

# Define a task
@TED.task()
def my_task(x: int, y: int) -> int:
    """Add two numbers."""
    return x + y

# Submit task
result = my_task.apply_async(args=(5, 10))
print(f"Task ID: {result.task_id}")

Configuration

OAuth 2.0 Environment Variables

export oauth2_client_id="your-client-id"
export oauth2_client_secret="your-client-secret"
export oauth2_authorization_url="https://oauth.provider.com/authorize"
export oauth2_token_url="https://oauth.provider.com/token"
export oauth2_redirect_uri="http://localhost:8080/callback"

AWS Cognito Environment Variables

export user_pool_id="us-east-1_XXXXXXXXX"
export user_pool_app_client_id="your-client-id"
export user_identity_pool_id="us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export user_bucket="your-s3-bucket"

Advanced Usage

OAuth 2.0 with Direct Tokens

Application.connect(
    database="my_database",
    role="vaultdb",
    auth=AuthType.OAUTH2,
    oauth2_access_token="your-access-token",
    oauth2_refresh_token="your-refresh-token"
)

OAuth 2.0 with AWS Credentials

Application.connect(
    database="my_database",
    role="vaultdb",
    auth=AuthType.OAUTH2,
    oauth2_aws_access_key_id="AKIAIOSFODNN7EXAMPLE",
    oauth2_aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
    oauth2_aws_session_token="session-token"  # Optional
)

Documentation

For detailed documentation, visit the project repository.

Key documentation:

Requirements

  • Python 3.11+
  • See requirements.txt for full dependency list

License

Proprietary License - Free use for one year. Replication and sale are not permitted.

See the LICENSE file for full terms and conditions.

Support

For issues and questions, please visit the project repository.

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

vaultdb_core-3.18.6.tar.gz (94.6 kB view details)

Uploaded Source

Built Distribution

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

vaultdb_core-3.18.6-py3-none-any.whl (112.3 kB view details)

Uploaded Python 3

File details

Details for the file vaultdb_core-3.18.6.tar.gz.

File metadata

  • Download URL: vaultdb_core-3.18.6.tar.gz
  • Upload date:
  • Size: 94.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vaultdb_core-3.18.6.tar.gz
Algorithm Hash digest
SHA256 d8fd49ca04793450e06f9973628fb0a8e5021813331ae2ea248a2e2901074dfb
MD5 bd9e658e522455084ce1408353f2b947
BLAKE2b-256 550c5f7136d59eec87f1d4e813282c78688d834df5245b892e88dc6664eaa940

See more details on using hashes here.

Provenance

The following attestation bundles were made for vaultdb_core-3.18.6.tar.gz:

Publisher: python-package.yml on vaultdbai/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 vaultdb_core-3.18.6-py3-none-any.whl.

File metadata

  • Download URL: vaultdb_core-3.18.6-py3-none-any.whl
  • Upload date:
  • Size: 112.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vaultdb_core-3.18.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2fc5b96d7247fc9414bf9711202edc3162b2993409da6e5348775cd73129c076
MD5 d59c79c1d0afcd9772057ec37f66d1fb
BLAKE2b-256 8011978dab60b0b4b9b8da2156b17544ef1dd25c76d6a5ef15392672e4f29b25

See more details on using hashes here.

Provenance

The following attestation bundles were made for vaultdb_core-3.18.6-py3-none-any.whl:

Publisher: python-package.yml on vaultdbai/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