Skip to main content

Official Lakekeeper client — generic-tables API and OAuth2 auth (static token / client_credentials with refresh)

Project description

Lakekeeper Clients

Official client libraries for Lakekeeper — an open-source Apache Iceberg REST catalog.

These clients make Lakekeeper-specific features easy to use: the generic-tables API (write Lance, Delta, or any dataset format with vended S3 credentials) and auth (static token or OAuth2 client-credentials with automatic refresh).

Libraries

Artifact Language Install
pylakekeeper Python pip install pylakekeeper
io.lakekeeper:lakekeeper-client Java GitHub Packages
io.lakekeeper:lakekeeper-spark Java / Spark GitHub Packages

Examples

Example Description
Flink IoT stream Write IoT sensor data to a Lakekeeper generic table on S3 using Flink FileSink
Lance dataset (Python) Create a Lance generic table, write and read a dataset with vended credentials
Dataset images (Python) Upload image files to a dataset generic table via boto3

Quick start

Python

pip install pylakekeeper
from pylakekeeper import Client, StaticToken

lk = Client(base_url="http://localhost:8181", warehouse="my-warehouse",
            auth=StaticToken("my-token"))

# Create a Lance table and write to it
resp = lk.generic_tables.create("ai.models", "embeddings", format="lance")
resp = lk.generic_tables.load("ai.models", "embeddings", vended=True)

import lance, pyarrow as pa
lance.write_dataset(data, resp.location, storage_options=resp.lance_storage_options)

# Or open as an fsspec filesystem
import fsspec
fs = fsspec.filesystem("s3", **resp.fsspec_kwargs)
files = fs.ls(resp.location)

Java

<!-- Maven -->
<dependency>
  <groupId>io.lakekeeper</groupId>
  <artifactId>lakekeeper-client</artifactId>
  <version>0.1.0</version>
</dependency>
try (LakekeeperClient lk = LakekeeperClient.builder()
        .baseUrl("http://localhost:8181")
        .warehouse("my-warehouse")
        .auth(new StaticToken("my-token"))
        .build()) {

    LoadGenericTableResponse resp =
        lk.genericTables().load("iot", "sensor-readings", true);
    System.out.println(resp.getLocation());
}

License

Apache-2.0 — matches the Lakekeeper server.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylakekeeper-0.3.0.tar.gz (306.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylakekeeper-0.3.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file pylakekeeper-0.3.0.tar.gz.

File metadata

  • Download URL: pylakekeeper-0.3.0.tar.gz
  • Upload date:
  • Size: 306.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylakekeeper-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9e9097920284ac5e97a0253ca46ca2e9e1246140df021ae3aa643de0139fb1a9
MD5 c25dc29c8a452a196aab022bdf404f46
BLAKE2b-256 34839827ce1a82d202e0d924759e3c72505deaf5c9123523d09f3231f213519b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylakekeeper-0.3.0.tar.gz:

Publisher: release.yml on lakekeeper/lakekeeper-clients

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylakekeeper-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pylakekeeper-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylakekeeper-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be2ed97b95db3caec5f7cbd0feb561eb5a33fd749f4d02a122b6723ae395d5c5
MD5 de72bbfec3b480060c5251ea26ebf5d2
BLAKE2b-256 aba4924ef294d856cf96ecf401e47e81bb10adee6308c45f4db4d3eed8451f43

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylakekeeper-0.3.0-py3-none-any.whl:

Publisher: release.yml on lakekeeper/lakekeeper-clients

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page