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)
| File | Size | Uploaded | |
|---|---|---|---|
| vibedata_dlt_fabric_warehouse_studio-0.5.0.tar.gz | 25.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|