Skip to main content

High-performance Delta Lake query engine for Python

Project description

deltaFusion

High-performance Delta Lake query engine for Python, powered by Rust.

License: MIT

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

delta_fusion-1.1.2.tar.gz (91.0 kB view details)

Uploaded Source

Built Distributions

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

delta_fusion-1.1.2-cp312-cp312-manylinux_2_39_x86_64.whl (35.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

delta_fusion-1.1.2-cp312-cp312-macosx_11_0_arm64.whl (29.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

delta_fusion-1.1.2-cp311-cp311-manylinux_2_39_x86_64.whl (35.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

delta_fusion-1.1.2-cp311-cp311-macosx_11_0_arm64.whl (29.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file delta_fusion-1.1.2.tar.gz.

File metadata

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

File hashes

Hashes for delta_fusion-1.1.2.tar.gz
Algorithm Hash digest
SHA256 eb2a5438606af7939fbe25c02be6e4c546d66263248b12a138d2b80bcbefcdc7
MD5 c10ccafb917efb934d67ae4c45cd2b4b
BLAKE2b-256 e0fe44e08ed7b868d43c0e29890d75d5e1ea358cda3878085fee56dbb0ad3794

See more details on using hashes here.

Provenance

The following attestation bundles were made for delta_fusion-1.1.2.tar.gz:

Publisher: publish.yml on ingkle-oss/deltaFusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file delta_fusion-1.1.2-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.2-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 233c8db1259fc82371ca27a34fb508733e46492b4086ffc7f14a0e4ac9dbe54f
MD5 5356e639e6c00a69392f8d21f9aa1c48
BLAKE2b-256 ec2d5cf3a60b12cb981dd46d1c884da7fd5ed1c4ae647b98acaa4da50cd73aff

See more details on using hashes here.

Provenance

The following attestation bundles were made for delta_fusion-1.1.2-cp312-cp312-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on ingkle-oss/deltaFusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file delta_fusion-1.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c020222866d6d2dc9a2535a4dcfe75ef06d1305ece0f411c4e464a81363e8b01
MD5 bc1ae5a0eac922819ab2a9a7ba58a7f2
BLAKE2b-256 98be5cc9d59a2dedc693d5f00e5c0b89651a4f464439122defd06dcd8b2dcd9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for delta_fusion-1.1.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on ingkle-oss/deltaFusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file delta_fusion-1.1.2-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.2-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 29f3c85546c999bed35812459bd35aff4491c63621f9171b14f4a8c2ae29522b
MD5 b0226bb92095b44c6cf537e5971c5a0c
BLAKE2b-256 a91fad0bb0c21ea6f76cf934461dba593171fc5d0983e48b0c415e34eef2bcd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for delta_fusion-1.1.2-cp311-cp311-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on ingkle-oss/deltaFusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file delta_fusion-1.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de1af4196cdb5a286001ba8548a91c4d3e2206dc77e0cbbc69c5371c7e0572b3
MD5 53521ad628803a7e9b20bab13067a0ef
BLAKE2b-256 ca022de722e4395a120a21e17afe64194cab49ad82050a85c859e26ad0889adb

See more details on using hashes here.

Provenance

The following attestation bundles were made for delta_fusion-1.1.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on ingkle-oss/deltaFusion

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