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.