{"id":22643163,"url":"https://github.com/hochfrequenz/ebdamame","last_synced_at":"2026-03-09T02:32:17.749Z","repository":{"id":179475571,"uuid":"577221597","full_name":"Hochfrequenz/ebdamame","owner":"Hochfrequenz","description":"Python library to scrape .docx files with \"Entscheidungsbaumdiagramm\" tables into a truely machine readable structure","archived":false,"fork":false,"pushed_at":"2026-02-23T08:38:33.000Z","size":12425,"stargazers_count":2,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-23T15:53:41.956Z","etag":null,"topics":["bdew","ebd","energiewirtschaft","entscheidungsbaum","entscheidungsbaumdiagramm","entscheidungstabellen","marktkommunikation","python-docx","scraping"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hochfrequenz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"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":"2022-12-12T08:54:42.000Z","updated_at":"2026-02-23T08:38:36.000Z","dependencies_parsed_at":"2023-10-11T06:41:53.044Z","dependency_job_id":"309b6562-bf12-4c40-bb6a-ff8eb62ec37a","html_url":"https://github.com/Hochfrequenz/ebdamame","commit_stats":null,"previous_names":["hochfrequenz/ebddocx2table","hochfrequenz/ebdamame"],"tags_count":39,"template":false,"template_full_name":"Hochfrequenz/python_template_repository","purl":"pkg:github/Hochfrequenz/ebdamame","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hochfrequenz%2Febdamame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hochfrequenz%2Febdamame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hochfrequenz%2Febdamame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hochfrequenz%2Febdamame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hochfrequenz","download_url":"https://codeload.github.com/Hochfrequenz/ebdamame/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hochfrequenz%2Febdamame/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30280855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:23:26.802Z","status":"ssl_error","status_checked_at":"2026-03-09T02:22:46.175Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["bdew","ebd","energiewirtschaft","entscheidungsbaum","entscheidungsbaumdiagramm","entscheidungstabellen","marktkommunikation","python-docx","scraping"],"created_at":"2024-12-09T05:09:31.515Z","updated_at":"2026-03-09T02:32:17.736Z","avatar_url":"https://github.com/Hochfrequenz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ebdamame\n\n[![License: GPL](https://img.shields.io/badge/License-GPL-yellow.svg)](LICENSE)\n![Python Versions (officially) supported](https://img.shields.io/pypi/pyversions/ebdamame.svg)\n![Unittests status badge](https://github.com/Hochfrequenz/ebdamame/workflows/Unittests/badge.svg)\n![Coverage status badge](https://github.com/Hochfrequenz/ebdamame/workflows/Coverage/badge.svg)\n![Linting status badge](https://github.com/Hochfrequenz/ebdamame/workflows/Linting/badge.svg)\n![Formatting status badge](https://github.com/Hochfrequenz/ebdamame/workflows/Formatting/badge.svg)\n![PyPi Status Badge](https://img.shields.io/pypi/v/ebdamame)\n\n🇩🇪 Dieses Repository enthält ein Python-Paket namens [`ebdamame`](https://pypi.org/project/ebdamame) (früher: `ebddocx2table`), das genutzt werden kann, um aus .docx-Dateien maschinenlesbare Tabellen, die einen Entscheidungsbaum (EBD) modellieren, zu extrahieren (scrapen).\nDiese Entscheidungsbäume sind Teil eines regulatorischen Regelwerks für die deutsche Energiewirtschaft und kommen in der Eingangsprüfung der Marktkommunikation zum Einsatz.\nDie mit diesem Paket erstellten maschinenlesbaren Tabellen können mit [`rebdhuhn`](https://pypi.org/project/rebdhuhn) (früher: `ebdtable2graph`) in echte Graphen und Diagramme umgewandelt werden.\nExemplarische Ergebnisse des Scrapings finden sich als .json-Dateien im Repository [`machine-readable_entscheidungsbaumdiagramme`](https://github.com/Hochfrequenz/machine-readable_entscheidungsbaumdiagramme/).\n\n🇬🇧 This repository contains the source code of the Python package [`ebdamame`](https://pypi.org/project/ebdamame) (formerly published as `ebddocx2table`).\n\n## Rationale\n\nAssume that you want to analyse or visualize the Entscheidungsbaumdiagramme (EBD) by EDI@Energy.\nThe website edi-energy.de, as always, only provides you with PDF or Word files instead of _really_ digitized data.\n\nThe package `ebdamame` scrapes the `.docx` files and returns data in a model defined in the \"sister\" package [`rebdhuhn`](https://pypi.org/project/rebdhuhn) (formerly known as `ebdtable2graph`).\n\nOnce you scraped the data (using this package) you can plot it with [`rebdhuhn`](https://pypi.org/project/rebdhuhn).\nBoth packages together form the [`ebd_toolchain`](https://github.com/Hochfrequenz/ebd_toolchain/) which scrapes EBD.docx files from the [edi_energy_mirror](https://github.com/Hochfrequenz/edi_energy_mirror) and pushes them to [machine_readable-entscheidungsbaumdiagramme](https://github.com/Hochfrequenz/machine-readable_entscheidungsbaumdiagramme).\n\n## How to use the package\n\nIn any case, install the repo from PyPI:\n\n```bash\npip install ebdamame\n```\n\n### Use as a library\n\n```python\nimport json\nfrom pathlib import Path\n\nfrom ebdamame import get_ebd_docx_tables\nfrom ebdamame.docxtableconverter import DocxTableConverter\n\ndocx_file_path = Path(\"unittests/test_data/ebd20230629_v34.docx\")\n# download this .docx File from edi-energy.de or find it in the unittests of this repository.\n# https://github.com/Hochfrequenz/ebddocx2table/blob/main/unittests/test_data/ebd20230629_v34.docx\ndocx_tables = get_ebd_docx_tables(docx_file_path, ebd_key=\"E_0003\")\nconverter = DocxTableConverter(\n    docx_tables,\n    ebd_key=\"E_0003\",\n    ebd_name=\"E_0003_Bestellung der Aggregationsebene RZ prüfen\",\n    chapter=\"MaBiS\",\n    section=\"7.42.1\"\n)\nresult = converter.convert_docx_tables_to_ebd_table()\nwith open(Path(\"E_0003.json\"), \"w+\", encoding=\"utf-8\") as result_file:\n    # the result file can be found here:\n    # https://github.com/Hochfrequenz/machine-readable_entscheidungsbaumdiagramme/tree/main/FV2310\n    json.dump(result.model_dump(), result_file, ensure_ascii=False, indent=2, sort_keys=True)\n```\n\n### Use as a CLI tool\n\n_to be written_\n\n## How to use this Repository on Your Machine (for development)\n\nPlease follow the instructions in our\n[Python Template Repository](https://github.com/Hochfrequenz/python_template_repository#how-to-use-this-repository-on-your-machine).\nAnd for further information, see the [Tox Repository](https://github.com/tox-dev/tox).\n\n## Contribute\n\nYou are very welcome to contribute to this template repository by opening a pull request against the main branch.\n\n## Related Tools and Context\n\nThis repository is part of the [Hochfrequenz Libraries and Tools for a truly digitized market communication](https://github.com/Hochfrequenz/digital_market_communication/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhochfrequenz%2Febdamame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhochfrequenz%2Febdamame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhochfrequenz%2Febdamame/lists"}