Making Fabric easier to use

Write the Python, SQL and native Power BI your team already knows. Weaver keeps Fabric under control.

Free and open source. Installs with pip. No new language to learn.

What a Weaver project looks like

Ordinary Python, SQL and native Power BI files, organised by Fabric item. Start with one item; connect more as you need them.

What you write
parcel/
├── workspace-config.yml
├── workflow.yml
├── Environment/Weaver.Environment/
├── Lakehouse/Landing/
│   ├── Files/Parcel__Events.py
│   ├── Tables/Parcel__Event.py
│   └── Tables/Parcel.CurrentStatus.sql
├── Warehouse/Operations/
│   ├── Parcel.StatusEvent.sql
│   ├── shortcuts.yml
│   ├── Parcel.LakehouseCurrentStatus.sql
│   └── tests/
└── PowerBI/Parcel/
    ├── Parcel.SemanticModel/
    └── Parcel.Report/

End-to-end DAG orchestration across Fabric workspace

An illustrative project: Python files and Tables in a Lakehouse feed Warehouse SQL through a Shortcut, then a native semantic model and Report. A Spark SQL transformation branches from the Lakehouse Table. Lakehouse Landing · Parcel Warehouse Operations · Parcel Semantic Model Parcel Report Parcel Events Python Folder Event Python Table Current Status Spark SQL Events Shortcut Current Status T-SQL Parcel Native TMDL Parcel Native Report

Start with what you already have

Have a CSV, a T-SQL query or a Power BI project?

Start there. You don't need to design an entire data estate before getting something useful running.

Add more as you need it.

Choose your first task →

Know what ran. Know what needs attention.

When something fails, you shouldn't have to piece together what happened from pipeline histories, notebooks and log files.

Weaver keeps track of dependencies, data changes, test results and failures together. You can see what's current, what's stale and where to pick up when something goes wrong.

See how Weaver works →

Multiple environments, without the variable tangle

Keep one set of Python, SQL and Power BI files across development and production.

Weaver handles the different Fabric item names and model bindings without burying your code in environment-specific variables.

And with Mirror, development can use existing data without copying everything first.

Develop without the tangle →

Useful at three objects. Engineered for three thousand.

Repeatable deployment and testing are useful even for a couple of files and a Table.

As your estate grows, Weaver takes care of increasingly difficult engineering: dependencies, incremental processing, scheduling, concurrency and recovery.

The same approach works whether you're managing three objects or three thousand.

In a synthetic 3,000-object test estate on F64, the first load completed in about an hour.

Built for scale →