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:
- Basic Authentication: Simple authentication for local development
- AWS Cognito: Full AWS Cognito integration
- 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.txtfor 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7db438d56b3f369bb6ea1ec48d0b583a6f9b73f1ce72a8d129b54a0225a7cb4f
|
|
| MD5 |
01748da7f302afc5685374ca49b3a61a
|
|
| BLAKE2b-256 |
8c464ac093f3586245999a79376932e2158bb6a312ce116b57010ac2f451d14b
|
Provenance
The following attestation bundles were made for vaultdb_core-3.18.4.tar.gz:
Publisher:
python-package.yml on vaultdbai/core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vaultdb_core-3.18.4.tar.gz -
Subject digest:
7db438d56b3f369bb6ea1ec48d0b583a6f9b73f1ce72a8d129b54a0225a7cb4f - Sigstore transparency entry: 788498800
- Sigstore integration time:
-
Permalink:
vaultdbai/core@d83f40f061d25c2e6f3a4bfe1a998d451a287ead -
Branch / Tag:
refs/heads/main - Owner: https://github.com/vaultdbai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@d83f40f061d25c2e6f3a4bfe1a998d451a287ead -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25d099f69bc70c10062dd4b16672451cd3cc6057526a29d199dfea4f46a0bfb0
|
|
| MD5 |
1f1c12be9e63e9d568126091b388f230
|
|
| BLAKE2b-256 |
31a6fbc50b12d79bcf0f3935e33dff06d365f0741a49063df6a0997442625568
|
Provenance
The following attestation bundles were made for vaultdb_core-3.18.4-py3-none-any.whl:
Publisher:
python-package.yml on vaultdbai/core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vaultdb_core-3.18.4-py3-none-any.whl -
Subject digest:
25d099f69bc70c10062dd4b16672451cd3cc6057526a29d199dfea4f46a0bfb0 - Sigstore transparency entry: 788498807
- Sigstore integration time:
-
Permalink:
vaultdbai/core@d83f40f061d25c2e6f3a4bfe1a998d451a287ead -
Branch / Tag:
refs/heads/main - Owner: https://github.com/vaultdbai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@d83f40f061d25c2e6f3a4bfe1a998d451a287ead -
Trigger Event:
push
-
Statement type: