9 breaking releases

0.11.0 May 13, 2023
0.9.0 Apr 14, 2023
0.8.0 Mar 12, 2023
0.6.0 Dec 20, 2022
0.1.1 Oct 30, 2020

#68 in Web programming

Download history 447/week @ 2023-02-02 783/week @ 2023-02-09 340/week @ 2023-02-16 569/week @ 2023-02-23 954/week @ 2023-03-02 694/week @ 2023-03-09 1067/week @ 2023-03-16 1038/week @ 2023-03-23 1683/week @ 2023-03-30 757/week @ 2023-04-06 795/week @ 2023-04-13 1090/week @ 2023-04-20 975/week @ 2023-04-27 1026/week @ 2023-05-04 695/week @ 2023-05-11 2501/week @ 2023-05-18

5,291 downloads per month
Used in 3 crates (2 directly)


18K SLoC


crates.io api_doc

Native Delta Lake implementation in Rust



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


 cargo run --bin delta-inspect files ./tests/data/delta-0.2.0
 cargo run --bin delta-inspect info ./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


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

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.
  • glue - enable the Glue data catalog to work with Delta Tables with AWS Glue.
  • hdfs - enable the HDFS storage backend to work with Delta Tables in HDFS.
  • json - enable the JSON feature of the parquet crate for better JSON interoperability.
  • parquet2 - use parquet2 for checkpoint deserialization. Since arrow and parquet features are enabled by default for backwards compatibility, this feature needs to be used with --no-default-features.
  • s3 - enable the S3 storage backend to work with Delta Tables in AWS S3. Uses rustls.
  • s3-native-tls - enable the S3 storage backend but rely on OpenSSL.


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.


~1.5M SLoC