Skip to main content

Power BI lexer, parsers, and formatters for DAX and M (Power Query) languages

Project description

Overview

PyPI Downloads Python Coverage Status Repo Size FOSSA Status FOSSA Status

Based on Crafting Interpreters. Library provides lexers, parsers, and formatters for DAX and Power Query (M) languages. Designed to support code introspection and analysis, not execution. This enables developement of ruff-equivalent tools for DAX and Power Query. It also enables extracting metadata from DAX and Power Query code, such PQ source types (Excel, SQL, etc.) and DAX lineage dependencies.

For more information, see the docs

Installation

python -m pip install pbi_parsers

Dev Instructions

Set Up

python -m venv venv
venv\Scripts\activate
python -m pip install .
pre-commit install

Running the Documentation Server

python -m pip install .[docs]
mkdocs serve -f docs/mkdocs.yml

Deploy docs to Github Pages

mkdocs  gh-deploy --clean -f docs/mkdocs.yml

Testing

pip install -e .

Build Wheel

python -m build .

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

pbi_parsers-0.8.3.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

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

pbi_parsers-0.8.3-py3-none-any.whl (68.5 kB view details)

Uploaded Python 3

File details

Details for the file pbi_parsers-0.8.3.tar.gz.

File metadata

  • Download URL: pbi_parsers-0.8.3.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pbi_parsers-0.8.3.tar.gz
Algorithm Hash digest
SHA256 7961aca7502c04988d3c06a06dd574288c85b6be2fe0500b43f3a4b5c326ba4f
MD5 1397178091ff70991fe824c728a5646b
BLAKE2b-256 cdb46ea2dec18fb4f73348ffa1e9ae6b19005d5af60fb6bb213fed4b7bc0d61c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pbi_parsers-0.8.3.tar.gz:

Publisher: deploy.yml on douglassimonsen/pbi_parsers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pbi_parsers-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: pbi_parsers-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 68.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pbi_parsers-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 89e199f1bb0bff411a0b4da58588aa834c6e99e1363a059b50e0d13fbd302138
MD5 1b73313b0b8651ef42ee9c2fef6382e1
BLAKE2b-256 fb3daa15d8818bec11d0b994d3369fc0ad4c58766b8a72b1c34f732688cfd375

See more details on using hashes here.

Provenance

The following attestation bundles were made for pbi_parsers-0.8.3-py3-none-any.whl:

Publisher: deploy.yml on douglassimonsen/pbi_parsers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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