Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ authors:
- family-names: "Kotthoff"
given-names: "Florian"
alias: "@FlorianK13"
affiliation: "fortiss"
affiliation: "OFFIS e.V. - Institute for Informatics"
orcid: "https://orcid.org/0000-0003-3666-6122"
- family-names: "Tepe"
given-names: "Deniz"
Expand All @@ -42,10 +42,31 @@ authors:
given-names: "Simon"
alias: "@Simon-Will"
affiliation: ""
identifiers:
- type: swh
value: 'swh:1:dir:28252b3ca57b56d22be851bad576b6748af2e171'
description: Software Heritage archive identifier
title: "open-MaStR"
type: software
license: AGPL-3.0
version: 0.17.1
doi:
abstract: >-
The Python Package open-mastr provides an interface for
accessing and cleaning the German Energy Unit dataset
called Marktstammdatenregister (MaStR). The MaStR is a
central registry with detailed information about renewable
and conventional power plants in the German energy system.
open-mastr enables the creation and updating of a local
database of the entire registry, as well as processing the
data for further evaluation. Ultimately, the package
offers methods to reduce the registry's parsing time and
thus enables energy system researchers to start working
with the entire dataset right away.
keywords:
- python
- Marktstammdatenregister
- Energy System
- Energy System Data
- Open Data
date-released: 2026-04-13
url: "https://github.com/OpenEnergyPlatform/open-MaStR/"
38 changes: 14 additions & 24 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,14 @@ open-mastr
.. list-table::
:widths: 10, 50

* - License
- |badge_license|
* - Documentation
- |badge_rtd|
* - Tests
- |badge_ci|
* - General
- |badge_license| |badge_rtd| |badge_ci|
* - Publication
- |badge_pypi| |badge_joss|
* - Data Publication
- |badge_zenodo|
* - Software Archive
- |badge_software_heritage|
* - Development
- |badge_issue_open| |badge_issue_closes| |badge_pr_open| |badge_pr_closes|
* - Community
Expand All @@ -37,15 +35,15 @@ open-mastr
Introduction
============

The python package ``open-mastr`` provides an interface for accessing the `Marktstammdatenregister (MaStR) <https://www.marktstammdatenregister.de/MaStR>`_ data. The MaStR is a German register provided by the German Federal Network Agency (Bundesnetzagentur / BNetza) that keeps track of all power and gas units located in Germany. It is a daily growing dataset with millions of data points covering electricity and gas production units, electricity and gas consumers, storages, grids, and energy market participants.
The Python package ``open-mastr`` provides an interface for accessing the `Marktstammdatenregister (MaStR) <https://www.marktstammdatenregister.de/MaStR>`_ data. The MaStR is a German register provided by the German Federal Network Agency (Bundesnetzagentur / BNetza) that keeps track of all power and gas units located in Germany. It is a daily growing dataset with millions of data points covering electricity and gas production units, electricity and gas consumers, storages, grids, and energy market participants.

Generally, and besides the offerings of ``open-mastr``, the MaStR data can be accessed via three main options:

#. browse, filter and download `in the browser <https://www.marktstammdatenregister.de/MaStR>`_
#. download `daily provided dumps <https://www.marktstammdatenregister.de/MaStR/Datendownload>`_
#. access via the `web service <https://www.marktstammdatenregister.de/MaStRHilfe/subpages/webdienst.html>`_

These access options, however, are not exactly frictionless. ``open-mastr`` thus provides an interface for and improved developer experience of accessing the data. This project is intended for individuals who wish to "just work" with the MaStR data and who do not want to deal with the idiosyncrasies of the three access options above.
These access options, however, are not exactly frictionless. ``open-mastr`` thus provides an improved developer experience for accessing the data. This project is intended for individuals who wish to "just work" with the MaStR data and who do not want to deal with the idiosyncrasies of the three access options above.

In particular, ``open-mastr`` facilitates access to the daily provided MaStR dumps with download methods (bulk) and by parsing the XML files to a relational database. Furthermore, the software provides a Python wrapper to access the MaStR SOAP web service (API).

Expand All @@ -64,10 +62,10 @@ Benefits provided by ``open-mastr``
- Description
* - Data download and parsing
- Download, decode, and write data to a local database
* - Speed and parallelization
- Download and parse tables in seconds, not minutes
* - Translation to English
- Translate table names and columns from German to English as well as an English documentation page of the dataset
* - Data processing
- Merge relevant information about different technologies to single csv files

**Just here for the data?**
We regularly run the whole download and cleansing pipeline and upload the dataset as csv files at `zenodo <https://doi.org/10.5281/zenodo.6807425>`_!
Expand All @@ -86,7 +84,6 @@ Installation
============

| It is recommended to use a virtual python environment, for example `conda <https://docs.conda.io/en/latest/miniconda.html>`_ or `virtualenv <https://virtualenv.pypa.io/en/latest/installation.html>`_.
| The package is intended to be used with ``Python >=3.8``.


PyPI
Expand All @@ -108,17 +105,11 @@ For development, clone this repository manually.
git clone git@github.com:OpenEnergyPlatform/open-MaStR.git
cd open-MaStR

Setup the conda environment with

.. code-block:: python

conda env create -f environment.yml

Install the package with

.. code-block:: python

pip install "open_mastr[dev]"
pip install -e .[dev]


Examples of Usage
Expand All @@ -133,15 +124,10 @@ These projects already use open-mastr:
- `Goal100 Monitor <https://goal100.org/monitor>`_
- `Goal100 Studio <https://goal100.studio/>`_

If you want to see your project in this list, write an
If you want to see your project in this list, write an
`Issue <https://github.com/OpenEnergyPlatform/open-MaStR/issues>`_ or add
changes in a `Pull Request <https://github.com/OpenEnergyPlatform/open-MaStR/pulls>`_.

External Resources
===================
Besides open-mastr, some other resources exist that ease the process of working with the Marktstammdatenregister:

- The `bundesAPI/Marktstammdaten-API <https://github.com/bundesAPI/marktstammdaten-api>`_ is another implementation to access data via an official API.

Collaboration
=============
Expand Down Expand Up @@ -210,4 +196,8 @@ Data
.. |badge_joss| image:: https://joss.theoj.org/papers/dc0d33e7dc74f7233e15a7b6fe0c7a3e/status.svg
:target: https://joss.theoj.org/papers/dc0d33e7dc74f7233e15a7b6fe0c7a3e

.. |badge_software_heritage| image:: https://archive.softwareheritage.org/badge/swh:1:dir:28252b3ca57b56d22be851bad576b6748af2e171/
:target: https://archive.softwareheritage.org/swh:1:dir:28252b3ca57b56d22be851bad576b6748af2e171;origin=https://github.com/OpenEnergyPlatform/open-MaStR;visit=swh:1:snp:8065d0931f826af24c57fae612c6a48e0fcb135b;anchor=swh:1:rev:430223ddf437ba2611fe9a38521e6549ff61e750