Skip to content

Commit 675fb1e

Browse files
r3stl355rtyler
authored andcommitted
Tidy up README.md
Signed-off-by: Nikolay Ulmasov <ulmasov@hotmail.com>
1 parent 643b93c commit 675fb1e

File tree

1 file changed

+57
-11
lines changed

1 file changed

+57
-11
lines changed

README.md

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,63 @@
22

33
[![CI](https://github.com/unitycatalog/unitycatalog-rs/workflows/CI/badge.svg)](https://github.com/unitycatalog/unitycatalog-rs/actions) ![crates.io](https://img.shields.io/crates/v/unitycatalog.svg?label=unitycatalog) ![crates.io](https://img.shields.io/crates/v/unitycatalog-client.svg?label=unitycatalog-client) ![crates.io](https://img.shields.io/crates/v/unitycatalog-sys.svg?label=unitycatalog-sys)
44

5-
unitycatalog-rs serves an alternate implementation of the [Unity Catalog protocol](https://github.com/unitycatalog/unitycatalog/tree/main/api). The Unity Catalog protocol is a specification for a multi-modal catalog for data and AI assets.
5+
**Unity Catalog Rust (UC-R)**
6+
7+
A native Rust implementation of the [Unity Catalog](https://github.com/unitycatalog/unitycatalog): an Open and Multimodal Catalog for Data & AI.
8+
9+
## Prerequisites
10+
11+
- Install Rust, e.g. as described [here](https://doc.rust-lang.org/cargo/getting-started/installation.html)
12+
13+
## [WIP] Quick Start
14+
15+
Use two terminal windows: one to run the Unity Catalog Rust server (UC-R) another to explore the content of the UC-R server using varios client tools.
16+
17+
### Run the server
18+
19+
In the first terminal window, start the UC server (from the repository root directory)
20+
21+
```
22+
cargo run
23+
```
24+
25+
### [TBD] Query with DuckDB
26+
27+
- [Install](https://duckdb.org/docs/installation/) DuckDB
28+
- Start DuckDB (run `duckdb` in the terminal)
29+
- Run the following commands in the DuckDB shell to install the required extensions
30+
```
31+
install uc_catalog from core_nightly;
32+
load uc_catalog;
33+
install delta;
34+
load delta;
35+
```
36+
37+
- Attach the unity catalog to DuckDB
38+
```
39+
ATTACH 'unity' AS unity (TYPE UC_CATALOG);
40+
```
41+
42+
- Run the queries, for example
43+
```
44+
SHOW ALL TABLES;
45+
SELECT * from unity.default.numbers;
46+
```
47+
48+
## APIs and Compatibility
49+
50+
- Open API specification: The Unity Catalog Rest API is documented [here](https://github.com/unitycatalog/unitycatalog/tree/main/api).
51+
- Compatibility and stability: The APIs are currently evolving and should not be assumed to be stable.
52+
53+
## Compiling and Testing
54+
55+
```
56+
cargo test
57+
```
658

759
## Why Rust?
860

9-
Rust was chosen as a language for the second implementation for a few reasons:
61+
Rust was chosen as a language for the alternative implementation for a few reasons:
1062

1163
- **Performance**: Rust compiles to native bytecode, enabling it to be used in performance-critical and constrained environments.
1264
- **FFI**: As Rust uses the C ABI, bindings can be exposed to any language, like C, Go, etc.
@@ -15,14 +67,8 @@ Rust was chosen as a language for the second implementation for a few reasons:
1567
- **Safety**: Rust's strong type system and ownership model make it difficult to write code that is unsafe or has undefined behavior. When dealing with data assets, especially when it comes to access control, this helps us ensure that we are not introducing security vulnerabilities.
1668
- **We want to write it!**: Most importantly, we like writing Rust!
1769

18-
## License
19-
20-
Licensed under Apache License, Version 2.0 ([LICENSE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
21-
22-
## Contribution
70+
## Getting Involved
2371

24-
Unless you explicitly state otherwise, any contribution intentionally submitted
25-
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
26-
dual licensed as above, without any additional terms or conditions.
72+
We encourage you to reach out and share your feedback or ideas by [raising an issue](issues/new).
2773

28-
See [CONTRIBUTING.md](CONTRIBUTING.md).
74+
See [CONTRIBUTING.md](CONTRIBUTING.md) if you are looking to contribute.

0 commit comments

Comments
 (0)