Skip to content

Commit 51dd8d1

Browse files
Merge pull request #261 from ie3-institute/rel/sp/#260-release-0.7.0
Release 0.7.0
2 parents 4ebc7a9 + e11673d commit 51dd8d1

22 files changed

+365
-36
lines changed

.github/dependabot.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ updates:
99
target-branch: dev
1010
reviewers:
1111
- t-ober
12-
- sensarmad
12+
- jo-bao
1313
- danielfeismann
1414
- sebastian-peter
15+
- staudtMarius
16+
17+
- package-ecosystem: pip
18+
directory: "/docs/readthedocs"
19+
schedule:
20+
interval: daily
21+
time: "04:00"
22+
open-pull-requests-limit: 8
23+
target-branch: dev

.readthedocs.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Set the version of Python and other tools you might need
9+
build:
10+
os: ubuntu-24.04
11+
tools:
12+
python: "3.13"
13+
14+
# Configure python
15+
python:
16+
install:
17+
- requirements: docs/readthedocs/requirements.txt
18+
19+
# Build documentation in the docs/ directory with Sphinx
20+
sphinx:
21+
configuration: docs/readthedocs/conf.py
22+
fail_on_warning: true

CHANGELOG.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased/Snapshot]
88

9+
## [0.7.0] - 2025-03-11
10+
11+
### Added
12+
- Added Bao and Staudt to the list of reviewers [#216](https://github.com/ie3-institute/simonaAPI/issues/216)
13+
- Documentation for this API [#230](https://github.com/ie3-institute/simonaAPI/issues/230)
14+
15+
#### Changed
16+
- Updated PSDM to 6.0.0
17+
918
## [0.6.0] - 2024-12-02
1019

1120
### Added
@@ -47,7 +56,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4756
- Renamed messages to ease understanding [#62](https://github.com/ie3-institute/simonaAPI/issues/62)
4857
- Separating departures and arrivals in message protocol, properly handling exceptions [#77](https://github.com/ie3-institute/simonaAPI/issues/77)
4958

50-
[Unreleased/Snapshot]: https://github.com/ie3-institute/simonaapi/compare/0.6.0...HEAD
59+
[Unreleased/Snapshot]: https://github.com/ie3-institute/simonaapi/compare/0.7.0...HEAD
60+
[0.7.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.6.0...0.7.0
5161
[0.6.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.5.0...0.6.0
5262
[0.5.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.4.0...0.5.0
5363
[0.4.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.3.0...0.4.0

build.gradle

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
plugins {
22
id 'groovy' // groovy support
33
id 'java' // java support
4-
id 'com.diffplug.spotless' version '6.25.0'//code format
4+
id 'com.diffplug.spotless' version '7.0.2'//code format
55
id 'pmd' // code check, working on source code
6-
id 'com.github.spotbugs' version '6.0.26' // code check, working on byte code
6+
id 'com.github.spotbugs' version '6.1.7' // code check, working on byte code
77
id "org.sonarqube" version "6.0.1.5171" // sonarqube
88
id 'signing'
99
id 'maven-publish' // publish to a maven repo (local or mvn central, has to be defined)
1010
id 'jacoco' // java code coverage plugin
1111
id 'net.thauvin.erik.gradle.semver' version '1.0.4' // semantic versioning
12+
id 'kr.motd.sphinx' version '2.10.1' // documentation generation
1213
}
1314

1415
ext {
@@ -17,8 +18,8 @@ ext {
1718

1819
// required for pekko
1920
scalaVersion = "2.13"
20-
scalaBinaryVersion = "2.13.15"
21-
pekkoVersion = "1.1.2"
21+
scalaBinaryVersion = "2.13.16"
22+
pekkoVersion = "1.1.3"
2223
}
2324

2425
group = 'com.github.ie3-institute'
@@ -46,7 +47,7 @@ repositories {
4647

4748
dependencies{
4849

49-
implementation 'tech.units:indriya:2.2.1' // quantities
50+
implementation 'tech.units:indriya:2.2.2' // quantities
5051

5152
// scala (needed for pekko)
5253
implementation "org.scala-lang:scala-library:${scalaBinaryVersion}"
@@ -60,15 +61,15 @@ dependencies{
6061
}
6162

6263
//PSDM
63-
implementation('com.github.ie3-institute:PowerSystemDataModel:5.1.0') {
64+
implementation('com.github.ie3-institute:PowerSystemDataModel:6.0.0') {
6465
exclude group: 'org.apache.logging.log4j'
6566
exclude group: 'org.slf4j'
6667
/* Exclude our own nested dependencies */
6768
exclude group: 'com.github.ie3-institute'
6869
}
6970

7071
// logging
71-
implementation platform('org.apache.logging.log4j:log4j-bom:2.24.2')
72+
implementation platform('org.apache.logging.log4j:log4j-bom:2.24.3')
7273
implementation 'org.apache.logging.log4j:log4j-api' // log4j
7374
implementation 'org.apache.logging.log4j:log4j-core' // log4j
7475
implementation 'org.apache.logging.log4j:log4j-slf4j-impl' // log4j -> slf4j
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* Suppress spacing after multi-line entries in tables
2+
* Inspired by this issue: https://github.com/readthedocs/sphinx_rtd_theme/issues/117 */
3+
.wy-table-responsive table td div.line-block {
4+
margin-bottom: 0;
5+
font-size: 90%;
6+
}
7+
.wy-table-responsive table th div.line-block {
8+
margin-bottom: 0;
9+
font-size: 90%;
10+
}
11+
.wy-table-responsive table th p {
12+
margin-bottom: 0;
13+
}
14+
15+
table.wrapping td {
16+
white-space: normal;
17+
}

docs/readthedocs/conf.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Configuration file for the Sphinx documentation builder.
2+
#
3+
# This file only contains a selection of the most common options. For a full
4+
# list see the documentation:
5+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
6+
7+
# -- Path setup --------------------------------------------------------------
8+
9+
# If extensions (or modules to document with autodoc) are in another directory,
10+
# add these directories to sys.path here. If the directory is relative to the
11+
# documentation root, use os.path.abspath to make it absolute, like shown here.
12+
#
13+
# import os
14+
# import sys
15+
# sys.path.insert(0, os.path.abspath('.'))
16+
17+
18+
# -- Project information -----------------------------------------------------
19+
20+
project = 'simonaAPI'
21+
copyright = u'2023. TU Dortmund University, Institute of Energy Systems, Energy Efficiency and Energy Economics, Research group Distribution grid planning and operation '
22+
author = 'Institute of Energy Systems, Energy Efficiency and Energy Economics'
23+
24+
# The full version, including alpha/beta/rc tags
25+
version = '0.6.0'
26+
release = '0.6.0'
27+
28+
pygments_style = 'tango'
29+
add_function_parentheses = True
30+
# Will point sphinx to use 'index.rst' as the master document
31+
master_doc = 'index'
32+
33+
# -- General configuration ---------------------------------------------------
34+
# Add any Sphinx extension module names here, as strings. They can be
35+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
36+
# ones.
37+
extensions = [
38+
'sphinx.ext.intersphinx',
39+
'myst_parser'
40+
]
41+
42+
myst_enable_extensions = ["dollarmath", "amsmath"]
43+
myst_heading_anchors = 4
44+
45+
# Add any paths that contain templates here, relative to this directory.
46+
templates_path = ['_templates']
47+
48+
# List of patterns, relative to source directory, that match files and
49+
# directories to ignore when looking for source files.
50+
# This pattern also affects html_static_path and html_extra_path.
51+
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'venv']
52+
exclude_trees = ['.build']
53+
source_suffix = ['.rst', '.md']
54+
source_encoding = 'utf-8-sig'
55+
56+
# -- Options for HTML output -------------------------------------------------
57+
58+
# The theme to use for HTML and HTML Help pages. See the documentation for
59+
# a list of builtin themes.
60+
html_theme = 'sphinx_rtd_theme'
61+
html_short_title = "simonaAPI"
62+
htmlhelp_basename = 'simonaAPI-doc'
63+
html_use_index = True
64+
html_show_sourcelink = False
65+
66+
# Add any paths that contain custom static files (such as style sheets) here,
67+
# relative to this directory. They are copied after the builtin static files,
68+
# so a file named "default.css" will overwrite the builtin "default.css".
69+
html_static_path = ['_static']
70+
71+
72+
def setup(app):
73+
app.add_css_file("css/theme_override.css")
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Data connections

docs/readthedocs/createextsims.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# How to create external simulations for SIMONA
2+
3+
This page contains all information on how to create external simulations.
4+
5+
SIMONA uses the java service loader, to load external simulations. Each external simulations needs to have an
6+
implementation of the [ExtLinkInterface](/extlinkinterface), that is provided to the service loader as a service.
7+
8+
9+
## Defining the service
10+
11+
To define a service for an external simulation you need to create the following path inside your project:
12+
`resources/META-INF/services/edu.ie3.simona.api.ExtLinkInterface`. Inside this file you need to add the implementation
13+
of the `ExtLinkInterface`.
14+
15+
16+
## Project with multiple external simulations
17+
Your project could contain multiple external simulations by creating multiple implementations of the `ExtLinkInterface`
18+
and adding them to the service file. When doing this SIMONA will give you a warning. Each asset in SIMONA can only
19+
receive external data from **one** external simulation. If two external simulations are set up to provide data to the
20+
same asset, SIMONA will exit with an exception. Therefore, it is encouraged to create an own project for each external
21+
simulation.

docs/readthedocs/extlinkinterface.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# External link interface
2+
3+
The external link interface, or short `ExtLinkInterface`, is used to provide SIMONA with all methods necessary to load
4+
the external simulation.
5+
6+
Currently, these methods exist:
7+
1. [setup](#setting-up-the-external-simulation)
8+
2. [getExtSimulation](#getting-the-external-simulation)
9+
10+
Both method will be called by SIMONA to initialize and retrieve the external simulation.
11+
12+
13+
## Setting up the external simulation
14+
15+
This method receives an [external simulation adapter data](/simulations/extsimadapterdata) that contains the following
16+
information:
17+
- CLI arguments SIMONA is initiated with
18+
- Reference to the actor that handles scheduler control flow in SIMONA
19+
- Queue with triggers the external simulation needs to handle
20+
21+
The method can use these data, if necessary, to set up the external simulation. In all cases, this method needs to
22+
forward the adapter data to the external simulation.
23+
24+
25+
## Getting the external simulation
26+
27+
This method should return the [external simulation](/simulations/externalsimulation).

docs/readthedocs/gettingstarted.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Getting started
2+
Welcome, this section is meant to give you some help getting hands on our project.
3+
If you feel, something is missing, please contact us!
4+
5+
## Requirements
6+
7+
Java > v 17
8+
9+
## Where to get
10+
11+
Checkout latest from [GitHub](https://github.com/ie3-institute/simonaAPI) or use maven for dependency
12+
management:
13+
14+
### Stable releases
15+
16+
On [Maven central](https://search.maven.org/artifact/com.github.ie3-institute/simonaAPI):
17+
18+
```xml
19+
<dependency>
20+
<groupId>com.github.ie3-institute</groupId>
21+
<artifactId>simonaAPI</artifactId>
22+
<version>0.6.0</version>
23+
</dependency>
24+
```
25+
26+
### Snapshot releases
27+
28+
Available on [OSS Sonatype](https://s01.oss.sonatype.org/).
29+
Add the correct repository:
30+
31+
```xml
32+
<repositories>
33+
<repository>https://s01.oss.sonatype.org/content/repositories/snapshots</repository>
34+
</repositories>
35+
```
36+
37+
and add the dependency:
38+
39+
```xml
40+
<dependency>
41+
<groupId>com.github.ie3-institute</groupId>
42+
<artifactId>simonaAPI</artifactId>
43+
<version>0.7-SNAPSHOT</version>
44+
</dependency>
45+
```
46+
47+
## Important changes
48+
49+
With the release of version `0.6.0` there were major changes in the way external simulations are
50+
set up. Therefore, older simulations no longer work with the version `0.6.0`.

0 commit comments

Comments
 (0)