delta-rs
A native interface to Delta Lake.
About
This library provides low level access to Delta tables in Rust, which can be used with data processing frameworks like datafusion, ballista, rust-dataframe, vega, etc. It also provides bindings to other higher level languages such as Python, Ruby, or Golang.
Features
Supported backends:
-
Local file system
-
AWS S3
-
Azure Data Lake Storage Gen 2
-
❌ Google Cloud Storage see #56
Operation/Feature | Rust | Python | Ruby |
---|---|---|---|
Read table |
|||
Stream table update |
|||
Filter files with partitions |
|||
Vacuum (delete stale files) |
|||
Write transactions |
|||
Checkpoint creation |
|||
High-level file writer |
|||
Optimize |
Get Involved
Development Meeting
We have a standing development sync meeting for those that are interested. The meeting is held every two weeks at 9am PST on Tuesday mornings. The direct meeting URL is shared in the Slack channel above
These meetings are also streamed live via YouTube if you just want to listen in.
Development
delta-rs requires the Rust compiler, which can be installed with the rustup command.
Running tests can be done with cargo test
in the root directory, or one of the directories below:
Rust
The rust/
directory contains core Rust APIs for accessing Delta Lake from Rust, or for higher-level language bindings.
Python
The python/
directory contains the deltalake
Python package built on top of delta-rs
Ruby
The ruby/
directory contains an early prototype of a Ruby library built on top of delta-rs