Skip to main content

A utility to export DuckLake database metadata to Delta Lake transaction logs.

Project description

🦆 DuckLake Delta Exporter

A Python utility to bridge the gap between DuckLake and Delta Lake by generating Delta-compatible transaction logs directly from DuckLake metadata.

This isn’t your typical general-purpose library. It’s mostly battle-tested with OneLake mounted storage, and while it should work with local filesystems, there’s no support for S3, GCS, or ABFSS .

It doesn’t use the deltalake Python package either. The metadata is handcrafted from scratch — because why not reinvent the wheel for fun and learning?

Goal?
Mostly to annoy DuckDB developers into finally shipping a proper Delta Lake metadata exporter 😎

🔗 Source code on GitHub


✨ Features

  • DuckLake → Delta Sync
    Generates Delta Lake _delta_log/*.json transaction files and Parquet checkpoints from the latest DuckLake state.

  • Schema Mapping
    Converts DuckDB types to their Spark SQL equivalents so Delta can understand them without throwing a tantrum.

  • Change Detection
    Detects file-level additions/removals since the last export — keeps things incremental and tidy.

  • Checkpointing
    Automatically writes Delta checkpoints every N versions (configurable), so readers don’t have to replay the entire log from scratch.


⚙️ Installation & Usage

Install via pip:

pip install ducklake-delta-exporter
from ducklake_delta_exporter import generate_latest_delta_log

generate_latest_delta_log('/lakehouse/default/Files/meta.db','/lakehouse/default/Tables')

the data path is optional, but handy to support relative path

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

ducklake_delta_exporter-0.1.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

ducklake_delta_exporter-0.1.2-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file ducklake_delta_exporter-0.1.2.tar.gz.

File metadata

  • Download URL: ducklake_delta_exporter-0.1.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for ducklake_delta_exporter-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3c8f1a3f65cb57fb5fb183e53f12ca12df6d2c5923316207eb4f58e6d98cbd43
MD5 8b3d31cb40f3cd306de866b410278973
BLAKE2b-256 216e2e51822922e14b9ab13fb008c05116b899e03dd4b1d60841a55199645c87

See more details on using hashes here.

File details

Details for the file ducklake_delta_exporter-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ducklake_delta_exporter-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6209eb19c984376787e421a2a5f62b6bfad2490a690ebe326b64e12060cca2a2
MD5 965c00e9f7e422e7b86613ff2785bb51
BLAKE2b-256 6de87248fed505ca77eb43c179ce84e63612c5433ec1d804b8d0b685a3375369

See more details on using hashes here.

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