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.5.tar.gz (94.1 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.5-py3-none-any.whl (111.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vaultdb_core-3.18.5.tar.gz
  • Upload date:
  • Size: 94.1 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.5.tar.gz
Algorithm Hash digest
SHA256 e29e1410b395f05187aabb21abe67140be63cb7914df18907a52ac85dd7be171
MD5 2bcd748746879a7f15594d11a11acbb2
BLAKE2b-256 e8cf1f4893296804de66b36c995ff0880efe37d9e233031167ffa6ef382cfe13

See more details on using hashes here.

Provenance

The following attestation bundles were made for vaultdb_core-3.18.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: vaultdb_core-3.18.5-py3-none-any.whl
  • Upload date:
  • Size: 111.7 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3559d0106929256f130d70155cd0e5583b309a43552b7db2062007ae7b96303e
MD5 6aafc3cd187e5a4dece9ae70132b0c62
BLAKE2b-256 3b964379a12637f6fea8029f655460723f5da7391fa9f3be03a92d78127fefea

See more details on using hashes here.

Provenance

The following attestation bundles were made for vaultdb_core-3.18.5-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