Skip to main content

Professional CLI tool for comparing Power BI TMDL and PBIP project files with semantic diff.

Project description

🚀 TMDL Diff CLI

Stop hunting for broken visuals. Start comparing.

tmdl-diff is a high-level semantic comparison tool for Power BI developers. It compares TMDL (Tabular Model Definition Language) and PBIP (Power BI Project) files to instantly identify structural changes that break reports.

Whether you renamed a measure, changed a table structure, or modified a calculation, this tool saves hours of manual checking by showing you exactly what changed at the CLI level.

✨ Key Value

  • Visual Integrity: Quickly see if a structural change (like a rename) will impact your report visuals.
  • Semantic Diff: Goes beyond text comparison to understand Tables, Measures, and Columns.
  • CLI Speed: No need to open heavy PBIX files just to see what's different between versions.
  • Live Detection: Identify and inspect open Power BI Desktop instances on your machine.

📦 Installation

Install directly from PyPI (once published):

pip install tmdl-diff

Or install locally for development:

git clone https://github.com/your-username/tmdl-diff.git
cd tmdl-diff
pip install -e .

🚀 Quick Usage

1. Compare two Project Files (.pbip)

The most common way to compare two versions of a model:

tmdl-diff diff version1.pbip version2.pbip

2. List Open Instances & Files

See what Power BI models are currently running or available in your folder:

tmdl-diff list

3. Interactive Comparison

Don't remember the filenames? Use the interactive picker:

tmdl-diff compare

4. Direct TMDL Comparison

Compare raw .tmdl files exported from Tabular Editor or Power BI:

tmdl-diff diff table1.tmdl table2.tmdl

🛠️ How it works

  1. PBIP Parsing: Recursively scans .SemanticModel folders for TMDL definitions.
  2. Semantic Analysis: Groups changes by Table, Measure, and Relationship.
  3. Smart Formatting: Provides a color-coded, high-level summary of additions, deletions, and modifications.

📄 License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tmdl_diff-1.0.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tmdl_diff-1.0.1-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file tmdl_diff-1.0.1.tar.gz.

File metadata

  • Download URL: tmdl_diff-1.0.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for tmdl_diff-1.0.1.tar.gz
Algorithm Hash digest
SHA256 62f070db470632e959139e0c5b13f2ecfe8e98ac05b10c1b2c75e8ae11598e62
MD5 ee1d3189c289353b2573c483f5dd736a
BLAKE2b-256 19c319d334d847f73516bdda983c8de22063d3db9f788d416355a9a0b3798f04

See more details on using hashes here.

File details

Details for the file tmdl_diff-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: tmdl_diff-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for tmdl_diff-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 26b1cc159a32fac3d76d852dc68de248675ef37493395f0963569b01a6bb91ba
MD5 e994c3ecb089538128a6821a9d4f0cf1
BLAKE2b-256 a3bd9d0e0bb900c4cf8217902b6bc9d333338cdd3dc6dbced5fd5c2c0b7e2315

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page