Metadata-Version: 2.4
Name: polars-deltalake
Version: 1.1.0
Requires-Dist: polars>=1.33.1
Requires-Dist: ruff>=0.7 ; extra == 'dev'
Requires-Dist: pyright>=1.1 ; extra == 'dev'
Requires-Dist: typos>=1 ; extra == 'dev'
Requires-Dist: deltalake>=0.25.0 ; extra == 'test'
Requires-Dist: pyarrow>=18.0.0 ; extra == 'test'
Requires-Dist: pytest>=9.0.3 ; extra == 'test'
Requires-Dist: testcontainers>=4.5 ; extra == 'test'
Requires-Dist: boto3>=1.34 ; extra == 'test'
Requires-Dist: azure-storage-blob>=12.19 ; extra == 'test'
Provides-Extra: dev
Provides-Extra: test
Summary: Native Polars I/O plugin for Delta Lake, backed by delta-kernel-rs.
License-Expression: Apache-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# polars-deltalake

Native [Polars](https://pola.rs) I/O plugin for [Delta Lake](https://delta.io), backed by [delta-kernel-rs](https://github.com/delta-io/delta-kernel-rs).

```python
import polars as pl
from polars_deltalake import scan_delta

lf = scan_delta("s3://bucket/path/to/table")
df = lf.filter(pl.col("region") == "eu").select("id", "value").collect()
```

The plugin pushes **projection**, **slice** (`n_rows`), and **predicate** filters into the kernel scan. Predicates that don't map to a kernel-supported shape fall back to Polars-side filtering after the scan.

