Try Weaver on a small Fabric project

The Sales example creates a Lakehouse table, a Warehouse table, a shortcut between them and two checks. You can see the whole path without designing a project first.

1. Check the prerequisites

  • A Microsoft Fabric workspace on a running capacity.
  • Permission to use or create the Lakehouse, Warehouse and Environment named during setup.
  • Python 3.11 or later when working from your own machine. Fabric notebooks already provide Python.
  • A Fabric sign-in. The desktop CLI can use Azure CLI credentials, a configured service principal or Microsoft sign-in in a browser.

2. Install Weaver

terminal
pip install weaverstack
weaver doctor --workspace Analytics

doctor checks your sign-in and access to the workspace before setup.

Inside a Fabric notebook, install the same package with %pip install weaverstack and use the Python functions instead of the CLI.

3. Create the example project

Run the setup wizard and choose the Sales example. It asks where to write the project and which Lakehouse, Warehouse, Environment and Catalogue Warehouse to use.

terminal
weaver initialise --workspace Analytics

initialise writes the project and creates or reuses the Fabric items you select. It does not build the objects or load data yet.

Repeat the setup without prompts

terminal
weaver initialise --workspace Analytics \
  --project-folder ./Analytics \
  --catalogue Catalogue \
  --environment Weaver \
  --lakehouse Landing \
  --warehouse Curated \
  --example --non-interactive

4. Look at the project

The files are grouped by the Lakehouse or Warehouse that owns them. Python imports, SQL references and the shortcut declaration tell Weaver what order to use.

Analytics/
README.md
workspace-config.yml
workflow.yml
Environment/Weaver.Environment/

Lakehouse/Landing/
├── Files/
│   └── Sales__Customers.py
├── Tables/
│   └── Sales__Customer.py
└── assumptions/
    └── Sales__CustomerValid.py

Warehouse/Curated/
├── shortcuts.yml
├── Sales.Region.sql
├── Sales.CustomerByRegion.sql
└── assumptions/
    └── Sales.CustomerByRegionValid.sql

This small file maps the project names to real Fabric items:

workspace-config.yml
workspace: Analytics
environment: Weaver
catalogue: Warehouse/Catalogue

targets:
  Lakehouse/Landing: Landing
  Warehouse/Curated: Curated

Use another copy of this configuration for production. The Python and SQL still refer to Lakehouse/Landing and Warehouse/Curated.

5. Publish and run it

Publish the generated Environment before the first Python load:

terminal
cd Analytics
weaver fabric environment publish --path Environment/Weaver.Environment
weaver workflow full

The full workflow creates the Fabric objects, loads the data in the right order, runs the two checks and reports the result.

You can also run each step separately:

terminal
weaver build
weaver load
weaver test
weaver health

What you should see

  • The customer file lands in the Lakehouse.
  • The Delta table loads from that file.
  • The Warehouse reads the table through a shortcut and runs the regional join afterwards.
  • The two checks pass, and health reports the project as current.

See what each Weaver command does