<img src="https://raw.githubusercontent.com/Hochfrequenz/ahlbatross/main/ahlbatross.png" alt="ahlbatross.png">

# AHlBatross

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?labelColor=30363D&color=fccccc)](LICENSE)
![Pypi status badge](https://img.shields.io/pypi/v/ahlbatross?labelColor=30363D&color=fccccc)
![Python Versions (officially) supported](https://img.shields.io/pypi/pyversions/ahlbatross.svg?labelColor=30363D&color=fccccc)

![Unittests status badge](https://github.com/Hochfrequenz/ahlbatross/workflows/Unittests/badge.svg)
![Coverage status badge](https://github.com/Hochfrequenz/ahlbatross/workflows/Coverage/badge.svg)
![Pylint status badge](https://github.com/Hochfrequenz/ahlbatross/workflows/Linting/badge.svg)
![Formatting status badge](https://github.com/Hochfrequenz/ahlbatross/workflows/Formatting/badge.svg)

Tool for automatic AHB comparison of consecutive `Formatversionen`. Highlighted changes between `PruefIDs` of various 
`Nachrichtenformate` are provided by already formatted `.xlsx` files or raw `.csv` files located inside the 
[machine-readable-anwendungshandbücher](https://github.com/Hochfrequenz/machine-readable_anwendungshandbuecher/tree/main/diff) 
repository.

<img src="https://raw.githubusercontent.com/Hochfrequenz/ahlbatross/main/output.png" alt="output.png">

## Installation
Install this package from [PyPI](https://pypi.org/project/ahlbatross/) using

```shell
pip install ahlbatross
```

## Development Setup

To set up the python development environment, install the required dependencies via

```shell
$ tox -e dev
```

For local testing and code quality maintenance, run 

```shell
tox
```

Check out our [Python Template Repository](https://github.com/Hochfrequenz/python_template_repository#how-to-use-this-repository-on-your-machine) 
for detailed descriptions and step-by-step instructions.

### Release Workflow / CD
To publish a new version of this library on PyPI [create a new release](https://github.com/Hochfrequenz/ahlbatross/releases/new).
Use semantic versioning with leading `v`, e.g. `v1.2.3` and please include at least the autogenerated release notes.

## Contribute

Feel free to contribute to this project by opening a pull request against the main branch.
