Metadata-Version: 2.4
Name: pbi_parsers
Version: 0.7.19
Summary: Power BI lexer, parsers, and formatters for DAX and M (Power Query) languages
Requires-Python: >=3.11.0
Requires-Dist: jinja2>=3.1.6
Provides-Extra: dev
Requires-Dist: build>=1.2.2; extra == 'dev'
Requires-Dist: pre-commit>=3.8.0; extra == 'dev'
Requires-Dist: ruff>=0.12.7; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.6.16; extra == 'docs'
Requires-Dist: mkdocs>=1.6.1; extra == 'docs'
Requires-Dist: mkdocstrings-python>=0.30.0; extra == 'docs'
Description-Content-Type: text/markdown

# Overview

Based on [Crafting Interpreters](https://timothya.com/pdfs/crafting-interpreters.pdf). 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](https://github.com/astral-sh/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](https://douglassimonsen.github.io/pbi_parsers/)

# Installation

```shell
python -m pip install pbi_parsers
```

# Dev Instructions


## Set Up

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


# Running the Documentation Server

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

## Deploy docs to Github Pages

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

## Testing

```shell

pip install -e .
```

# Build Wheel

```shell
python -m build .
```