Skip to content

Commit

Permalink
add more info to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
r3stl355 committed Jan 14, 2023
1 parent caf8b55 commit c538f40
Showing 1 changed file with 24 additions and 6 deletions.
30 changes: 24 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@

# Delta Sharing client library for Rust

This is a simple library for Rust to access data published via Delta Sharing. Has an async (`delta-sharing::application::Application`) version, and also a blocking (`delta-sharing::blocking::Application`) version for smaller operations, both exposing similar APIs.
*Please note that this project is currently experimental.*

This is a simple library for Rust to access data published via Delta Sharing. Under the hood, it uses HTTP APIs exposed by Delta Sharing.

[Delta Sharing](https://delta.io/sharing/) is an open protocol for secure data sharing, making it simple to share data with other organizations regardless of which computing platforms they use.

Library has an async client (`delta-sharing::Client`), as well as a blocking one (`delta-sharing::blocking::Client`) for smaller operations.

## Features

Expand All @@ -12,15 +18,27 @@ This is a simple library for Rust to access data published via Delta Sharing. Ha

## Pre-requisites

- [Delta Sharing](https://databricks.com/product/delta-sharing) set up with at least one shared table
- Rust is installed, e.g. as described [here](https://doc.rust-lang.org/cargo/getting-started/installation.html)

- [Delta Sharing](https://delta.io/sharing/) is set up with at least one shared table

This library uses [profile files](https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#profile-file-format), which are JSON files containing a user's credentials to access a Delta Sharing Server. There are several ways to get started:

- Download the profile file to access an open, example Delta Sharing Server that we're hosting [here](https://databricks-datasets-oregon.s3-us-west-2.amazonaws.com/delta-sharing/share/open-datasets.share). You can try the connectors with this sample data.
- Start your own [Delta Sharing Server](https://github.com/delta-io/delta-sharing#delta-sharing-reference-server) and create your own profile file following [profile file format](https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#profile-file-format) to connect to this server.
- Download a profile file from your data provider.


## Quick start

- Clone this repo
- Set the `bearerToken` and `endpoint` values in the `config.json` to match your Delta Sharing information
- Run a simple example included with the library: `cargo run --example async`. This example is using an async version of the library. When executed, it will get and display all the data from the first Data Sharing table it finds.
- For an example of using a blocking version of the client to do the same, try `cargo run --example blocking --features=blocking`
- Clone the repo
- Set the `bearerToken` and `endpoint` values in the `config.json` to match your Delta Sharing information.
- Run a simple example included with the library that uses an async client: `cargo run --example async`. When executed, it will get and display all the data from the first Data Sharing table it finds.
- For an example of using a blocking version of the client to do the same, try `cargo run --example blocking --features=blocking`.

## Using in your own project

Add `delta-sharing` to your `Cargo.toml`

## Development

Expand Down

0 comments on commit c538f40

Please sign in to comment.