-
Notifications
You must be signed in to change notification settings - Fork 5
Frequenz Lib Notebooks ‐ Overview
Welcome to the frequenz-lib-notebooks
repository wiki! This repository serves as a foundational library for developing, sharing, and maintaining tools, workflows, and visualisations across different projects. It is designed to be modular, reusable, and extendable, allowing contributors to add new projects and functionality easily.
The first project within this repository, the Solar Maintenance App, is designed to streamline the management and analysis of solar energy production data. Its main features include:
- Data Retrieval: Fetching weather and reporting data.
- Data Processing: Cleaning, normalising, and transforming data for further processing and making predictions.
- Forecasting: Using models to predict solar energy production.
- Visualisation: Generating clear and informative plots to analyse data.
(Details about the Solar Maintenance App are available in the dedicated Solar Maintenance App Wiki Page)
This module provides a notification service for sending alert notifications. The service supports one-off and periodic email notifications with configurable settings. Features include attachment handling, retry mechanisms for failed attempts, and a scheduler for interval-based alerts.
(More details can be found in the dedicated page)
The alerts/alert_email.py
module provides functionality for generating rich HTML email alerts from tabular alert data. It includes logic for formatting alert summaries, displaying alert tables with severity-based styling, embedding links to manage alert preferences, and even exporting alert visualisations.
Key features:
- Summary and table views of alert data.
- Various filtering and sorting options.
- Color-coded HTML output for easy reading.
- Interactive
Plotly
charts for state transitions and alert breakdowns. - Export support for charts (e.g., PNG, HTML, PDF).
(More details can be found in the dedicated page)
The Microgrid Configuration Module provides a structured framework for configuring microgrids, including metadata, component specifications, and asset details. It aims to serve as a critical building block for applications, enabling consistent and reusable configuration management across workflows.
(More details can be found in the dedicated page)
[To be added]
Below is the high-level folder structure of the repository:
frequenz/
├── data/
│ └── microgrid/
│ ├── component_data.py
│ └── config.py
├── datasci/
│ └── weather/
│ └── weather_api.py
└── lib/
└── notebooks/
├── config.py
├── notification_service.py
├── notification_utils.py
├── alerts/
│ └── alert_email.py
├── reporting/
│ └── (Reporting Modules...)
└── solar/
└── maintenance/
└── (Solar Maintenance Modules...)
Main Directories:
-
frequenz/data/microgrid
: Manages configuration for microgrids. -
frequenz/datasci
: General-purpose data science utilities, such as weather_api.py. -
frequenz/lib/notebooks
: Project-specific workflows and utilities.- Shared Components:
-
notification_service.py
: Supports sending one-off and periodic notifications with attachments, retries, and scheduling. -
notification_utils.py
: Provides a set of utility functions to support testing, validating, and previewing email notifications.
-
- Shared Components:
-
examples/
: This directory is at the top level and contains example notebooks.