Skip to main content

lakehouse_core

The lakehouse as the signed-in user: Lakekeeper catalog browsing, dataset files and previews. One implementation behind three front ends - the JupyterLab Lakehouse explorer, the agents' MCP server and (V1) the VS Code extension. Lakekeeper decides every permission. Plan: docs/data-platform/vscode-extension-plan.md.

Module What
config catalog URI, warehouse, files root (env or configure())
auth the user's token: set_provider(fn), LAKEHOUSE_ACCESS_TOKEN, JupyterHub auth_state, or the laptop sign-in (MSAL)
catalog Browser (REST: children, table details); iceberg_catalog, describe_table, preview_table (PyIceberg)
lakefiles dataset files (import lakefiles in notebooks is a shim for this module)
preview first rows / text of csv, tsv, parquet, xlsx, json, jsonl (+ .gz)
mcp_server python -m lakehouse_core.mcp_server - read-only tools for agents (honours agent_mode)
guide the agent guide: guide.md -> variants pod (= the mounted ai-agent/AGENTS.md) and local
notebooks, notebook_mcp python -m lakehouse_core.notebook_mcp - read, edit and run notebooks in the user's JupyterHub server through its collaboration room and the notebook's own kernel, and run a local .py file's # %% cells on a JupyterHub kernel (run_py_cell) (notebooks extra)
agents python -m lakehouse_core agent-setup - guide + MCP config for Claude Code, Cursor, Copilot, Codex
hub the user's JupyterHub server from a laptop: token exchange, start/stop, connection info for remote kernels
spark Spark on the platform from a local Python (V4): from lakehouse_core.spark import spark, same helpers as the Spark kernel; via the Spark Connect gateway
metadata OpenMetadata context (V3a, dormant until a profile sets openmetadata_url)
rpc JSON-lines backend of the VS Code extension (ide/vscode-lakehouse/)
profiles.json one entry per platform: catalog URL, Entra tenant / client / scope, agent_mode

Deployed by mounting the .py files into the notebook image's site-packages (jupyterhub.tf in gcp-platform and lakehouse), so a change needs only a server restart.

On a laptop:

pip install 'drakun-lakehouse-core[all]'               # PyPI (import name: lakehouse_core), or the .vsix wheel
python -m lakehouse_core login --profile gcp-dev       # browser sign-in once (--device for SSH)
python -m lakehouse_core agent-setup                   # give your coding agent the guide + tools (lakehouse + jupyterhub MCP)
from lakehouse_core import catalog, lakefiles as lf
df = catalog.iceberg_catalog().load_table("demo.sales").scan(limit=10_000).to_pandas()
lf.ls("files.media.landing/meta_ads")

from lakehouse_core.spark import spark      # Spark in the cluster, as you (python -m lakehouse_core spark-check)
spark.table("demo.sales").groupBy("region").count().show()

Changing the guide: edit guide.md, then python -m lakehouse_core guide --variant pod > ../../../gcp-platform/files/ai-agent/AGENTS.md (a test fails while they differ).

Tests (stub Lakekeeper, no cluster):

pip install -e '.[test]' && pytest        # in this directory

Metadata

Release files for drakun-lakehouse-core 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for drakun-lakehouse-core 0.6.1
File Size Uploaded Provenance Actions
drakun_lakehouse_core-0.6.1.tar.gz 90.9 kB Without provenance Details for drakun_lakehouse_core-0.6.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for drakun-lakehouse-core 0.6.1
File Interpreter ABI Platform Actions
drakun_lakehouse_core-0.6.1-py3-none-any.whl Python 3 none any Details for drakun_lakehouse_core-0.6.1-py3-none-any.whl

Total release size: 172.3 kB

Release files / drakun_lakehouse_core-0.6.1.tar.gz

Download URL drakun_lakehouse_core-0.6.1.tar.gz
Size 90.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5b49ed0b226e98fc1c7568f7cb8a705ad020bba091dc67d543e578fc05f6dc21
BLAKE2b-256 checksum
How to use checksums
aadb17806082fb921ee8e4b0c3fdeebc75d9b8a3b6ed4add562ec6703e9b8b5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / drakun_lakehouse_core-0.6.1-py3-none-any.whl

Download URL drakun_lakehouse_core-0.6.1-py3-none-any.whl
Size 81.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc014244fe6f659ddba7e2987ab82caa945a2dd7dc610d9392db159e327c5c0a
BLAKE2b-256 checksum
How to use checksums
cfc6577ca6dcfc6688da602b41807d13e2ef8fd1ac22139bd778ca5ef4e1e59c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Security for drakun-lakehouse-core 0.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page