High-performance Delta Lake query engine for Python
Project description
deltaFusion
High-performance Delta Lake query engine for Python, powered by Rust.
Overview
deltaFusion provides SQL query capabilities over Delta Lake tables using DataFusion as the query engine. Data is transferred via zero-copy Apache Arrow for maximum performance.
Key Features
- SQL Queries: Full SQL support via DataFusion
- Zero-Copy Transfer: Arrow-based data exchange with Python (no serialization overhead)
- Time Travel: Query specific table versions
- Storage Support: Local filesystem and S3-compatible storage
- GIL Release: Python threads remain active during Rust operations
Installation
# From source (requires Rust toolchain and maturin)
pip install maturin
maturin develop --release
Quick Start
from delta_fusion import DeltaEngine
# Create engine
engine = DeltaEngine()
# Register a Delta table
engine.register_table("sales", "/path/to/delta/table")
# Query with SQL (returns PyArrow RecordBatches)
batches = engine.query("SELECT * FROM sales WHERE year = 2024")
# Convert to pandas
import pyarrow as pa
table = pa.Table.from_batches(batches)
df = table.to_pandas()
# Or get results as list of dicts (for small datasets)
rows = engine.query_to_dicts("SELECT * FROM sales LIMIT 10")
S3 Storage
# Option 1: Environment variables
# AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION
# Option 2: Explicit configuration
engine = DeltaEngine({
"aws_access_key_id": "...",
"aws_secret_access_key": "...",
"aws_region": "us-east-1",
"aws_endpoint": "http://localhost:9000", # For MinIO
"aws_allow_http": True
})
engine.register_table("data", "s3://bucket/delta-table")
Time Travel
# Query a specific version
engine.register_table("sales", "/path/to/table", version=5)
# Get table metadata
info = engine.table_info("/path/to/table")
print(f"Version: {info['version']}, Files: {info['num_files']}")
Development
# Build for development
maturin develop
# Run Rust tests
cargo test --no-default-features
# Run Python tests
pytest
# Check and format
cargo check
cargo clippy
cargo fmt
Architecture
src/
├── lib.rs # Module entry point
├── config.rs # Storage configuration
├── error.rs # Error types
├── engine.rs # DeltaEngine (DataFusion integration)
└── python.rs # PyO3 bindings
python/delta_fusion/
├── __init__.py # Python API
└── __init__.pyi # Type stubs
License
This project is licensed under the MIT License - see the LICENSE file for details.
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
Built Distributions
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 delta_fusion-1.1.3.tar.gz.
File metadata
- Download URL: delta_fusion-1.1.3.tar.gz
- Upload date:
- Size: 91.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85f2d14b1843002c337f43a21317fb4094cbf0e7933e6d6bdc4f83f4f6140f07
|
|
| MD5 |
44349813cb3e03b0ca68b2dd32c96d32
|
|
| BLAKE2b-256 |
42c4a619ad11e4efb8f31f0ec9fb345745ac5739f7cf61a64ded7da45f5e684a
|
Provenance
The following attestation bundles were made for delta_fusion-1.1.3.tar.gz:
Publisher:
publish.yml on ingkle-oss/deltaFusion
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
delta_fusion-1.1.3.tar.gz -
Subject digest:
85f2d14b1843002c337f43a21317fb4094cbf0e7933e6d6bdc4f83f4f6140f07 - Sigstore transparency entry: 1187144483
- Sigstore integration time:
-
Permalink:
ingkle-oss/deltaFusion@0938d617200ed1a1a5ee3f07274cd4666164313e -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/ingkle-oss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0938d617200ed1a1a5ee3f07274cd4666164313e -
Trigger Event:
push
-
Statement type:
File details
Details for the file delta_fusion-1.1.3-cp312-cp312-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: delta_fusion-1.1.3-cp312-cp312-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 35.1 MB
- Tags: CPython 3.12, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da9061af8e5555f100f1a51ecb14ec7989b28835d8b892d42be8125bc13e4ac3
|
|
| MD5 |
8d6883ab209d55d3a41d1c153f8bfdb9
|
|
| BLAKE2b-256 |
1f77f7d71bbcc5f1f61ca974dd30778c8e3d85c5ef245093feabf47c3912101a
|
Provenance
The following attestation bundles were made for delta_fusion-1.1.3-cp312-cp312-manylinux_2_39_x86_64.whl:
Publisher:
publish.yml on ingkle-oss/deltaFusion
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
delta_fusion-1.1.3-cp312-cp312-manylinux_2_39_x86_64.whl -
Subject digest:
da9061af8e5555f100f1a51ecb14ec7989b28835d8b892d42be8125bc13e4ac3 - Sigstore transparency entry: 1187144575
- Sigstore integration time:
-
Permalink:
ingkle-oss/deltaFusion@0938d617200ed1a1a5ee3f07274cd4666164313e -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/ingkle-oss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0938d617200ed1a1a5ee3f07274cd4666164313e -
Trigger Event:
push
-
Statement type:
File details
Details for the file delta_fusion-1.1.3-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: delta_fusion-1.1.3-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 29.1 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f3c39011f6ed4cab23045c4314f4971920419583b04bc87f8370b428782327b
|
|
| MD5 |
04ab4d628cb17a522fb0ec8945aba5d6
|
|
| BLAKE2b-256 |
44c29fb89fac09349add3dd08dcf797a673a2f56f4bb4b164dd09d7bbc23ec81
|
Provenance
The following attestation bundles were made for delta_fusion-1.1.3-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish.yml on ingkle-oss/deltaFusion
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
delta_fusion-1.1.3-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
8f3c39011f6ed4cab23045c4314f4971920419583b04bc87f8370b428782327b - Sigstore transparency entry: 1187144505
- Sigstore integration time:
-
Permalink:
ingkle-oss/deltaFusion@0938d617200ed1a1a5ee3f07274cd4666164313e -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/ingkle-oss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0938d617200ed1a1a5ee3f07274cd4666164313e -
Trigger Event:
push
-
Statement type:
File details
Details for the file delta_fusion-1.1.3-cp311-cp311-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: delta_fusion-1.1.3-cp311-cp311-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 35.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
debe3e153ff5af87f0a5eba352d71c88c56ee90d24b853849fed9cf026367fa7
|
|
| MD5 |
ba927321aa931ec389c5355f80e6bfe5
|
|
| BLAKE2b-256 |
4fb00dfa032bcfcc524a2a8bf0cc252f8b61acf6fb23b955dc516af6822a0ddc
|
Provenance
The following attestation bundles were made for delta_fusion-1.1.3-cp311-cp311-manylinux_2_39_x86_64.whl:
Publisher:
publish.yml on ingkle-oss/deltaFusion
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
delta_fusion-1.1.3-cp311-cp311-manylinux_2_39_x86_64.whl -
Subject digest:
debe3e153ff5af87f0a5eba352d71c88c56ee90d24b853849fed9cf026367fa7 - Sigstore transparency entry: 1187144551
- Sigstore integration time:
-
Permalink:
ingkle-oss/deltaFusion@0938d617200ed1a1a5ee3f07274cd4666164313e -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/ingkle-oss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0938d617200ed1a1a5ee3f07274cd4666164313e -
Trigger Event:
push
-
Statement type:
File details
Details for the file delta_fusion-1.1.3-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: delta_fusion-1.1.3-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 29.1 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2cca4f79af289012fc6629024ab45f7b9a646f4a7988891a1e203dab14a88fe
|
|
| MD5 |
023e2b845a1ca8a39e79194f04b439fb
|
|
| BLAKE2b-256 |
37f260e8ebcf4e4ba5b3e4373fca88c65ac86ab9c3557a02db78c43422dbb29c
|
Provenance
The following attestation bundles were made for delta_fusion-1.1.3-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
publish.yml on ingkle-oss/deltaFusion
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
delta_fusion-1.1.3-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
f2cca4f79af289012fc6629024ab45f7b9a646f4a7988891a1e203dab14a88fe - Sigstore transparency entry: 1187144522
- Sigstore integration time:
-
Permalink:
ingkle-oss/deltaFusion@0938d617200ed1a1a5ee3f07274cd4666164313e -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/ingkle-oss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0938d617200ed1a1a5ee3f07274cd4666164313e -
Trigger Event:
push
-
Statement type: