ospx#
ospx is an extension package to farn, adding support to build OSP (co-)simulation cases using functional mockup units (FMUs).
ospx supports
building of case-specific OSP (co-)simulation configuration files
watching the progress of cosim, and saving final simulation results as a pandas dataframe.
Installation#
pip install ospx
ospx requires the following (sub-)package:
dictIO: foundation package, enabling ospx to handle configuration files in dictIO dict file format.
However, dictIO gets installed automatically with ospx.
Usage Example#
ospx provides both an API for use inside Python as well as a CLI for shell execution of core functions.
Reading a caseDict file and building the case-specific OSP (co-)simulation configuration files:
from ospx import OspCaseBuilder
OspCaseBuilder.build('caseDict')
The above task can also be invoked from the command line, using the ‘ospCaseBuilder’ command line script installed with ospx:
ospCaseBuilder caseDict
For more examples and usage, please refer to ospx’s documentation.
File Format#
A caseDict is a file in dictIO dict file format used with farn.
For a documentation of the caseDict file format, see File Format in ospx’s documentation on GitHub Pages.
For a detailed documentation of the dictIO dict file format used by farn, see dictIO’s documentation on GitHub Pages.
Development Setup#
Install Python 3.9 or higher, i.e. Python 3.10 or Python 3.11
Update pip and setuptools:
python -m pip install --upgrade pip setuptools
git clone the dictIO repository into your local development directory:
git clone https://github.com/dnv-opensource/ospx path/to/your/dev/ospx
In the ospx root folder:
Create a Python virtual environment:
python -m venv .venv
Activate the virtual environment:
..on Windows:
> .venv\Scripts\activate.bat
..on Linux:
source .venv/bin/activate
Update pip and setuptools:
(.venv) $ python -m pip install --upgrade pip setuptools
Install ospx’s dependencies:
(.venv) $ pip install -r requirements-dev.txt
This should return without errors.
Finally, install ospx itself, yet not as a regular package but as an editable package instead, using the pip install option -e:
(.venv) $ pip install -e .
Test that the installation works (in the ospx root folder):
(.venv) $ pytest .
Meta#
Copyright (c) 2024 DNV open source
Frank Lumpitzsch – @LinkedIn – frank.lumpitzsch@dnv.com
Claas Rostock – @LinkedIn – claas.rostock@dnv.com
Seunghyeon Yoo – @LinkedIn – seunghyeon.yoo@dnv.com
Distributed under the MIT license. See LICENSE for more information.
Contributing#
Create your branch (
git checkout -b myBranchName
)Commit your changes (e.g.
git commit -m 'place a descriptive commit message here'
)Push to the branch (e.g.
git push origin myBranchName
)Create a new Pull Request in GitHub
For your contribution, please make sure you follow the STYLEGUIDE before creating the Pull Request.