Metadata-Version: 2.4
Name: mastr-models
Version: 0.3.2
Summary: Read MaStR XML files and map them to Pydantic models.
Requires-Python: >=3.10.5
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic~=2.10.4
Requires-Dist: xsdata[cli,lxml,soap]~=25.7
Requires-Dist: strenum~=0.4.15
Requires-Dist: loguru~=0.7.3
Provides-Extra: orm
Requires-Dist: pymysql~=1.1.1; extra == "orm"
Requires-Dist: sqlalchemy~=2.1.0b2; extra == "orm"
Requires-Dist: geoalchemy2~=0.17.0; extra == "orm"
Dynamic: license-file


# `mastr-models`: Pydantic and SQLAlchemy models for Marktstammdatenregister (MaStR) data

Read MaStR XML files and map them to Pydantic models.

![MaStR official models](./img/models.png)

![How MaStR units connects to grids](./img/connection.png)

## Set up Python development environment

```console
uv sync  --all-groups --extra orm
```

## Generate Python dataclass from MaStR XML Schema

```console
xsdata generate --package mastr_models.v25_2 --union-type 'data/MaStR_xsd_25.2/'
```
