Skip to content

Commit

Permalink
Merge pull request #15 from dnv-opensource/move-config-from-setup-cfg…
Browse files Browse the repository at this point in the history
…-to-pyproject-toml

Move config from setup cfg to pyproject toml
  • Loading branch information
ClaasRostock authored Feb 21, 2024
2 parents 91e7dcf + 0ff9e88 commit c36de4c
Show file tree
Hide file tree
Showing 8 changed files with 243 additions and 239 deletions.
5 changes: 1 addition & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
{
"terminal.integrated.env.windows": {
"PYTHONPATH": "${workspaceFolder}/src"
},
"python.terminal.activateEnvInCurrentTerminal": true,
"python.languageServer": "Pylance",
"ruff.importStrategy": "fromEnvironment",
Expand Down Expand Up @@ -42,4 +39,4 @@
"includeAllSymbols": true,
},
],
}
}
22 changes: 20 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,24 @@ The changelog format is based on [Keep a Changelog](https://keepachangelog.com/e

## [Unreleased]

* -/-


## [0.2.13] - 2024-02-21

### Added
* README.md : Under `Development Setup`, added a step to install current package in "editable" mode, using the pip install -e option.
This removes the need to manually add /src to the PythonPath environment variable in order for debugging and tests to work.

### Removed
* VS Code settings: Removed the setting which added the /src folder to PythonPath. This is no longer necessary. Installing the project itself as a package in "editable" mode, using the pip install -e option, solves the issue and removes the need to manually add /src to the PythonPath environment variable.

### Changed
* Moved all project configuration from setup.cfg to pyproject.toml
* Moved all tox configuration from setup.cfg to tox.ini.
* Moved pytest configuration from pyproject.toml to pytest.ini
* Deleted setup.cfg

### Dependencies
* updated to black[jupyter]==24.1 (from black[jupyter]==23.12)
* updated to version: '==24.1' (from version: '==23.12')
Expand All @@ -14,7 +32,6 @@ The changelog format is based on [Keep a Changelog](https://keepachangelog.com/e
* updated to lxml>=5.1 (from lxml>=4.9)
* updated to pandas>=2.2 (from pandas>=2.1)

* -/-

## [0.2.12] - 2024-01-09

Expand Down Expand Up @@ -351,7 +368,8 @@ Maintenance Release
* Added support for Python 3.10

<!-- Markdown link & img dfn's -->
[unreleased]: https://github.com/dnv-opensource/ospx/compare/v0.2.12...HEAD
[unreleased]: https://github.com/dnv-opensource/ospx/compare/v0.2.13...HEAD
[0.2.13]: https://github.com/dnv-opensource/ospx/compare/v0.2.12...v0.2.13
[0.2.12]: https://github.com/dnv-opensource/ospx/compare/v0.2.11...v0.2.12
[0.2.11]: https://github.com/dnv-opensource/ospx/compare/v0.2.10...v0.2.11
[0.2.10]: https://github.com/dnv-opensource/ospx/compare/v0.2.9...v0.2.10
Expand Down
272 changes: 132 additions & 140 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,140 +1,132 @@
# ospx
ospx is an extension package to [farn][farn_docs], adding support to build [OSP][osp_docs] (co-)simulation cases using functional mockup units (FMUs).

ospx supports
* building of case-specific [OSP][osp_docs] (co-)simulation configuration files
* watching the progress of cosim, and saving final simulation results as a pandas dataframe.

## Installation

```sh
pip install ospx
```
ospx requires the following (sub-)package:
* [dictIO][dictIO_docs]: 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:
```py
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:
```sh
ospCaseBuilder caseDict
```

_For more examples and usage, please refer to [ospx's documentation][ospx_docs]._

## 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](fileFormat.md) in [ospx's documentation][ospx_docs] on GitHub Pages._

_For a detailed documentation of the dictIO dict file format used by farn, see [dictIO's documentation][dictIO_docs] on GitHub Pages._

## Development Setup

1. Install Python 3.9 or higher, i.e. [Python 3.10](https://www.python.org/downloads/release/python-3104/) or [Python 3.11](https://www.python.org/downloads/release/python-3114/)

2. Update pip and setuptools:

```sh
python -m pip install --upgrade pip setuptools
```

3. git clone the dictIO repository into your local development directory:

```sh
git clone https://github.com/dnv-opensource/ospx path/to/your/dev/ospx
```

4. In the ospx root folder:

Create a Python virtual environment:

```sh
python -m venv .venv
```

Activate the virtual environment:

..on Windows:

```sh
> .venv\Scripts\activate.bat
```

..on Linux:

```sh
source .venv/bin/activate
```

Update pip and setuptools:

```sh
(.venv) $ python -m pip install --upgrade pip setuptools
```

Install ospx's dependencies:
```sh
(.venv) $ pip install -r requirements-dev.txt
```
This should return without errors.
5. Setup your development environment to locate Python source codes:
For example, Visual Studio Code on Windows assumes the Python environment is specified in a `.env` file. <br>
If you are developing and running the Python code from VSCode, make sure to create a `.env` file in the mypackage root folder with below content. <br>
Set the path for `PROJ_DIR` to where your mypackage folder is on your system. <br>
_Note_: `.env` is part of `.gitignore`, such that you do not commit your `.env` file to the repository.
```ini
PROJ_DIR=<path-to-ospx-root-dir>
PYTHONPATH=${PROJ_DIR}/src
```
6. Test that the installation works (in the mypackage root folder):
```sh
(.venv) $ pytest .
```
## Meta
Copyright (c) 2024 [DNV](https://www.dnv.com) [open source](https://github.com/dnv-opensource)
Frank Lumpitzsch – [@LinkedIn](https://www.linkedin.com/in/frank-lumpitzsch-23013196/) – [email protected]
Claas Rostock – [@LinkedIn](https://www.linkedin.com/in/claasrostock/?locale=en_US) – [email protected]
Seunghyeon Yoo – [@LinkedIn](https://www.linkedin.com/in/seunghyeon-yoo-3625173b/) – [email protected]
Distributed under the MIT license. See [LICENSE](LICENSE.md) for more information.
[https://github.com/dnv-opensource/ospx](https://github.com/dnv-opensource/ospx)
## Contributing
1. Fork it (<https://github.com/dnv-opensource/ospx/fork>)
2. Create your branch (`git checkout -b myBranchName`)
3. Commit your changes (e.g. `git commit -m 'place a descriptive commit message here'`)
4. Push to the branch (e.g. `git push origin myBranchName`)
5. Create a new Pull Request in GitHub
For your contribution, please make sure you follow the [STYLEGUIDE](STYLEGUIDE.md) before creating the Pull Request.
<!-- Markdown link & img dfn's -->
[dictIO_docs]: https://dnv-opensource.github.io/dictIO/README.html
[ospx_docs]: https://dnv-opensource.github.io/ospx/README.html
[farn_docs]: https://dnv-opensource.github.io/farn/README.html
[osp_docs]: https://open-simulation-platform.github.io/
# ospx
ospx is an extension package to [farn][farn_docs], adding support to build [OSP][osp_docs] (co-)simulation cases using functional mockup units (FMUs).

ospx supports
* building of case-specific [OSP][osp_docs] (co-)simulation configuration files
* watching the progress of cosim, and saving final simulation results as a pandas dataframe.

## Installation

```sh
pip install ospx
```
ospx requires the following (sub-)package:
* [dictIO][dictIO_docs]: 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:
```py
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:
```sh
ospCaseBuilder caseDict
```

_For more examples and usage, please refer to [ospx's documentation][ospx_docs]._

## 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](fileFormat.md) in [ospx's documentation][ospx_docs] on GitHub Pages._

Check warning on line 40 in README.md

View workflow job for this annotation

GitHub Actions / build_and_publish_documentation / Build and publish documentation

'myst' cross-reference target not found: 'fileFormat.md' [myst.xref_missing]
_For a detailed documentation of the dictIO dict file format used by farn, see [dictIO's documentation][dictIO_docs] on GitHub Pages._

## Development Setup

1. Install Python 3.9 or higher, i.e. [Python 3.10](https://www.python.org/downloads/release/python-3104/) or [Python 3.11](https://www.python.org/downloads/release/python-3114/)

2. Update pip and setuptools:

```sh
python -m pip install --upgrade pip setuptools
```

3. git clone the dictIO repository into your local development directory:

```sh
git clone https://github.com/dnv-opensource/ospx path/to/your/dev/ospx
```

4. In the ospx root folder:

Create a Python virtual environment:

```sh
python -m venv .venv
```

Activate the virtual environment:

..on Windows:

```sh
> .venv\Scripts\activate.bat
```

..on Linux:

```sh
source .venv/bin/activate
```

Update pip and setuptools:

```sh
(.venv) $ python -m pip install --upgrade pip setuptools
```

Install ospx's dependencies:
```sh
(.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:
```sh
(.venv) $ pip install -e .
```
5. Test that the installation works (in the ospx root folder):
```sh
(.venv) $ pytest .
```
## Meta
Copyright (c) 2024 [DNV](https://www.dnv.com) [open source](https://github.com/dnv-opensource)
Frank Lumpitzsch – [@LinkedIn](https://www.linkedin.com/in/frank-lumpitzsch-23013196/) – [email protected]
Claas Rostock – [@LinkedIn](https://www.linkedin.com/in/claasrostock/?locale=en_US) – [email protected]
Seunghyeon Yoo – [@LinkedIn](https://www.linkedin.com/in/seunghyeon-yoo-3625173b/) – [email protected]
Distributed under the MIT license. See [LICENSE](LICENSE.md) for more information.
[https://github.com/dnv-opensource/ospx](https://github.com/dnv-opensource/ospx)
## Contributing
1. Fork it (<https://github.com/dnv-opensource/ospx/fork>)
2. Create your branch (`git checkout -b myBranchName`)
3. Commit your changes (e.g. `git commit -m 'place a descriptive commit message here'`)
4. Push to the branch (e.g. `git push origin myBranchName`)
5. Create a new Pull Request in GitHub
For your contribution, please make sure you follow the [STYLEGUIDE](STYLEGUIDE.md) before creating the Pull Request.
<!-- Markdown link & img dfn's -->
[dictIO_docs]: https://dnv-opensource.github.io/dictIO/README.html
[ospx_docs]: https://dnv-opensource.github.io/ospx/README.html
[farn_docs]: https://dnv-opensource.github.io/farn/README.html
[osp_docs]: https://open-simulation-platform.github.io/
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
author = "Frank Lumpitzsch, Claas Rostock, Seung Hyeon Yoo"

# The full version, including alpha/beta/rc tags
release = "0.2.12"
release = "0.2.13"

# -- General configuration ---------------------------------------------------

Expand Down
Loading

0 comments on commit c36de4c

Please sign in to comment.