Skip to main content

A tool for managing Power BI Enhanced Report Format (PBIR) projects

Project description

pbir-utils logo

PyPI version Python CI License: MIT

pbir-utils is a Python library designed to streamline the tasks that Power BI developers typically handle manually in Power BI Desktop. This module offers a range of utility functions to efficiently manage and manipulate PBIR (Power BI Enhanced Report Format) metadata.

📚 Documentation

View Full Documentation →

📦 Installation

# Using pip
pip install "pbir-utils[ui]"

# Using uv
uv add "pbir-utils[ui]"

🚀 Quick Start

CLI

# Launch interactive web UI (alias: pbir-utils serve)
pbir-utils ui

# Sanitize a report (dry-run to preview changes)
pbir-utils sanitize "C:\Reports\MyReport.Report" --dry-run

# Validate a report against rules
pbir-utils validate "C:\Reports\MyReport.Report"

# Extract metadata to CSV
pbir-utils extract-metadata "C:\Reports\MyReport.Report"

# Visualize report wireframes
pbir-utils visualize "C:\Reports\MyReport.Report"

Python API

import pbir_utils as pbir

# Sanitize a report
pbir.sanitize_powerbi_report(r"C:\Reports\MyReport.Report", actions=["remove_unused_measures", "standardize_pbir_folders"])

✨ Features

  • 💻 CLI Support: Access all utilities directly from the command line
  • 🌐 Web UI: Interactive browser-based interface for reports and actions
  • ⚙️ CI/CD Integration: Validate reports in pipelines before deployment
  • ✅ Validate Reports: Rule-based validation with custom expressions
  • 📄 Extract Metadata: Retrieve key metadata from PBIR files
  • 🖼️ Wireframe Visualizer: Visualize PBIR report layout
  • 🧼 Sanitize Reports: Clean up and optimize reports with YAML configuration
  • ⛔ Disable Interactions: Bulk disable interactions
  • 🧹 Manage Measures: Remove unused measures, analyze dependencies
  • 🔍 Filter Management: Update and sort report-level filters
  • 📂 Standardize Folder Names: Organize page and visual folders

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

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

pbir_utils-2.5.2.tar.gz (212.1 kB view details)

Uploaded Source

Built Distribution

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

pbir_utils-2.5.2-py3-none-any.whl (145.6 kB view details)

Uploaded Python 3

File details

Details for the file pbir_utils-2.5.2.tar.gz.

File metadata

  • Download URL: pbir_utils-2.5.2.tar.gz
  • Upload date:
  • Size: 212.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pbir_utils-2.5.2.tar.gz
Algorithm Hash digest
SHA256 e284bf9762bf276e49233cf7409fe2da0ecec98270168a0a97c48be82de075ec
MD5 296ad0622f9053c3876d5db4afdeb45e
BLAKE2b-256 6973bc8ed92c4b2067c235ab85a95c8ccaae26b94fa15186f1927f834b725423

See more details on using hashes here.

File details

Details for the file pbir_utils-2.5.2-py3-none-any.whl.

File metadata

  • Download URL: pbir_utils-2.5.2-py3-none-any.whl
  • Upload date:
  • Size: 145.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pbir_utils-2.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 62792d2cc09ccb5c50e69c6a6aef689743a26755d08bc07dceb3e5ae6de77e53
MD5 bc716722f34e4dc12700dc016be669f3
BLAKE2b-256 155107312f7612c4dd5319823dbe9410654775914be0dce8d6e01bab0a2c22d6

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