One project. One way to build, load and test.

Write familiar Python, SQL and Power BI files. Weaver deploys native Fabric items and connects the work around them.

When you use a Catalogue, deployment and run history are recorded in an ordinary Fabric Warehouse.

Write code you already know

T-SQL

Write an ordinary SQL query. Add a comment that tells Weaver the table name, key and columns.

Warehouse/Curated/Parcel.Event.sql
/*
Table ID: Parcel.Event
Description: Parcel events.
Lineage: Example input.
Primary key: parcel_id
Schema:
  parcel_id: varchar(20)
*/
select 'P-1001' as parcel_id;

Python

Write a Python class with a read() method. Describe the table in the file and return a Spark DataFrame.

Tables/Parcel__Event.py
"""Table ID: Parcel.Event
Description: Parcel events.
Lineage: Example input.
Schema:
  parcel_id: string
"""
from weaver import Table

class Parcel__Event(Table):
    def read(self):
        return self.spark.createDataFrame(
            [("P-1001",)], "parcel_id string"
        )

TMDL

Add a standard TMDL annotation to apply modelling rules. Weaver leaves your original Power BI files unchanged.

Parcel.tmdl
model Model
    annotation 'Weaver.AutoHideForeignKeys' = true

Each file tells Weaver what it represents and what rules to follow.

File paths and naming conventions supply the rest of the structure.

How to write a Weaver project →

The Catalogue brings everything together

Weaver's Catalogue is an ordinary Fabric Warehouse. It records what's deployed, how the parts connect and what happened when they ran—without a separate service to operate.

Native definitionsPython · SQL · TMDL
Build
Installed Fabric estateLakehouses · Warehouses
Semantic Models · Reports
Records definitions
and installed bindings
Operate on the
installed estate

Catalogue

Fabric Warehouse

Installed definitions

  • Definitions
  • Signatures
  • Dependencies
  • Metadata & bindings

Operational evidence

  • Bookmarks
  • Logs
  • Statistics
  • Test results
Read stateLoad / Test
results
Load · Test · HealthUse the recorded estate
Build deploys your Fabric items. Load and Test run the work and record the results. Health shows what needs attention.

The same recorded state is used by Build, Load, Test and Health.

Inside the Catalogue →

The diagram shows how Weaver keeps track of a Fabric project. Standalone Power BI deployment can also work without a Catalogue.

From source files to running work

Run work in the right order
Coordinate related work across Fabric items.
Process only changes
Track where each table left off, including new, changed and removed rows.
Run independent work together
Run steps at the same time when they do not depend on each other.
Recover from failures
Record failures without losing completed work.
Check data and calculations
Check the data, not just the execution.
Apply modelling standards
Apply standards across Semantic Models.

Weaver creates the loading code, runs supported work in the right order and applies your testing and modelling rules.

Python imports and supported T-SQL references establish dependencies; Spark SQL needs explicit declarations. Incremental policies use bookmarks and authored change/delete logic, not automatic detection of every source change.

One set of commands

  1. BUILDInstall the definitions.
  2. LOADProcess data and refresh models.
  3. TESTVerify the results.
  4. HEALTHSee what needs attention.

MIRROR — Develop against existing data without copying everything.

WIPE — Destructively reset selected physical destinations.

Reports are Build-only, with no independent Load or Test. Mirror borrows Lakehouse/Warehouse data. Wipe includes unmanaged contents within selected Lakehouses/Warehouses and normally the resolved Catalogue; named Semantic Model resets retain it. Reports cannot be wiped.

Operations and their boundaries →

Use the same code in development and production

Development

Warehouse/CuratedCurated_Dev

Production

Warehouse/CuratedCurated

Same files. Different workspaces.

A workspace configuration file sets where your Fabric items go. Weaver records those destinations when you build. Changing the file alone does not move deployed items or change external connections.

Run Weaver from desktop Python, inside a Fabric Notebook, or both.

Work across environments →

What you write and what Weaver deploys

Your project files describe the Fabric items you want, using Python, SQL and Power BI formats.

Weaver keeps track of what has been deployed, what has run and what needs attention.