Local-first Power BI cleanup

Review what your semantic model still uses before you delete anything.

Semantic Model Cleaner scans one .SemanticModel against one or more .Report folders, shows supported usage evidence and lets you review exact cleanup changes. Conclusions cover only the selected scope.

Release candidate: 0.4.0b10 public beta. Publication and independent review are pending; download links are release targets. No Python installation is required for the Windows app.
Why this exists
1 semantic model per review flow
JSON and Excel exports for review
Local analysis and cleanup against your files
Download highlights

Start with the Windows public beta.

Public beta ZIP

Windows 0.4.0b10

Download the versioned ZIP and its SHA-256 sidecar. Extract the complete ZIP, then launch the unsigned .exe.

Download v0.4.0b10 · SHA-256 checksum
Beta prereleases

Test prerelease builds

The public release is a beta. Evaluate it on disposable copies. Beta4 adds file protection, clearer scope and reviewed recovery.

Open v0.4.0b10 prerelease
Source install

Clone & pip

Developers can git clone and python -m pip install . to keep working in terminal/VS Code. The repo still contains CLI/web entry points for contributors.

Read repository setup
Release channels

Choose the path that matches your tolerance for change.

Release status

Public beta

This is a public beta, not a stable release. Review supported inputs and validation limits before using a beta.

Open release history
Beta

Prerelease builds

Use this if you want to test early-access flows and give feedback before they graduate. Beta builds surface prerelease UI clearly and may change faster.

Open v0.4.0b10 prerelease
Source

CLI and local web app

If you prefer source installs, the repository still supports the CLI and local web app for contributors and technical users.

Read the setup guide
Windows public beta 0.4.0b10

Understand scope, then review a change.

The Windows app shows the analyzed scope, evidence and exact differences before a change or restoration.

Analysis shows the Semantic Model, selected Report scope, separate coverage limitations and cleanup recommendations
Analyze a disposable demo and inspect the evidence behind each recommendation.
See the restoration reviewRestoration review shows saved differences and the current file state before restoring original bytes

Inputs: a TMDL Semantic Model and connected PBIR Reports. A PBIX file must first be saved as a Power BI Project with those text formats. Quick start · Supported workflows · CLI and AI automation

Workflow

A review-first cleanup loop.

01

Select one model and the reports that matter

The tool is intentionally scoped to one semantic model against one or more reports, so the cleanup context stays understandable.

02

Inspect warnings and usage evidence

Warnings stay visible when the analyzer finds ambiguous patterns or unsupported metadata. You keep control instead of pretending the result is certain.

03

Export or apply cleanup locally

Review results in the web UI, export JSON or Excel, and review exact file differences before applying. Changes & history provides file verification and guarded restoration of original bytes.

Designed for local files

No hosted upload step, no forced cloud workflow.

Windows-first distribution

The packaged Windows download is the main user path for non-terminal users, while source install remains available for contributors.

GitHub stays the source of truth

Code, issues, release notes, and prereleases live in GitHub. This site exists to make the entry point clearer, not to replace the repo.

FAQ

Quick answers before you download.

Does it replace Power BI tooling?

No. It is a focused local utility for analysis and cleanup review around PBIR and TMDL projects.

Can I still run it from a terminal?

Yes. The CLI and local web app remain supported for source users and contributors.

Should I use beta builds?

Use a disposable copy for evaluation. Safe means no supported scanned metadata requires the item in the selected scope; Power BI runtime behavior is not verified by static analysis.