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.4.tar.gz (94.2 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.4-py3-none-any.whl (111.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vaultdb_core-3.18.4.tar.gz
  • Upload date:
  • Size: 94.2 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.4.tar.gz
Algorithm Hash digest
SHA256 7db438d56b3f369bb6ea1ec48d0b583a6f9b73f1ce72a8d129b54a0225a7cb4f
MD5 01748da7f302afc5685374ca49b3a61a
BLAKE2b-256 8c464ac093f3586245999a79376932e2158bb6a312ce116b57010ac2f451d14b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: vaultdb_core-3.18.4-py3-none-any.whl
  • Upload date:
  • Size: 111.6 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 25d099f69bc70c10062dd4b16672451cd3cc6057526a29d199dfea4f46a0bfb0
MD5 1f1c12be9e63e9d568126091b388f230
BLAKE2b-256 31a6fbc50b12d79bcf0f3935e33dff06d365f0741a49063df6a0997442625568

See more details on using hashes here.

Provenance

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