Skip to content

Commit b29e233

Browse files
committed
wip
1 parent 1245ae1 commit b29e233

File tree

4 files changed

+56
-1
lines changed

4 files changed

+56
-1
lines changed

README.md

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,55 @@
11
# FUNDAMEND - Formate und DAtenModelle für die ENergiewirtschaft in Deutschland
22

3+
Dieses Repository enthält das Python-Paket `fundamend`.
34

4-
<!--- you need to replace the `organization/repo_name` in the status badge URLs --->
55
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
66
![Python Versions (officially) supported](https://img.shields.io/pypi/pyversions/fundamend.svg)
77
![Pypi status badge](https://img.shields.io/pypi/v/fundamend)
88
![Unittests status badge](https://github.com/Hochfrequenz/xml-fundamend-python/workflows/Unittests/badge.svg)
99
![Coverage status badge](https://github.com/Hochfrequenz/xml-fundamend-python/workflows/Coverage/badge.svg)
1010
![Linting status badge](https://github.com/Hochfrequenz/xml-fundamend-python/workflows/Linting/badge.svg)
1111
![Black status badge](https://github.com/Hochfrequenz/xml-fundamend-python/workflows/Formatting/badge.svg)
12+
13+
## Sinn und Zweck
14+
Seit 2024 bietet der BDEW (endlich) maschinenlesbare MIG- und AHB-Spezifikationen an, wo zuvor nur PDF oder Word-Dateien veröffentlicht wurden.
15+
Das ist ein wichtiger Schritt für eine echte Digitalisierung der Marktkommunikation im deutschen Energiemarkt.
16+
17+
Die nun maschinenlesbaren Informationen sind XML-basiert.
18+
19+
Dieses Repository enthält ein kleines Python-Paket, das die XML-Dateien einliest und als Python-Objekte zur Verfügung stellt, damit sich niemand mit XML herumschlagen muss.
20+
Das ist alles.
21+
22+
## Installation und Verwendung
23+
Das Paket ist auf PyPI verfügbar und kann mit pip installiert werden:
24+
```bash
25+
pip install fundamend
26+
```
27+
28+
```python
29+
from pathlib import Path
30+
from fundamend import MigReader, MessageImplementationGuide
31+
32+
# Angenommen, mig_utilts.xml enthält:
33+
# <?xml version="1.0" encoding="UTF-8"?>
34+
# <M_UTILTS Versionsnummer="1.1c"
35+
# Veroeffentlichungsdatum="24.10.2023"
36+
# Author="BDEW">
37+
# ...
38+
# </M_UTILTS>
39+
40+
reader = MigReader(Path("pfad/zur/mig_utils.xml"))
41+
mig = reader.read()
42+
assert isinstance(mig, MessageImplementationGuide)
43+
assert mig.format == "UTILTS"
44+
```
45+
46+
Aktuell (Version 0.1) können nur MIGs gelesen werden.
47+
Der AHB-Teil soll aber folgen.
48+
49+
## Verwendung und Mitwirken
50+
Der Code ist MIT-lizenziert und kann daher frei verwendet werden.
51+
Wir freuen uns über Pull Requests an den main-Branch dieses Repositories.
52+
53+
## Hochfrequenz
54+
Die [Hochfrequenz Unternehmensberatung GmbH](https://www.hochfrequenz.de) ist eine Beratung für Energieversorger im deutschsprachigen Raum.
55+
Wir arbeiten größtenteils remote, haben aber auch Büros in Berlin, Bremen, Leipzig, Köln und Grünwald und attraktive [Stellenangebote](https://www.hochfrequenz.de/index.php/karriere/aktuelle-stellenausschreibungen/full-stack-entwickler).

domain-specific-terms.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
# contains 1 lower case word per line which are ignored in the spell_check
22
autor
33
formate
4+
fundamend
5+
oder
6+
ist
7+
als

src/fundamend/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@
22
fundamend contains Formate und Datenmodelle für die Energiewirtschaft in Deutschland.
33
pip install xml-fundamend
44
"""
5+
from .models import MessageImplementationGuide
6+
from .reader import MigReader
7+
8+
__all__ = ["MigReader", "MessageImplementationGuide"]

src/fundamend/models/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
"""contains model classes representing MIGs and AHBs"""
2+
from .messageimplementationguide import MessageImplementationGuide
3+
4+
__all__ = ["MessageImplementationGuide"]

0 commit comments

Comments
 (0)