olai-uc-delta-api 0.0.1

Portable Unity Catalog Delta v1 REST API: wire models, managed-table contract, commit coordinator, and the backend-agnostic DeltaBackend port shared across server implementations.
Documentation

unitycatalog-rs

[!WARNING] This is a thus far unofficial and experimental implementation of the Unity Catalog APIs. This project is in early development and is not yet ready for production use.

An experimental implementation of Unity Catalog in Rust.

The reference implementation of unity catalog aims to be a fully self-contained implememntaion of the Unity Catalog API. While this implementation also provides a standalone server the primary goal is to provide a toolset that allows integrators to customize the implementation to their needs or partially adopt specific API surfaces.

The design focuses on abstracting the unity catalog specific behaviors as much as possible, while allowing cosutomization of all deployment specific aspects.

What's in the repository

The bulk of the implementation is within the rust crates inside the crates directory.

Code generation (Rust server/client, OpenAPI) is handled by the external trestle codegen tooling, which also publishes the olai-http / olai-store crates we depend on for cloud auth/HTTP and storage abstractions.

The core logic is implemented in the unitycatalog-common crate. There are further extension crates to build more advanced serves.

The simples way to get started with unitycatalog-rs is to use the unitycatalog-cli. This exposes a commandline interface to run a unoty catalog server or query a service.

Python bindings

Two python wheels are build in the project.

  • python bindings for the unity catalog client
  • uc cli is a binary only distribution to install the unitycatalog cli via pip

Node bindings

Development

We use just as the command runner for development tasks. Have a look at the justfile to see all available tasks.