Skip to main content

ducklake-sdk — Native SDKs for DuckLake

Read and write DuckLake tables from Rust and Python - no DuckDB required.

CI Build GitHub Release


DuckLake is an integrated data lake and catalog format that stores metadata in a SQL catalog database and writes data as Parquet files. This repository provides standalone Rust and Python SDKs that talk to DuckLakes directly, with no dependency on DuckDB or its DuckLake extension.

All language SDKs are built on the same Rust core, which bundles the implementation of the DuckLake specification.

Python (ducklake-sdk)

pypi-version conda-forge python-version readthedocs codecov

Rust (ducklake)

crates.io docs.rs codecov

Getting Started

Python

pip install ducklake-sdk            # core
pip install "ducklake-sdk[polars]"  # Polars integration
pip install "ducklake-sdk[arrow]"   # Arrow + DuckDB integration

Rust

cargo add ducklake

Quick Example

import ducklake as dl
import polars as pl

# Create a new DuckLake backed by SQLite metadata and local Parquet storage
ducklake = dl.create("sqlite:///metadata.sqlite", data_path="data_files/")

# Define a table.
table = ducklake.create_table(
    "events",
    schema={"id": dl.Int64(), "message": dl.Varchar()},
)

# Write data using Polars
lf = pl.LazyFrame({"id": [1, 2, 3], "message": ["hello", "ducklake", "sdk"]})
table.sink_polars(lf)

# Read it back as a Polars LazyFrame
df = table.scan_polars().collect()

For the full API, see the Python documentation or the Rust API docs.

Features

The Rust core — and therefore every SDK built on top of it — supports:

The Python SDK additionally provides:

  • Reading and writing data through Polars
  • Reading, writing, and deleting data through DuckDB
  • Maintenance operations — compaction, snapshot expiration, and more — via DuckDB

Compatibility Matrix

Catalog Databases

Database Status
SQLite ✅
Postgres ✅
MySQL 🟧 (no data inlining*)

*Data inlining for MySQL is not defined in the DuckLake specification.

Storage Backends

Backend Status
Local / NFS ✅
AWS S3-compatible ✅
Google Cloud Storage ✅
Azure Blob Storage ✅

DuckLake Specification Versions

Version Status
1.0 ✅ (actively supported)
0.4 ⬆️ (requires migration)
0.3 ⬆️ (requires migration)
0.2 ⬆️ (requires migration)
0.1 ⬆️ (requires migration)

See the DuckLake release calendar for upcoming versions.

Project Status

Not yet implemented from the specification

  • GEOMETRY and VARIANT data types
  • Mapping columns by name (Parquet files must currently carry field IDs)
  • Views, macros, sort info, and encrypted files

Known limitations

Rust SDK (may impact efficiency):

  • Tables partitioned with a non-identity transform do not benefit from file pruning yet.
  • Filters are not pushed down into the metadata query. Statistics are still loaded eagerly and used by readers to prune files, but the metadata query may transmit more data than necessary.

Python SDK:

Contributing

Contributions, bug reports, and feature requests are very welcome. See the contribution guidelines to get started.

License

Licensed under the MIT License.

Release files for ducklake-sdk 0.0.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ducklake-sdk 0.0.19
File Size Uploaded
ducklake_sdk-0.0.19.tar.gz 241.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ducklake-sdk 0.0.19
File
ducklake_sdk-0.0.19-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
ducklake_sdk-0.0.19-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
ducklake_sdk-0.0.19-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
ducklake_sdk-0.0.19-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
ducklake_sdk-0.0.19-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 64.5 MB

Release files / ducklake_sdk-0.0.19.tar.gz

Download URL ducklake_sdk-0.0.19.tar.gz
Size 241.4 kB
Tags Source
SHA-256 checksum
How to use checksums
567b20eef9bdbc99e695dfda07011a384e3d0e216428b527fcc673491adfd27c
BLAKE2b-256 checksum
How to use checksums
97da67369914af145c4ae7c57be5d4a0619da17f3d62ebedb241175e8064dd55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / ducklake_sdk-0.0.19-cp310-abi3-win_amd64.whl

Download URL ducklake_sdk-0.0.19-cp310-abi3-win_amd64.whl
Size 13.8 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
cfbe692d6b7ae1b9b58de17c8dc6ca4620c9dbedf9361949079c8889cf7ffa79
BLAKE2b-256 checksum
How to use checksums
8c8feeeed8e35324b7f91c022e30ea90d2b4b3bcc8e3d98b4bd66fa046408dc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / ducklake_sdk-0.0.19-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ducklake_sdk-0.0.19-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
c3cbf14837bdeba955f11de0ab619acaf2a5cf03715b1208d021f1d22f3d2cd0
BLAKE2b-256 checksum
How to use checksums
20cc87bb883edfa2fe2a36c275a945c0329718a73c5a8e5fe3deba6755cca505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / ducklake_sdk-0.0.19-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ducklake_sdk-0.0.19-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 12.6 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
7a89b4daedbc218b16f5d8f74f415566220e2379ffe7ddbf419dddcb93a1a10b
BLAKE2b-256 checksum
How to use checksums
bc49ce4e215c13aefef8df12c79a3e7522b6f26d335891a2cf1f80bab452d172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / ducklake_sdk-0.0.19-cp310-abi3-macosx_11_0_arm64.whl

Download URL ducklake_sdk-0.0.19-cp310-abi3-macosx_11_0_arm64.whl
Size 11.5 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2b94bfee2fb775228c56800a211925ff89a8a061a0d1f356bfb931db7c5641b9
BLAKE2b-256 checksum
How to use checksums
880aedc37310bcb286f59ca7fd7088bd7180dc9a6b798873ebb4b74fc24cf1e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / ducklake_sdk-0.0.19-cp310-abi3-macosx_10_12_x86_64.whl

Download URL ducklake_sdk-0.0.19-cp310-abi3-macosx_10_12_x86_64.whl
Size 13.0 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5c3cc95b8d51a927e3a082de8088c85f252935c84c7537b8820eb09a05c25c9e
BLAKE2b-256 checksum
How to use checksums
5479ecffd9cc061a721faf7ac71ae8de7152d50180d774354a9a0610f18f5d52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release history Release notifications | RSS feed

0.0.20

6 release files

This release

0.0.19 This release

6 release files

0.0.18

6 release files

0.0.17

6 release files

0.0.16

6 release files

0.0.15

6 release files

0.0.14

6 release files

0.0.13

6 release files

0.0.12

6 release files

0.0.10

6 release files

0.0.9

6 release files

0.0.8

6 release files

0.0.7

6 release files

0.0.6

6 release files

0.0.5

6 release files

0.0.4

6 release files

0.0.3

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page