open-mastr

open-mastr: A Python Package to Download and Process the German Energy Registry Marktstammdatenregister - Published in JOSS (2024)

https://github.com/openenergyplatform/open-mastr

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    2 of 30 committers (6.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

dataset datasets energy energy-data marktstammdatenregister oep open-energy-family python solar

Scientific Fields

Political Science Social Sciences - 90% confidence
Last synced: 4 months ago · JSON representation ·

Repository

A Python Package to Download and Process the German Power Plant and Energy System Registry Marktstammdatenregister (MaStR)

Basic Info
Statistics
  • Stars: 104
  • Watchers: 7
  • Forks: 24
  • Open Issues: 35
  • Releases: 19
Topics
dataset datasets energy energy-data marktstammdatenregister oep open-energy-family python solar
Created over 6 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.rst

.. image:: https://raw.githubusercontent.com/OpenEnergyPlatform/open-MaStR/refs/heads/production/docs/images/README_HeaderThreePartners.svg
    :align: left
    :target: https://github.com/OpenEnergyPlatform/open-MaStR
    :alt: MaStR logo

==========
open-mastr
==========

**A package that provides an interface for downloading and processing the Marktstammdatenregister (MaStR)**

.. list-table::
   :widths: 10, 50

   * - License
     - |badge_license|
   * - Documentation
     - |badge_rtd|
   * - Tests
     - |badge_ci|
   * - Publication
     - |badge_pypi| |badge_joss|
   * - Data Publication
     - |badge_zenodo|
   * - Development
     - |badge_issue_open| |badge_issue_closes| |badge_pr_open| |badge_pr_closes|
   * - Community
     - |badge_contributing| |PyPI download month| |Total PyPI downloads|
   

.. contents::
    :depth: 2
    :local:
    :backlinks: top

Introduction
============

The `Marktstammdatenregister (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.

The MaStR data can be
 
#. browsed and filtered `online `_
#. taken from `daily provided dumps `_
#. be accessed via the `web service `_

| The python package ``open-mastr`` provides an interface for accessing the data. 
| It contains methods to download and parse the xml files (bulk) and the SOAP web service (API).
| In this repository we are developing methods to analyze, validate and enrich the data.
| We want to collect and compile post processing scripts to improve data quality.


Documentation
=============

| The documentation is in `Material for Mkdocs `_ markdown format in the ``doc`` sub-folder of the repository.
| Find the `documentation `_ hosted on ReadTheDocs.

| The original API documentation can be found on the `Webhilfe des Marktstammdatenregisters `_.


Installation
============

| It is recommended to use a virtual python environment, for example `conda `_ or `virtualenv `_.
| The package is intended to be used with ``Python >=3.8``.


PyPI
----

Install the current release of ``open-mastr`` with ``pip``:

.. code-block:: python

    pip install open-mastr

GitHub
------

For development, clone this repository manually.

.. code-block:: python

    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]"


Examples of Usage
==================
These projects already use open-mastr:

- `PV- und Windflächenrechner `_
- `Wasserstoffatlas `_
- `EE-Status App `_
- `Digiplan Anhalt `_
- `Data Quality Assessment of the MaStR `_
- `EmPowerPlan `_
- `Goal100 Monitor `_

If you want to see your project in this list, write an  
`Issue `_ or add
changes in a `Pull Request `_.

External Resources
===================
Besides open-mastr, some other resources exist that ease the process of working with the Marktstammdatenregister:
- If you are interested in browsing the MaStR online, check out the github organisation `Marktstammdatenregister.dev `_.
- The `bundesAPI/Marktstammdaten-API `_ is another implementation to access data via an official API.

Collaboration
=============
| Everyone is invited to develop this repository with good intentions.
| Please follow the workflow described in the `CONTRIBUTING.md `_.


License and Citation
====================

Software
--------

| This repository is licensed under the **GNU Affero General Public License v3.0 or later** (AGPL-3.0-or-later).
| See `LICENSE.md `_ for rights and obligations.
| See the *Cite this repository* function or `CITATION.cff `_ for citation of this repository.
| Copyright: `open-MaStR `_ © `Reiner Lemoine Institut `_ © `fortiss `_ © `OFFIS `_  | `AGPL-3.0-or-later `_

Data
----
| The data has the license **Datenlizenz Deutschland – Namensnennung – Version 2.0** (DL-DE-BY-2.0)
| Copyright: `Marktstammdatenregister `_ - © Bundesnetzagentur für Elektrizität, Gas, Telekommunikation, Post und Eisenbahnen | `DL-DE-BY-2.0 `_


.. |badge_license| image:: https://img.shields.io/github/license/OpenEnergyPlatform/open-MaStR
    :target: LICENSE.txt
    :alt: License

.. |badge_rtd| image:: https://readthedocs.org/projects/open-mastr/badge/?style=flat
    :target: https://open-mastr.readthedocs.io/en/latest/
    :alt: Read the Docs

.. |badge_ci| image:: https://github.com/OpenEnergyPlatform/open-MaStR/actions/workflows/ci-production.yml/badge.svg
    :target: https://github.com/OpenEnergyPlatform/open-MaStR/actions?query=workflow%3ACI
    :alt: GitHub Actions

.. |badge_pypi| image:: https://img.shields.io/pypi/v/open-mastr.svg
    :target: https://pypi.org/project/open-mastr/
    :alt: PyPI

.. |badge_zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6807426.svg
    :target: https://doi.org/10.5281/zenodo.6807425
    :alt: zenodo

.. |badge_issue_open| image:: https://img.shields.io/github/issues-raw/OpenEnergyPlatform/open-MaStR
    :alt: open issues

.. |badge_issue_closes| image:: https://img.shields.io/github/issues-closed-raw/OpenEnergyPlatform/open-MaStR
    :alt: closes issues

.. |badge_pr_open| image:: https://img.shields.io/github/issues-pr-raw/OpenEnergyPlatform/open-MaStR
    :alt: closes issues

.. |badge_pr_closes| image:: https://img.shields.io/github/issues-pr-closed-raw/OpenEnergyPlatform/open-MaStR
    :alt: closes issues

.. |badge_contributing| image:: https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat
    :alt: contributions
    
.. |PyPI download month| image:: https://img.shields.io/pypi/dm/open-mastr?label=PyPi%20Downloads
    :target: https://pypistats.org/packages/open-mastr

.. |Total PyPI downloads| image:: https://static.pepy.tech/badge/open-mastr
    :target: https://pepy.tech/project/open-mastr

.. |badge_joss| image:: https://joss.theoj.org/papers/dc0d33e7dc74f7233e15a7b6fe0c7a3e/status.svg
    :target: https://joss.theoj.org/papers/dc0d33e7dc74f7233e15a7b6fe0c7a3e


Owner

  • Name: Open Energy Family
  • Login: OpenEnergyPlatform
  • Kind: organization
  • Location: Magdeburg, Germany

The Open Energy Family and Open Energy Platform

JOSS Publication

open-mastr: A Python Package to Download and Process the German Energy Registry Marktstammdatenregister
Published
August 27, 2024
Volume 9, Issue 100, Page 6758
Authors
Florian Kotthoff ORCID
OFFIS Institute for Information Technology, Escherweg 2, 26121 Oldenburg, Germany, fortiss, Research Institute of the Free State of Bavaria, Guerickestraße 25, 80805 München, Germany
Christoph Muschner ORCID
Reiner Lemoine Institut gGmbH, Rudower Chaussee 12, 12489 Berlin, Germany
Deniz Tepe ORCID
fortiss, Research Institute of the Free State of Bavaria, Guerickestraße 25, 80805 München, Germany
Guido Pleßmann ORCID
Reiner Lemoine Institut gGmbH, Rudower Chaussee 12, 12489 Berlin, Germany
Ludwig Hülk ORCID
Reiner Lemoine Institut gGmbH, Rudower Chaussee 12, 12489 Berlin, Germany
Editor
Antonia Mey ORCID
Tags
energy dataset Germany energy system

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it using these metadata."
authors:
  - family-names: "Hülk"
    given-names: "Ludwig"
    alias: "@Ludee"
    affiliation: "Reiner Lemoine Institut"
    orcid: "https://orcid.org/0000-0003-4655-2321"
  - family-names: "Pleßmann"
    given-names: "Guido"
    alias: "@gplssm"
    affiliation: "Reiner Lemoine Institut"
  - family-names: "Muschner"
    given-names: "Christoph"
    alias: "@chrwm"
    affiliation: "Reiner Lemoine Institut"
    orcid: " https://orcid.org/0000-0001-8144-5260"
  - family-names: "Kotthoff"
    given-names: "Florian"
    alias: "@FlorianK13"
    affiliation: "fortiss"
    orcid: " https://orcid.org/0000-0003-3666-6122"
  - family-names: "Tepe"
    given-names: "Deniz"
    alias: "@deniztepe"
    affiliation: "fortiss"
    orcid: " https://orcid.org/0000-0002-7605-0173"
  - family-names: "Amme"
    given-names: "Jonathan"
    alias: "@nesnoj"
    affiliation: "Reiner Lemoine Institut"
    orcid: " https://orcid.org/0000-0002-8563-5261"
  - family-names: "Imbrisca"
    given-names: "Alexandra-Andreea"
    alias: "@AlexandraImbrisca"
    affiliation: "Technical University of Munich"
  - family-names: 'Krämer'
    given-names: "Kevin"
    alias: "pt-kkraemer"
    affiliation: "ProjectTogether gGmbH"  
title: "open-MaStR"
type: software
license: AGPL-3.0
version: 0.15.0
doi: 
date-released: 2025-04-19
url: "https://github.com/OpenEnergyPlatform/open-MaStR/"

GitHub Events

Total
  • Create event: 18
  • Release event: 1
  • Issues event: 58
  • Watch event: 19
  • Delete event: 14
  • Issue comment event: 175
  • Push event: 62
  • Pull request review comment event: 17
  • Pull request event: 33
  • Pull request review event: 48
  • Fork event: 5
Last Year
  • Create event: 18
  • Release event: 1
  • Issues event: 58
  • Watch event: 19
  • Delete event: 14
  • Issue comment event: 175
  • Push event: 62
  • Pull request review comment event: 17
  • Pull request event: 33
  • Pull request review event: 48
  • Fork event: 5

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 2,034
  • Total Committers: 30
  • Avg Commits per committer: 67.8
  • Development Distribution Score (DDS): 0.716
Past Year
  • Commits: 149
  • Committers: 4
  • Avg Commits per committer: 37.25
  • Development Distribution Score (DDS): 0.638
Top Committers
Name Email Commits
Florian Kotthoff f****f@p****e 578
Guido Pleßmann g****n@r****e 417
Ludee L****k@r****e 327
chrwm c****r@r****e 242
Deniz Tepe d****2@g****m 135
nesnoj j****e@r****e 69
Bachibouzouk p****c@r****e 67
solar-c 49
AlexandraImbrisca a****6@g****m 45
solar-c s****c 16
jadeaffenjaeger e****r@r****e 14
Bachibouzouk p****c@r****e 12
Benjamin W. Portner b****r@b****t 10
Jonas Hoersch j****s@c****t 7
Grazvy k****s@f****g 7
Grazvy 7****y 6
oakca o****a@g****m 5
Kevin Krämer k****r@p****g 4
Christian Hofmann c****n@r****e 3
Johann150 j****e@p****m 3
Oskar.Oetken o****n@r****e 3
wok77 9****7 2
Guido Pleßmann R****n@p****l 2
solar-c 2
stap-m 3****m 2
izzet kilicarslan i****n@r****e 2
Florian Maurer m****r@f****e 2
Guido Pleßmann R****n@s****l 1
Leonhard Markert c****o 1
steull s****u@g****m 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 371
  • Total pull requests: 323
  • Average time to close issues: 4 months
  • Average time to close pull requests: 16 days
  • Total issue authors: 46
  • Total pull request authors: 23
  • Average comments per issue: 2.08
  • Average comments per pull request: 0.89
  • Merged pull requests: 271
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 53
  • Pull requests: 55
  • Average time to close issues: 17 days
  • Average time to close pull requests: 8 days
  • Issue authors: 14
  • Pull request authors: 5
  • Average comments per issue: 2.15
  • Average comments per pull request: 2.22
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • FlorianK13 (115)
  • gplssm (62)
  • Ludee (53)
  • nesnoj (32)
  • chrwm (29)
  • deniztepe (17)
  • kknappmann (4)
  • AhmadShelbayeh (4)
  • jadeaffenjaeger (4)
  • cpschau (3)
  • tomfelder94 (3)
  • Bachibouzouk (3)
  • sehHeiden (3)
  • pt-kkraemer (3)
  • ghost (2)
Pull Request Authors
  • FlorianK13 (103)
  • chrwm (42)
  • nesnoj (35)
  • Ludee (33)
  • gplssm (32)
  • deniztepe (22)
  • Bachibouzouk (22)
  • pt-kkraemer (5)
  • AlexandraImbrisca (4)
  • solar-c (4)
  • maurerle (4)
  • BenPortner (3)
  • spacebuoyed (2)
  • wok77 (2)
  • github-actions[bot] (2)
Top Labels
Issue Labels
:bug: bug (100) :rocket: feature (91) :book: documentation (53) :open_hands: help wanted (37) :grey_question: question (19) :boom: testing (13) :scissors: post processing (10) :arrow_down_small: low prio (7) duplicate (3) user (3) good first issue (3) :rocket: release (2) :recycle: refactor (1) :rotating_light: wontfix (1)
Pull Request Labels
:rocket: feature (30) :book: documentation (26) :bug: bug (14) :boom: testing (8) :rocket: release (6) :open_hands: help wanted (4) :recycle: refactor (1) :scissors: post processing (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 3,766 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 61
  • Total maintainers: 1
proxy.golang.org: github.com/openenergyplatform/open-mastr
  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 1.6%
Average: 4.1%
Dependent packages count: 6.5%
Last synced: 4 months ago
proxy.golang.org: github.com/OpenEnergyPlatform/open-MaStR
  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 4 months ago
pypi.org: open-mastr

A package that provides an interface for downloading and processing the data of the Marktstammdatenregister (MaStR)

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,766 Last month
Rankings
Dependent packages count: 7.3%
Stargazers count: 8.5%
Forks count: 10.6%
Downloads: 18.4%
Average: 22.6%
Dependent repos count: 68.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/test-pypi-publish.yml actions
  • actions/checkout master composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/ci-develop.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/ci-production.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/pypi-publish.yml actions
  • actions/checkout master composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
scripts/docker-compose.yml docker
  • postgres 12-postgis
docs/requirements.txt pypi
  • m2r2 *
  • sphinx <7
  • sphinx-rtd-theme *
  • sphinx-tabs *
postprocessing/requirements_pp.txt pypi
  • bokeh *
  • geoalchemy2 *
  • geopandas *
  • geoviews ==1.6.3
  • jupyterlab *
  • matplotlib *
  • multiprocess *
  • numpy *
  • oedialect *
  • pandas *
  • psycopg2-binary *
  • pygeos *
  • pyshp *
  • python-dateutil *
  • shapely *
  • sqlalchemy ==1.3.19
  • upsetplot *
setup.py pypi
  • beautifulsoup4 *
  • keyring *
  • numpy *
  • pandas >=1.4
  • psycopg2-binary *
  • pyyaml *
  • requests *
  • sqlalchemy *
  • tqdm *
  • xmltodict *
  • zeep *
tests/test_requirements.txt pypi
  • flake8 * test
  • pandas * test
  • pylint * test
  • pytest * test
  • pytest-dependency * test
environment.yml pypi
postprocessing/environment.yml pypi
scripts/map_checker/requirements.txt pypi
  • GeoAlchemy2 *
  • SQLAlchemy *
  • customtkinter *
  • geopandas *
  • matplotlib *
  • numpy *
  • pandas *
  • psycopg2 *
  • pyproj *
  • tkintermapview *