Skip to main content

vibedata-dlt-fabric-warehouse-studio

Fabric Warehouse Studio execution unit for the VibeData dlt runtime — the installed distribution for Domains whose Fabric data platform is a Warehouse rather than a Lakehouse. dlt's own fabric destination does the loading; this unit supplies the two things it cannot get by itself: an audience-bound access token in place of a client secret, and a credential for the OneLake staging area the run is configured with, holding the parquet that COPY INTO reads back.

The same pipeline runs in the Studio-local intent venv and, once published, as a Fabric notebook. Only where the token and the Domain's Key Vault come from differs, and the unit resolves that from the environment.

Import this unit before dlt. In a Fabric notebook it has to stand the kernel's preloaded storage stack aside, and import dlt binds that stack at module scope; the wrong order raises rather than loading silently against two different copies.

from vibedata.dlt.fabric_warehouse import setup_environment, finalize, onelake_staging
import dlt

setup_environment()
pipeline = dlt.pipeline(pipeline_name="<name>", destination="fabric",
                        staging=onelake_staging(), dataset_name="<schema>")
try:
    pipeline.run(source)
except Exception as e:
    finalize(pipeline, error_message=str(e)); raise
finalize(pipeline)

setup_environment() and finalize() are the whole API — the same pair every execution unit exposes. setup_environment() asserts dlt's fabric destination is patched for token auth, registers the venue's token provider and secret provider, resolves the staging location, and names dlt's scratch schema <dataset>_dlt_staging so it cannot collide with a dbt-modelled staging layer. finalize() persists the audit tables and stops there: dlt performs the load itself, so unlike the Lakehouse unit there is nothing left to sync.

The staging location is read from dlt config as [destination.filesystem] bucket_url, overridable through DESTINATION__FILESYSTEM__BUCKET_URL. It must be an abfss:// URL on OneLake naming its workspace by GUID: Fabric's OneLake endpoints reject display names, so a non-GUID is refused at setup. Absent the key there is no staging location and the load goes row by row.

The dlt pin

dlt>=1.30,<1.31. The fabric destination arrived in 1.30 and only speaks client-secret service-principal auth, so this unit patches five of its private seams: the destination's config spec, FabricCredentials.on_partial, FabricCredentials.get_odbc_dsn_dict, FabricSqlClient.open_connection, and FabricCopyFileLoadJob._ensure_fabric_token_initialized. None of those is public API, so a minor bump can move them and the upper bound is a correctness fence rather than caution. mssql and synapse are never touched.

Upstream support for an access token on the Fabric credentials — an access_token field and attrs_before on the connection — would make _spec.py and _patch.py deletable, leaving only staging and bootstrap.

Metadata

Release files for vibedata-dlt-fabric-warehouse-studio 0.5.0

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

Source distribution (sdist)

Source distribution for vibedata-dlt-fabric-warehouse-studio 0.5.0
File Size Uploaded
vibedata_dlt_fabric_warehouse_studio-0.5.0.tar.gz 25.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vibedata-dlt-fabric-warehouse-studio 0.5.0
File Interpreter ABI Platform
vibedata_dlt_fabric_warehouse_studio-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 46.4 kB

Release files / vibedata_dlt_fabric_warehouse_studio-0.5.0.tar.gz

Download URL vibedata_dlt_fabric_warehouse_studio-0.5.0.tar.gz
Size 25.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d08b7d0cdbc95cbc77f255483adad468b3c8d4670267e4e103d55836cab463f7
BLAKE2b-256 checksum
How to use checksums
3307550b0e80f55371d04af4a86b578cd74457a0085a5ef5178163c6eba823f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / vibedata_dlt_fabric_warehouse_studio-0.5.0-py3-none-any.whl

Download URL vibedata_dlt_fabric_warehouse_studio-0.5.0-py3-none-any.whl
Size 21.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b82a94b4942326961b2ec73b5ac989e2e34b18c713e27ed493685960ed8396b6
BLAKE2b-256 checksum
How to use checksums
cc3371d2fef8da4d8f4153ac567964c986af667d60b3968cc86c3cb2999824d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

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