{"id":46727909,"url":"https://github.com/openenergyplatform/open-mastr","last_synced_at":"2026-04-03T00:02:28.691Z","repository":{"id":37773968,"uuid":"203598131","full_name":"OpenEnergyPlatform/open-MaStR","owner":"OpenEnergyPlatform","description":"A Python Package to Download and Process the German Power Plant and Energy System Registry Marktstammdatenregister (MaStR)","archived":false,"fork":false,"pushed_at":"2026-03-26T14:54:55.000Z","size":33192,"stargazers_count":131,"open_issues_count":48,"forks_count":30,"subscribers_count":8,"default_branch":"develop","last_synced_at":"2026-03-26T22:04:00.503Z","etag":null,"topics":["dataset","datasets","energy","energy-data","marktstammdatenregister","oep","open-energy-family","python","solar"],"latest_commit_sha":null,"homepage":"https://open-mastr.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenEnergyPlatform.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-21T14:11:11.000Z","updated_at":"2026-03-18T17:48:14.000Z","dependencies_parsed_at":"2026-02-05T17:02:29.542Z","dependency_job_id":null,"html_url":"https://github.com/OpenEnergyPlatform/open-MaStR","commit_stats":{"total_commits":1932,"total_committers":28,"mean_commits":69.0,"dds":0.7179089026915113,"last_synced_commit":"508aaa1322de80b7553c3f3eb92c8e25124bfa0f"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/OpenEnergyPlatform/open-MaStR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenEnergyPlatform%2Fopen-MaStR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenEnergyPlatform%2Fopen-MaStR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenEnergyPlatform%2Fopen-MaStR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenEnergyPlatform%2Fopen-MaStR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenEnergyPlatform","download_url":"https://codeload.github.com/OpenEnergyPlatform/open-MaStR/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenEnergyPlatform%2Fopen-MaStR/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31319753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T23:57:25.032Z","status":"ssl_error","status_checked_at":"2026-04-02T23:57:06.281Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataset","datasets","energy","energy-data","marktstammdatenregister","oep","open-energy-family","python","solar"],"created_at":"2026-03-09T14:06:59.529Z","updated_at":"2026-04-03T00:02:28.616Z","avatar_url":"https://github.com/OpenEnergyPlatform.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n.. image:: https://raw.githubusercontent.com/OpenEnergyPlatform/open-MaStR/refs/heads/production/docs/images/README_HeaderThreePartners.svg\n    :align: left\n    :target: https://github.com/OpenEnergyPlatform/open-MaStR\n    :alt: MaStR logo\n\n==========\nopen-mastr\n==========\n\n**A package that provides an interface for downloading and processing the Marktstammdatenregister (MaStR)**\n\n.. list-table::\n   :widths: 10, 50\n\n   * - License\n     - |badge_license|\n   * - Documentation\n     - |badge_rtd|\n   * - Tests\n     - |badge_ci|\n   * - Publication\n     - |badge_pypi| |badge_joss|\n   * - Data Publication\n     - |badge_zenodo|\n   * - Development\n     - |badge_issue_open| |badge_issue_closes| |badge_pr_open| |badge_pr_closes|\n   * - Community\n     - |badge_contributing| |PyPI download month| |Total PyPI downloads|\n   \n\n.. contents::\n    :depth: 2\n    :local:\n    :backlinks: top\n\nIntroduction\n============\n\nThe python package ``open-mastr`` provides an interface for accessing the `Marktstammdatenregister (MaStR) \u003chttps://www.marktstammdatenregister.de/MaStR\u003e`_ 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.\n\nGenerally, and besides the offerings of ``open-mastr``, the MaStR data can be accessed via three main options:\n\n#. browse, filter and download `in the browser \u003chttps://www.marktstammdatenregister.de/MaStR\u003e`_\n#. download `daily provided dumps \u003chttps://www.marktstammdatenregister.de/MaStR/Datendownload\u003e`_\n#. access via the `web service \u003chttps://www.marktstammdatenregister.de/MaStRHilfe/subpages/webdienst.html\u003e`_\n\nThese 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.\n\nIn 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).\n\n\n**Does open-mastr edit or change the MaStR data?**\nNo. ``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.\n\nBenefits provided by ``open-mastr``\n===================================\n\n.. list-table::\n   :widths: 30, 70\n   :header-rows: 1\n\n   * - Benefit\n     - Description\n   * - Data download and parsing\n     - Download, decode, and write data to a local database\n   * - Translation to English\n     - Translate table names and columns from German to English as well as an English documentation page of the dataset\n   * - Data processing\n     - Merge relevant information about different technologies to single csv files\n\n**Just here for the data?**\nWe regularly run the whole download and cleansing pipeline and upload the dataset as csv files at `zenodo \u003chttps://doi.org/10.5281/zenodo.6807425\u003e`_!\n\n\nDocumentation\n=============\n\n| The documentation is in `Material for Mkdocs \u003chttps://squidfunk.github.io/mkdocs-material/\u003e`_ markdown format in the ``doc`` sub-folder of the repository.\n| Find the `documentation \u003chttps://open-mastr.readthedocs.io/en/latest/\u003e`_ hosted on ReadTheDocs.\n\n| The original API documentation can be found on the `Webhilfe des Marktstammdatenregisters \u003chttps://www.marktstammdatenregister.de/MaStRHilfe/subpages/webdienst.html\u003e`_.\n\n\nInstallation\n============\n\n| It is recommended to use a virtual python environment, for example `conda \u003chttps://docs.conda.io/en/latest/miniconda.html\u003e`_ or `virtualenv \u003chttps://virtualenv.pypa.io/en/latest/installation.html\u003e`_.\n| The package is intended to be used with ``Python \u003e=3.8``.\n\n\nPyPI\n----\n\nInstall the current release of ``open-mastr`` with ``pip``:\n\n.. code-block:: python\n\n    pip install open-mastr\n\nGitHub\n------\n\nFor development, clone this repository manually.\n\n.. code-block:: python\n\n    git clone git@github.com:OpenEnergyPlatform/open-MaStR.git\n    cd open-MaStR\n\nSetup the conda environment with\n\n.. code-block:: python\n\n    conda env create -f environment.yml\n\nInstall the package with\n\n.. code-block:: python\n\n    pip install \"open_mastr[dev]\"\n\n\nExamples of Usage\n==================\nThese projects already use open-mastr:\n\n- `PV- und Windflächenrechner \u003chttps://www.agora-energiewende.de/service/pv-und-windflaechenrechner/\u003e`_\n- `Wasserstoffatlas \u003chttps://wasserstoffatlas.de/\u003e`_\n- `EE-Status App \u003chttps://ee-status.de/\u003e`_\n- `Digiplan Anhalt \u003chttps://digiplan.rl-institut.de/\u003e`_\n- `EmPowerPlan \u003chttps://epp.rl-institut.de/\u003e`_\n- `Goal100 Monitor \u003chttps://goal100.org/monitor\u003e`_\n\nIf you want to see your project in this list, write an  \n`Issue \u003chttps://github.com/OpenEnergyPlatform/open-MaStR/issues\u003e`_ or add\nchanges in a `Pull Request \u003chttps://github.com/OpenEnergyPlatform/open-MaStR/pulls\u003e`_.\n\nExternal Resources\n===================\nBesides open-mastr, some other resources exist that ease the process of working with the Marktstammdatenregister:\n\n- The `bundesAPI/Marktstammdaten-API \u003chttps://github.com/bundesAPI/marktstammdaten-api\u003e`_ is another implementation to access data via an official API.\n\nCollaboration\n=============\n| Everyone is invited to develop this repository with good intentions.\n| Please follow the workflow described in the `CONTRIBUTING.md \u003chttps://github.com/OpenEnergyPlatform/open-MaStR/blob/production/CONTRIBUTING.md\u003e`_.\n\n\nLicense and Citation\n====================\n\nSoftware\n--------\n\n| This repository is licensed under the **GNU Affero General Public License v3.0 or later** (AGPL-3.0-or-later).\n| See `LICENSE.md \u003chttps://github.com/OpenEnergyPlatform/open-MaStR/blob/production/LICENSE.md\u003e`_ for rights and obligations.\n| See the *Cite this repository* function or `CITATION.cff \u003chttps://github.com/OpenEnergyPlatform/open-MaStR/blob/production/CITATION.cff\u003e`_ for citation of this repository.\n| Copyright: `open-MaStR \u003chttps://github.com/OpenEnergyPlatform/open-MaStR/\u003e`_ © `Reiner Lemoine Institut \u003chttps://reiner-lemoine-institut.de/\u003e`_ © `fortiss \u003chttps://www.fortiss.org/\u003e`_ © `OFFIS \u003chttps://www.offis.de/\u003e`_  | `AGPL-3.0-or-later \u003chttps://www.gnu.org/licenses/agpl-3.0.txt\u003e`_\n\nData\n----\n| The original dataset is licensed under the **Datenlizenz Deutschland – Namensnennung – Version 2.0** (DL-DE-BY-2.0)\n| Copyright: `Marktstammdatenregister \u003chttps://www.marktstammdatenregister.de/MaStR\u003e`_ - © Bundesnetzagentur für Elektrizität, Gas, Telekommunikation, Post und Eisenbahnen | `DL-DE-BY-2.0 \u003chttps://www.govdata.de/dl-de/by-2-0\u003e`_\n\n\n.. |badge_license| image:: https://img.shields.io/github/license/OpenEnergyPlatform/open-MaStR\n    :target: LICENSE.md\n    :alt: License\n\n.. |badge_rtd| image:: https://readthedocs.org/projects/open-mastr/badge/?style=flat\n    :target: https://open-mastr.readthedocs.io/en/latest/\n    :alt: Read the Docs\n\n.. |badge_ci| image:: https://github.com/OpenEnergyPlatform/open-MaStR/actions/workflows/ci-production.yml/badge.svg\n    :target: https://github.com/OpenEnergyPlatform/open-MaStR/actions?query=workflow%3ACI\n    :alt: GitHub Actions\n\n.. |badge_pypi| image:: https://img.shields.io/pypi/v/open-mastr.svg\n    :target: https://pypi.org/project/open-mastr/\n    :alt: PyPI\n\n.. |badge_zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6807426.svg\n    :target: https://doi.org/10.5281/zenodo.6807425\n    :alt: zenodo\n\n.. |badge_issue_open| image:: https://img.shields.io/github/issues-raw/OpenEnergyPlatform/open-MaStR\n    :alt: open issues\n\n.. |badge_issue_closes| image:: https://img.shields.io/github/issues-closed-raw/OpenEnergyPlatform/open-MaStR\n    :alt: closes issues\n\n.. |badge_pr_open| image:: https://img.shields.io/github/issues-pr-raw/OpenEnergyPlatform/open-MaStR\n    :alt: closes issues\n\n.. |badge_pr_closes| image:: https://img.shields.io/github/issues-pr-closed-raw/OpenEnergyPlatform/open-MaStR\n    :alt: closes issues\n\n.. |badge_contributing| image:: https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat\n    :alt: contributions\n    \n.. |PyPI download month| image:: https://img.shields.io/pypi/dm/open-mastr?label=PyPi%20Downloads\n    :target: https://pypistats.org/packages/open-mastr\n\n.. |Total PyPI downloads| image:: https://static.pepy.tech/badge/open-mastr\n    :target: https://pepy.tech/project/open-mastr\n\n.. |badge_joss| image:: https://joss.theoj.org/papers/dc0d33e7dc74f7233e15a7b6fe0c7a3e/status.svg\n    :target: https://joss.theoj.org/papers/dc0d33e7dc74f7233e15a7b6fe0c7a3e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenenergyplatform%2Fopen-mastr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenenergyplatform%2Fopen-mastr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenenergyplatform%2Fopen-mastr/lists"}