Introduction
What is EnergyDataModel?
EnergyDataModel is an open-source Python library that lets you represent energy systems as Python [data classes](https://docs.python.org/3/library/dataclasses.html) for improved modularity and readability. It gives a blueprint for how energy engineers and energy data scientists can leverage software engineering best practices to improve productivity and collaboration.
Why EnergyDataModel?
EnergyDataModel lets you:
🧱 Modularity - Represent energy assets, energy systems and other relevant concepts as object-oriented building blocks;
🏗️ Relationships - Structure your energy assets in graphs and hierarchies representing energy systems that can be serialized to files (e.g. .csv, .json, and .geojson files);
👀 Visualization - Visualise energy systems maps, graphs, flows and structure using built-in plotting functions;
🤓 Readability - Write more explicit Python code through human-readable expressions and built-in convenience methods;
🧩 Interoperability - Convert data format to other energy-relevant data models and ontologies; and
💬 Communicate - Communicate effectively in teams with a common energy system data vocabulary.