Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Python Library that consolidates Anwendungshandbücher (AHB) and Message Implementation Guides (MIG)
ℹ If you're looking for a wrapper around the new (2024) BDEW XMLs for MIG and AHB, checkout our fundamend <https://github.com/Hochfrequenz/xml-fundamend-python>
__ repository.
This maus package uses a different data format, because it's older than 2024.
| |Unittests status badge| |Coverage status badge| |Linting status badge| |Black status badge| |pypy status badge| |read the docs|
.. image:: https://raw.githubusercontent.com/Hochfrequenz/mig_ahb_utility_stack/main/docs/_static/maus-logo.png :target: https://mig-ahb-utility-stack.readthedocs.io/en/stable/api/maus.html :align: right :alt: maus logo :width: 150px
| This repository contains the Python package maus
.
| MAUS is an acronym for M\ IG A\ HB U\ tility S\ tack where MIG stands for M\ essage I\ mplementation G\ uide and AHB stands for A\ nwendungs\ h\ and\ b\ uch.
| The maus software/package allows matching single lines from the AHB with fields specified in the MIG.
| This package is necessary because EDI@Energy does not provide any real technical and machine-readable description of the MIGs and AHBs, only PDFs.
| MAUS can also be used as a data model (maus.model
) , without using the software or logic included in the package (MIG/AHB matching logic).
We're all hoping for the day of true digitization on which this repository will become obsolete.
Image you scraped the AHB PDFs into something machine-readable. Machine-readability in this context implies, that for each field/information inside the AHB you can easily access
SG4
")LOC
")3225
")Muss [123] U ([456] O [789])[904]
")The exact data format (be it CSV, JSON, XML ...) is not important beyond an initial deserialization.
(BTW: The AHB Expression can be parsed and evaluated using the 🦅 AHBicht Library <https://github.com/Hochfrequenz/ahbicht>
__ or our AHBicht REST API which is publicly available.)
Image you also had a machine-readable version of the MIG -- spoiler: Hochfrequenz can help you with that (please contact
@JoschaMetze <https://github.com/joschametze>
_ for a demo) -- you still weren't able to make use of your data because the MIG data and AHB data are still unrelated.
MAUS creates a connection between machine readable AHBs and machine readable MIGs.
This allows to associate certain lines from the AHB with certain fields in the MIG and is the basis for a meaningful content evaluation/validation of EDIFACT messages, or, to be more precise, validation of data structures that might be converted to EDIFACT.
MIT licensed <LICENSE>
__. ✔️few dependencies <requirements.in>
__. ✔️For the bare maus data model and matching logic it's sufficient to install :code:pip install maus
.
Only if the MIG you're using is based on XML (namely the Hochfrequenz XML based MIG representation), you need to install :code:pip install maus[xml]
.
If you want to use the CLI tool, you need to install :code:pip install maus[cli]
.
Once installed you can either use the package and its data model in your own Python code or use the mapping logic (of only the Hochfrequenz EDIFACT XML templates as of now) via CLI: :code:maus --flat_ahb_path flat_ahb_by_kohlrahbi.ahb.json --sgh_path path_to_segment_group_hierarchy.sgh.json --template_path UTILMD5.2e.template --output_path file_to_be_created.maus.json
. The CLI tool is not only available via pip but also as standalone executable in the respective release assets.
Please follow the detailed instructions in the README of our Python Template Repository <https://github.com/Hochfrequenz/python_template_repository#how-to-use-this-repository-on-your-machine>
__
on how to setup your local development environment (tl;dr: tox).
You are very welcome to contribute to this template repository by opening a pull request against the main branch.
.. |Unittests status badge| image:: https://github.com/Hochfrequenz/mig_ahb_utility_stack/workflows/Unittests/badge.svg .. |Coverage status badge| image:: https://github.com/Hochfrequenz/mig_ahb_utility_stack/workflows/Coverage/badge.svg .. |Linting status badge| image:: https://github.com/Hochfrequenz/mig_ahb_utility_stack/workflows/Linting/badge.svg .. |Black status badge| image:: https://github.com/Hochfrequenz/mig_ahb_utility_stack/workflows/Black/badge.svg .. |pypy status badge| image:: https://img.shields.io/pypi/v/maus .. |read the docs| image:: https://readthedocs.org/projects/mig-ahb-utility-stack/badge/?version=latest&style=flat
FAQs
Python Library that consolidates Anwendungshandbücher (AHB) and Message Implementation Guides (MIG)
We found that maus demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.