fablake
fablake is a production-oriented Python library for Microsoft Fabric OneLake
Lakehouse access.
It provides:
- a filesystem-first
LakehouseAPI - a pathlib-like
LakehousePathforFilespaths - table root locators and discovery helpers for
Tablesinterop - filesystem interop for
pandas,PyArrow,Polars, andDuckDB - runtime support for both Microsoft Fabric notebooks and local development
Install
Install with uv:
uv add fablake
For local authentication via Azure credentials, also install:
uv add azure-identity
pip install fablake azure-identity also works.
You can also install the auth extra with pip install "fablake[auth]".
Quick start
from fablake import Lakehouse
lh = Lakehouse(workspace="Finance", lakehouse="Ops", schema_enabled=True)
path = lh.files / "raw" / "orders" / "2026-01-01.json"
if path.exists():
print(path.read_text())
table_root = lh.table("orders", schema="brz")
print(table_root)
for table in lh.tables.list("db*.*der"):
print(table)
Core concepts
lh.filestargets the LakehouseFilesroot.lh.table(name, schema=...)returns aTableslocator, not a dataframe.lh.tables.list(pattern)returns matchingLakehouseTablelocators.lh.fsexposes the underlying filesystem handle for library interop.
Interop and runtime
- Use
lh.fsas the filesystem layer forpandas,PyArrow,Polars, andDuckDBworkflows. - Inside Microsoft Fabric notebooks, omitted credentials use notebook/runtime auth resolution.
- In local development, install
azure-identityand use your local Azure credential flow.
Filesystem interop example:
from fablake import Lakehouse
import duckdb
import pandas as pd
import polars as pl
import pyarrow.parquet as pq
lh = Lakehouse(workspace="Finance", lakehouse="Ops", schema_enabled=True)
path = lh.files / "raw" / "orders.parquet"
# pandas + PyArrow engine
df_pd = pd.read_parquet(path, engine="pyarrow", filesystem=lh.fs)
# PyArrow
table = pq.read_table(path, filesystem=lh.fs)
# Polars (via file-like stream)
with lh.fs.open(path, "rb") as stream:
df_pl = pl.read_parquet(stream)
# DuckDB
duckdb.register_filesystem(lh.fs)
df_duck = duckdb.sql(f"SELECT * FROM read_parquet('{path}')").df()
Documentation
- User guide: docs-site/docs/index.md
- Python API docs: docs-site/docs/api/index.md
- Usage examples: docs-site/docs/usage-examples.md
- Changelog: CHANGELOG.md
- Version selector source: docs-site/docs/versions.json
Build docs locally:
uv sync --group docs
uv run python scripts/docs.py serve
Other helper commands:
uv run python scripts/docs.py build
uv run python scripts/docs.py api
uv run python scripts/docs.py sync
Metadata
Release files for fablake 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fablake-0.1.0.tar.gz | 18.4 kB | With provenance | Details for fablake-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fablake-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for fablake-0.1.0-py3-none-any.whl |
Total release size: 38.5 kB
Release files / fablake-0.1.0.tar.gz
| Download URL | fablake-0.1.0.tar.gz |
|---|---|
| Size | 18.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
850a7a231e58600d334d006da0e0d388f52a4f977ba618f286571d556a435998
|
|
BLAKE2b-256 checksum How to use checksums |
42cfdcac891888e9bded56701c2a16cd3ea77c30c159e0cf5606e99b71e1d553
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 26, 2026.
Transparency logRelease files / fablake-0.1.0-py3-none-any.whl
| Download URL | fablake-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5af29eed70eee1f62f7c8b3049e8df677af60d0bc4871be33ea11f38a3c61af3
|
|
BLAKE2b-256 checksum How to use checksums |
ce8b71dde96c811460f6f7e308bc3f864ab78671642bd9b5a2612f6aa2834539
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 26, 2026.
Transparency logSecurity for fablake 0.1.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for fablake-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 26, 2026.
Transparency logA 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.