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:

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

  • Mapping columns by name (Parquet files must currently carry field IDs)
  • Macros 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.

Metadata

Release files for ducklake-sdk 0.0.21

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.21
File Size Uploaded
ducklake_sdk-0.0.21.tar.gz 252.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ducklake-sdk 0.0.21
File
ducklake_sdk-0.0.21-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
ducklake_sdk-0.0.21-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.21-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
ducklake_sdk-0.0.21-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
ducklake_sdk-0.0.21-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 65.2 MB

Release files / ducklake_sdk-0.0.21.tar.gz

Download URL ducklake_sdk-0.0.21.tar.gz
Size 252.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c7bd7ad770fd53b4c8d4248cc8ecac788784febcf5a74579ae79685d75b9a5b6
BLAKE2b-256 checksum
How to use checksums
3dcf86961d072818b553c2c3f890b7a85096bbb598bbd015917da1a3e0e67025
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 Oct 3, 2026.

Transparency log

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

Download URL ducklake_sdk-0.0.21-cp310-abi3-win_amd64.whl
Size 14.0 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
06ca7811d4053c698153adad2b265db9ca2199d8e0916ba16bc049076cc839a3
BLAKE2b-256 checksum
How to use checksums
3e3f418780c3706994cb7a562ba84189127f9498efb2a9d64cc9f15a49fcf4bc
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 Oct 3, 2026.

Transparency log

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

Download URL ducklake_sdk-0.0.21-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
a2d6cf50b220472964b9f6e1418d556a709c4d226bca8f17e0516d755126be7b
BLAKE2b-256 checksum
How to use checksums
d85a8b62ff348a2f0a95d902415a1f9d6e9bc339ad111cb1cdb06c1803a6864b
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 Oct 3, 2026.

Transparency log

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

Download URL ducklake_sdk-0.0.21-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 12.7 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
e4512765cf348cd18825d9957e776bed376c07c2aa994dfebfe4ffcb6b757c76
BLAKE2b-256 checksum
How to use checksums
dc0c143df8263343a4e29dbb4ed9a20dd8bf0dca3a2b434b5b1cd938a645b4f8
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 Oct 3, 2026.

Transparency log

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

Download URL ducklake_sdk-0.0.21-cp310-abi3-macosx_11_0_arm64.whl
Size 11.6 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aa145d6e75b86cf2bf17aeaced85cfd8ec12de2d2424fa4c1f3faf18fe6510e8
BLAKE2b-256 checksum
How to use checksums
29e078c6117b89db2e555f0fa158ed96a625a5e186444863017ed087d85747b8
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 Oct 3, 2026.

Transparency log

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

Download URL ducklake_sdk-0.0.21-cp310-abi3-macosx_10_12_x86_64.whl
Size 13.2 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
7fdf7f9d4291cf2b7475f876d0f1bcfe86f00d66e6edbdd8619f6dc8cf6df16b
BLAKE2b-256 checksum
How to use checksums
a63076ddd0a7a90c951459bbd5ad751c9dca5bd5d592e20f694afeea1f85b1b4
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 Oct 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.21 This release

6 release files

0.0.20

6 release files

0.0.19

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