Skip to main content

Lakehouse Observability Platform

Project description

Lakefront

A terminal-based lakehouse observability platform for exploring and managing data sources from your command line.


About

Working with lakehouse data — Parquet files on local disk or S3, DuckDB queries, materialized views — usually means jumping between tools, writing throwaway scripts, or wrestling with heavyweight UIs. Lakefront puts it all in one place: a fast TUI and CLI for data engineers who live in the terminal.

Problems it solves:

  • No single tool for lakehouse exploration — Lakefront combines DuckDB-powered SQL querying, S3 source management, and dataset browsing in one cohesive interface.
  • Configuration sprawl — profiles let you switch between environments (local dev, staging, production S3) with a single command, keeping credentials out of your scripts.
  • Context switching — instead of firing up a Jupyter notebook or a GUI just to peek at a Parquet file, you stay in the terminal.

Examples

Initialise Lakefront

Bootstrap the ~/.lakefront directory structure and create a default profile:

uv run lakefront init

Config Management

# List all profiles
uv run lakefront config list

# Show config directories and paths
uv run lakefront config info

# Create a new profile
uv run lakefront config create --profile staging

# Inspect a profile's current settings
uv run lakefront config inspect --profile staging

# See which profile is active
uv run lakefront config get-active

# Switch to a different profile
uv run lakefront config set-active --profile staging

Secrets (S3 access keys etc.) can be written to the TOML profile or set via environment variables instead:

export LAKEFRONT_S3__ACCESS_KEY=...
export LAKEFRONT_S3__SECRET_KEY=...

Project Management

Projects are the top-level organisational unit in Lakefront. Each project lives in its own directory under ~/.lakefront/projects/ and can be pinned to a config profile.

~/.lakefront/projects/
└── my-project/
    ├── project.toml      ← metadata + pinned profile
    └── results/          ← analysis outputs
# List all projects
uv run lakefront projects list

# Create a new project
uv run lakefront projects create my-project -d "EDA on S3 parquet" -p staging

# Inspect a project
uv run lakefront projects inspect my-project

# Delete a project (prompts for confirmation)
uv run lakefront projects delete my-project
uv run lakefront projects delete my-project --yes

Source Management

Data sources are attached to a project and point to a local path or S3 prefix.

# Add a source
uv run lakefront projects source add -p my-project -n raw -k s3 --path s3://bucket/raw/
uv run lakefront projects source add -p my-project -n local -k local --path /data/parquet/

# Remove a source
uv run lakefront projects source remove -p my-project -n raw

Project Structure

src/
├── core/   # config models, settings, project & source service
├── cli/    # Typer entrypoint and sub-commands
└── tui/    # Textual TUI app (in progress)

Changelog

v0.3.2 (2026-04-19)

Fix

  • tag still not pushed

v0.3.1 (2026-04-19)

Fix

  • workflow glitches
  • unable to parse pyproject.toml

v0.3.0 (2026-04-19)

Feat

  • add commitizen for automated changelog and versioning

Fix

  • cz command not found

v0.2.2 (2026-04-18)

Feat

  • s3 support; added util.fs
  • source can be attached to and detached from a project during runtime (#4)
  • tui: basic source navigation and query execution
  • core: can attach and query csv, parquet and parquet datasets (#3)
  • tui: preliminary layout
  • core: project context registers sources for querying (#2)
  • wip: project lifecycle management (#1)

Fix

  • unable to connect to s3

Refactor

  • core,cli: moving around and renaming things

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

lakefront-0.3.2.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

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

lakefront-0.3.2-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file lakefront-0.3.2.tar.gz.

File metadata

  • Download URL: lakefront-0.3.2.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lakefront-0.3.2.tar.gz
Algorithm Hash digest
SHA256 26a391c74b2bba944451bf92959ab57bbb2c16e3a602b59688a421293320a1d0
MD5 e2bf20ba499a273467e65dbd38136329
BLAKE2b-256 10ecff605b575c10320a7e6698e5a3eefe6cf0d1d9c9733394ecea454ee03274

See more details on using hashes here.

File details

Details for the file lakefront-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: lakefront-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lakefront-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e76a0f3144214e878df5ae2cd84e76478138dab5c166fa6fcfe4506d7121658d
MD5 012d4805781a3a14409cd91588bc8f4c
BLAKE2b-256 27ade03b9d1dd5e6d2a1620cecd06fa1bba662792d008ff69a3c3980cd4e7146

See more details on using hashes here.

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