18 releases (8 breaking)

new 0.25.0 Mar 9, 2025
0.23.2 Jan 12, 2025
0.22.3 Dec 4, 2024
0.22.2 Nov 30, 2024
0.17.1 Mar 7, 2024

#4 in #deltalake

Download history 15094/week @ 2024-11-17 9737/week @ 2024-11-24 14539/week @ 2024-12-01 12243/week @ 2024-12-08 12767/week @ 2024-12-15 3887/week @ 2024-12-22 7090/week @ 2024-12-29 14399/week @ 2025-01-05 14102/week @ 2025-01-12 12905/week @ 2025-01-19 13745/week @ 2025-01-26 15121/week @ 2025-02-02 14249/week @ 2025-02-09 13211/week @ 2025-02-16 14047/week @ 2025-02-23 12237/week @ 2025-03-02

54,713 downloads per month
Used in 23 crates (9 directly)

Apache-2.0

2MB
41K SLoC

Deltalake

crates.io api_doc

Native Delta Lake implementation in Rust

Usage

API

let table = deltalake::open_table("./tests/data/simple_table").await.unwrap();
println!("{}", table.get_files());

CLI

Navigate into the delta-inspect directory first and run the following command Please noted that the test data is under rust instead of delta-inspect

 cargo run --bin delta-inspect files ../rust/tests/data/delta-0.2.0
part-00000-cb6b150b-30b8-4662-ad28-ff32ddab96d2-c000.snappy.parquet
part-00000-7c2deba3-1994-4fb8-bc07-d46c948aa415-c000.snappy.parquet
part-00001-c373a5bd-85f0-4758-815e-7eb62007a15c-c000.snappy.parquet
 cargo run --bin delta-inspect info ./tests/data/delta-0.2.0
DeltaTable(./tests/data/delta-0.2.0)
        version: 3
        metadata: GUID=22ef18ba-191c-4c36-a606-3dad5cdf3830, name=None, description=None, partitionColumns=[], createdTime=1564524294376, configuration={}
        min_version: read=1, write=2
        files count: 3

Examples

The examples folder shows how to use Rust API to manipulate Delta tables.

Navigate into the rust directory first and examples can be run using the cargo run --example command. For example:

cargo run --example read_delta_table

Optional cargo package features

  • azure - enable the Azure storage backend to work with Delta Tables in Azure Data Lake Storage Gen2 accounts.
  • datafusion - enable the datafusion::datasource::TableProvider trait implementation for Delta Tables, allowing them to be queried using DataFusion.
  • datafusion-ext - DEPRECATED: alias for datafusion feature
  • gcs - enable the Google storage backend to work with Delta Tables in Google Cloud Storage.
  • json - enable the JSON feature of the parquet crate for better JSON interoperability.

Development

To run s3 integration tests from local machine, we use docker-compose to stand up AWS local stack. To spin up the test environment run docker-compose up in the root of the delta-rs repo.

Dependencies

~47–68MB
~1.5M SLoC