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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e9097920284ac5e97a0253ca46ca2e9e1246140df021ae3aa643de0139fb1a9
|
|
| MD5 |
c25dc29c8a452a196aab022bdf404f46
|
|
| BLAKE2b-256 |
34839827ce1a82d202e0d924759e3c72505deaf5c9123523d09f3231f213519b
|
Provenance
The following attestation bundles were made for pylakekeeper-0.3.0.tar.gz:
Publisher:
release.yml on lakekeeper/lakekeeper-clients
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylakekeeper-0.3.0.tar.gz -
Subject digest:
9e9097920284ac5e97a0253ca46ca2e9e1246140df021ae3aa643de0139fb1a9 - Sigstore transparency entry: 2188854229
- Sigstore integration time:
-
Permalink:
lakekeeper/lakekeeper-clients@d469eab8b5957274ebb284bee39dd965576603c9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lakekeeper
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d469eab8b5957274ebb284bee39dd965576603c9 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be2ed97b95db3caec5f7cbd0feb561eb5a33fd749f4d02a122b6723ae395d5c5
|
|
| MD5 |
de72bbfec3b480060c5251ea26ebf5d2
|
|
| BLAKE2b-256 |
aba4924ef294d856cf96ecf401e47e81bb10adee6308c45f4db4d3eed8451f43
|
Provenance
The following attestation bundles were made for pylakekeeper-0.3.0-py3-none-any.whl:
Publisher:
release.yml on lakekeeper/lakekeeper-clients
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylakekeeper-0.3.0-py3-none-any.whl -
Subject digest:
be2ed97b95db3caec5f7cbd0feb561eb5a33fd749f4d02a122b6723ae395d5c5 - Sigstore transparency entry: 2188854325
- Sigstore integration time:
-
Permalink:
lakekeeper/lakekeeper-clients@d469eab8b5957274ebb284bee39dd965576603c9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lakekeeper
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d469eab8b5957274ebb284bee39dd965576603c9 -
Trigger Event:
workflow_dispatch
-
Statement type: