open-MaStR
Download and process German energy data from BNetzA database Marktstammdatenregister.
https://github.com/openenergyplatform/open-mastr
Category: Energy Systems
Sub Category: Energy Data Accessibility and Integration
Keywords
bnetza dataset datasets energy energy-data marktstammdatenregister oep open-energy-family python solar
Keywords from Contributors
energy-system ontology energy-system-model renewable-energy oemof climate-change sql-alchemy-bindings renewables grid modelling-framework
Last synced: about 11 hours ago
JSON representation
Repository metadata
A Python Package to Download and Process the German Power Plant and Energy System Registry Marktstammdatenregister (MaStR)
- Host: GitHub
- URL: https://github.com/openenergyplatform/open-mastr
- Owner: OpenEnergyPlatform
- License: agpl-3.0
- Created: 2019-08-21T14:11:11.000Z (almost 7 years ago)
- Default Branch: develop
- Last Pushed: 2026-08-03T12:19:38.000Z (11 days ago)
- Last Synced: 2026-08-06T17:59:59.087Z (7 days ago)
- Topics: bnetza, dataset, datasets, energy, energy-data, marktstammdatenregister, oep, open-energy-family, python, solar
- Language: Python
- Homepage: https://open-mastr.readthedocs.io/en/latest/
- Size: 35 MB
- Stars: 136
- Watchers: 8
- Forks: 33
- Open Issues: 53
- Releases: 23
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Citation: CITATION.cff
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
* - General
- |badge_license| |badge_rtd| |badge_ci|
* - Publication
- |badge_pypi| |badge_joss| |badge_zenodo_software_mirror|
* - Data Publication
- |badge_zenodo|
* - Software Archive
- |badge_software_heritage|
* - 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 Python package ``open-mastr`` provides an interface for accessing the `Marktstammdatenregister (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 `_
#. download `daily provided dumps `_
#. access via the `web service `_
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).
**Does open-mastr edit or change the MaStR data?**
No. ``open-mastr`` is a wrapper around the MaStR data and does not edit or change the data. It is intended to be used as a tool for working with the MaStR data.
Benefits provided by ``open-mastr``
===================================
.. list-table::
:widths: 30, 70
:header-rows: 1
* - Benefit
- Description
* - Data download and parsing
- Download, decode, and write data to a local database
* - Translation to English
- Translate table names and columns from German to English as well as an English documentation page of the dataset
* - Speed and parallelization
- Download and parse tables in seconds, not minutes
* - 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 `_!
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 `_.
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
Install the package with
.. code-block:: python
pip install -e .[dev]
Examples of Usage
==================
These projects already use open-mastr:
- `PV- und Windflächenrechner `_
- `Wasserstoffatlas `_
- `EE-Status App `_
- `Digiplan Anhalt `_
- `EmPowerPlan `_
- `Goal100 Monitor `_
- `Goal100 Studio `_
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:
- 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 original dataset is licensed under the **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.md
: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
.. |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
.. |badge_zenodo_software_mirror| image:: https://zenodo.org/badge/203598131.svg
:target: https://doi.org/10.5281/zenodo.21415387
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: "OFFIS e.V. - Institute for Informatics"
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"
- family-names: "Will"
given-names: "Simon"
alias: "@Simon-Will"
identifiers:
- type: swh
value: 'swh:1:dir:28252b3ca57b56d22be851bad576b6748af2e171'
description: Software Heritage archive identifier
title: 'open-MaStR'
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
type: software
license: AGPL-3.0
version: 0.17.4
doi: "https://doi.org/10.5281/zenodo.21415387"
date-released: 2026-07-17
url: "https://github.com/OpenEnergyPlatform/open-MaStR/"
Owner metadata
- Name: Open Energy Family
- Login: OpenEnergyPlatform
- Email:
- Kind: organization
- Description: The Open Energy Family and Open Energy Platform
- Website: https://github.com/OpenEnergyPlatform/organisation/blob/master/README.md
- Location: Magdeburg, Germany
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/37101913?v=4
- Repositories: 25
- Last ynced at: 2024-04-16T23:20:58.483Z
- Profile URL: https://github.com/OpenEnergyPlatform
GitHub Events
Total
- Release event: 3
- Delete event: 25
- Member event: 1
- Pull request event: 50
- Fork event: 6
- Issues event: 74
- Watch event: 31
- Issue comment event: 218
- Push event: 124
- Pull request review comment event: 28
- Pull request review event: 64
- Create event: 40
Last Year
- Release event: 2
- Delete event: 11
- Member event: 1
- Pull request event: 18
- Fork event: 1
- Issues event: 17
- Watch event: 14
- Issue comment event: 45
- Push event: 66
- Pull request review comment event: 11
- Pull request review event: 16
- Create event: 22
Committers metadata
Last synced: 1 day ago
Total Commits: 2,294
Total Committers: 36
Avg Commits per committer: 63.722
Development Distribution Score (DDS): 0.686
Commits in past year: 217
Committers in past year: 9
Avg Commits per committer in past year: 24.111
Development Distribution Score (DDS) in past year: 0.475
| Name | Commits | |
|---|---|---|
| Florian Kotthoff | f****f@p****e | 720 |
| 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 | 99 |
| Bachibouzouk | p****c@r****e | 67 |
| solar-c | 49 | |
| AlexandraImbrisca | a****6@g****m | 45 |
| Simon Will | g****r@g****e | 35 |
| Kevin Krämer | k****r@p****g | 30 |
| solar-c | s****c | 16 |
| Jakob Ortmann | j****n@g****m | 15 |
| 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 |
| fharook | f****5@g****m | 4 |
| philipp-c | p****p@c****u | 4 |
| Christian Hofmann | c****n@r****e | 3 |
| Johann150 | j****e@p****m | 3 |
| Aimmig | a****g@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 |
| and 6 more... | ||
Committer domains:
- rl-institut.de: 9
- next-kraftwerke.de: 1
- fh-aachen.de: 1
- clasen.eu: 1
- fortiss.org: 1
- chaoflow.net: 1
- bauhaus-luftfahrt.net: 1
- projecttogether.org: 1
- gorgor.de: 1
- rl-institute.de: 1
- posteo.de: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 422
Total pull requests: 368
Average time to close issues: 4 months
Average time to close pull requests: 18 days
Total issue authors: 56
Total pull request authors: 29
Average comments per issue: 2.2
Average comments per pull request: 1.05
Merged pull request: 294
Bot issues: 0
Bot pull requests: 2
Past year issues: 52
Past year pull requests: 43
Past year average time to close issues: 2 months
Past year average time to close pull requests: 27 days
Past year issue authors: 17
Past year pull request authors: 10
Past year average comments per issue: 2.25
Past year average comments per pull request: 1.93
Past year merged pull request: 20
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- FlorianK13 (140)
- gplssm (62)
- Ludee (54)
- nesnoj (40)
- chrwm (29)
- deniztepe (17)
- jadeaffenjaeger (4)
- kknappmann (4)
- pt-kkraemer (4)
- AhmadShelbayeh (4)
- tomfelder94 (3)
- Bachibouzouk (3)
- sehHeiden (3)
- Simon-Will (3)
- cpschau (3)
Top Pull Request Authors
- FlorianK13 (125)
- chrwm (42)
- nesnoj (40)
- Ludee (33)
- gplssm (32)
- deniztepe (22)
- Bachibouzouk (22)
- pt-kkraemer (9)
- Simon-Will (6)
- maurerle (5)
- AlexandraImbrisca (4)
- solar-c (4)
- kvnkrmr (3)
- BenPortner (3)
- wok77 (2)
Top Issue Labels
- :bug: bug (113)
- :rocket: feature (97)
- :book: documentation (56)
- :open_hands: help wanted (40)
- :grey_question: question (23)
- :boom: testing (16)
- :scissors: post processing (10)
- :arrow_down_small: low prio (9)
- :arrow_up_small: high prio (6)
- duplicate (5)
- :recycle: refactor (5)
- good first issue (5)
- :rocket: release (3)
- user (3)
- :rotating_light: wontfix (1)
Top Pull Request Labels
- :rocket: feature (33)
- :book: documentation (26)
- :bug: bug (16)
- :boom: testing (9)
- :rocket: release (7)
- :open_hands: help wanted (4)
- :scissors: post processing (1)
- :recycle: refactor (1)
Package metadata
- Total packages: 3
-
Total downloads:
- pypi: 29,484 last-month
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 82
- Total maintainers: 1
proxy.golang.org: github.com/openenergyplatform/open-mastr
- Homepage:
- Documentation: https://pkg.go.dev/github.com/openenergyplatform/open-mastr#section-documentation
- Licenses: agpl-3.0
- Latest release: v0.17.4 (published 27 days ago)
- Last Synced: 2026-08-12T22:36:18.045Z (1 day ago)
- Versions: 29
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 1.622%
- Average: 4.057%
- Dependent packages count: 6.492%
proxy.golang.org: github.com/OpenEnergyPlatform/open-MaStR
- Homepage:
- Documentation: https://pkg.go.dev/github.com/OpenEnergyPlatform/open-MaStR#section-documentation
- Licenses: agpl-3.0
- Latest release: v0.17.4 (published 27 days ago)
- Last Synced: 2026-08-12T22:32:05.343Z (1 day ago)
- Versions: 29
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
pypi.org: open-mastr
A package that provides an interface for downloading and processing the data of the Marktstammdatenregister (MaStR)
- Homepage: https://github.com/OpenEnergyPlatform/open-MaStR
- Documentation: https://open-mastr.readthedocs.io/
- Licenses: AGPL-3.0-or-later
- Latest release: 0.17.4 (published 27 days ago)
- Last Synced: 2026-08-12T22:36:12.032Z (1 day ago)
- Versions: 24
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 29,484 Last month
-
Rankings:
- Dependent packages count: 7.306%
- Stargazers count: 8.46%
- Forks count: 10.553%
- Downloads: 18.378%
- Average: 22.632%
- Dependent repos count: 68.466%
- Maintainers (1)
Dependencies
- actions/checkout master composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout master composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- m2r2 *
- sphinx <7
- sphinx-rtd-theme *
- sphinx-tabs *
- actions/checkout v4 composite
- actions/setup-node v4 composite
- peter-evans/create-pull-request v6 composite
- python 3.11
- keyring *
- numpy *
- pandas >=2.2.2
- psycopg2-binary *
- pyyaml *
- requests *
- sqlalchemy >=2.0
- tqdm *
- xmltodict *
- zeep *
Score: 19.116902891950357