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.3.tar.gz (91.3 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.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (29.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

delta_fusion-1.1.3-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.3-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.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

Hashes for delta_fusion-1.1.3.tar.gz
Algorithm Hash digest
SHA256 85f2d14b1843002c337f43a21317fb4094cbf0e7933e6d6bdc4f83f4f6140f07
MD5 44349813cb3e03b0ca68b2dd32c96d32
BLAKE2b-256 42c4a619ad11e4efb8f31f0ec9fb345745ac5739f7cf61a64ded7da45f5e684a

See more details on using hashes here.

Provenance

The following attestation bundles were made for delta_fusion-1.1.3.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.3-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.3-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 da9061af8e5555f100f1a51ecb14ec7989b28835d8b892d42be8125bc13e4ac3
MD5 8d6883ab209d55d3a41d1c153f8bfdb9
BLAKE2b-256 1f77f7d71bbcc5f1f61ca974dd30778c8e3d85c5ef245093feabf47c3912101a

See more details on using hashes here.

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

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.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f3c39011f6ed4cab23045c4314f4971920419583b04bc87f8370b428782327b
MD5 04ab4d628cb17a522fb0ec8945aba5d6
BLAKE2b-256 44c29fb89fac09349add3dd08dcf797a673a2f56f4bb4b164dd09d7bbc23ec81

See more details on using hashes here.

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

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.3-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.3-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 debe3e153ff5af87f0a5eba352d71c88c56ee90d24b853849fed9cf026367fa7
MD5 ba927321aa931ec389c5355f80e6bfe5
BLAKE2b-256 4fb00dfa032bcfcc524a2a8bf0cc252f8b61acf6fb23b955dc516af6822a0ddc

See more details on using hashes here.

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

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.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for delta_fusion-1.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2cca4f79af289012fc6629024ab45f7b9a646f4a7988891a1e203dab14a88fe
MD5 023e2b845a1ca8a39e79194f04b439fb
BLAKE2b-256 37f260e8ebcf4e4ba5b3e4373fca88c65ac86ab9c3557a02db78c43422dbb29c

See more details on using hashes here.

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

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