Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PR template #56

Merged
merged 2 commits into from
Jul 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
## Description

<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps to reproduce -->
<!--- Please link to the issue here: -->
<!--- Example: Resolves #15 -->
Resolves #issue_nr

<!-- A brief summary of the change and which issue is fixed. -->
<!-- What is the current behavior (pre-fix) and what is the new expected behavior? -->
...

<!-- List any dependencies that are required for this change (if any) -->

## How Has This Been Tested?

<!-- Describe the tests that you ran to verify your changes.-->
<!-- List any relevant details for your test configuration.-->

- [ ] Test A
- [ ] Test B

## Screenshots (if appropriate)

## Developer Checklist (before requesting PR review)

- [ ] My code follows the style guidelines of this project
- [ ] My changes generate no new warnings
- [ ] Any dependent changes have been merged and published in downstream modules

I have:

- [ ] commented my code, particularly in hard-to-understand areas
- [ ] performed a self-review of my own code
- [ ] not committed unnecessary formatting changes, thereby occluding the actual changes (e.g. change of tab spacing, eol, etc.)
- [ ] made corresponding changes to the documentation
- [ ] added change to CHANGELOG.md
- [ ] added tests that prove my fix is effective or that my feature works (for core features)

## Reviewer checklist

I have:

- [ ] performed a self-review of my own code have performed a review of the code
- [ ] tested that the software still works as expected
- [ ] checked updates to documentation
- [ ] checked that the CHANGELOG is updated
153 changes: 59 additions & 94 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,162 +5,133 @@ The changelog format is based on [Keep a Changelog](https://keepachangelog.com/e

## [Unreleased]

### Dependencies
* Updated to ruff==0.5.1 (from ruff==0.4.2)
* Updated to pyright==1.1.371 (from pyright==1.1.360)
* Updated to sourcery==1.21 (from sourcery==1.16)
* Updated to dictIO>=0.3.4 (from dictIO>=0.3.4)
* Updated to sphinx-argparse-cli>=1.16 (from sphinx-argparse-cli>=1.15)
* Updated to furo>=2024.5 (from furo>=2024.4)
* Updated to setup-python@v5 (from setup-python@v4)
* Updated to actions-gh-pages@v4 (from actions-gh-pages@v3)
* Updated to upload-artifact@v4 (from upload-artifact@v3)
* GitHub workflows: Replaced pip install tox with pip install tox-uv
* GitHub workflows: Removed cache: 'pip' for tox-uv compatibility
* GitHub workflows: Install dependencies: change singleline run statements to multiline run statements
* GitHub workflows: Add step to install 'uv' package
* GitHub workflows: Add step to install 'uv' package
* GitHub workflows: Install dependencies: change from 'pip install' to 'uv pip install'
* GitHub workflow _test_future.yml : updated Python version to 3.13.0-alpha - 3.13.0
* GitHub workflow _test_future.yml : updated name of test job to 'test313'

### Dependencies
* updated to ruff==0.4.2 (from ruff==0.3.0)
* updated to pyright==1.1.360 (from pyright==1.1.352)
* updated to sourcery==1.16 (from sourcery==1.15)
* updated to pytest>=8.2 (from pytest>=7.4)
* updated to pytest-cov>=5.0 (from pytest-cov>=4.1)
* updated to Sphinx>=7.3 (from Sphinx>=7.2)
* updated to sphinx-argparse-cli>=1.15 (from sphinx-argparse-cli>=1.11)
* updated to myst-parser>=3.0 (from myst-parser>=2.0)
* updated to furo>=2024.4 (from furo>=2023.9.10)

### Changed
* Add conan dependency to pyproject.toml

### Changed
* Moved CMake + conan + c++ package files and folders with cpp code inside src folder to be included in package
* Replace pkg_resources with importlib.metadata for getting packages version to work in python 3.12
* Replace deprecated root_validator with model_validator in pydanitc class
* Remove unnecessary hard coded values in utils/builder.py
* Add MlFmuBuilder class to generate code and compile FMU
* Find default paths to files and directories if not given in cli
* Run functions in utils/builder.py according to which command is being run
* Clean up temporary/build files after the process is done
* Remove unnecessary hard coded values in utils/builder.py
* Complete cli interface
* Add subparsers to cli argparser to handle several different commands
* Create MlFmuBuilder from args and run code according to command
* Change cli test to match the new cli interface/parser

### Changed

* Default agent_(input/output)_indexes is [] by default instead of None
* Updated doc by running publish-interface-docs
* Added feature to be able to initialize states using previously defined parameters or inputs
* This is done by setting "initializationVariable" = "{variable name}", instead of using the "name" and "start_value" attributes
* Added flag in schema to allow a variable to be reused when initializing states
* Allowed for multiple states to use the same variable for initialization

### Changed
* Deleted azure files from old azure devops repo

### Changed
* The generated modelDescription.xml files now also contain <ModelStructure> with a list of the outputs of the FMU.

### Changed
* OnnxFmu cpp template class updated to be able to initialize state with FMU Variables
* Add variables to specify which FMU variable that should be used to initialize which state
* Add function to DoStep that initializes the state at the beginning of the first time step.
* Add function to DoStep that initializes the state at the beginning of the first time step.
* model_definitions_template.h
* Add definitions for the the number of states that should be initialized and array of index/value reference pairs to describe how the states should be initialized
* Fmu Component json interface
* Add name, description and start_value to state in the json interface
* States changed from a single InternalState to a list of InternalState
* Added code to generate parameters for initialization of state
* States changed from a single InternalState to a list of InternalState

### Added
* .clang-format to consistently format cpp code

### Changed
* Fixed typo from 'tunnable' to 'tunable'
* Fixed number of onnx output check to be correct (1-3 and not always raising exception)
* Fix correct fmi causality for parameters
* Fix correct default variability for parameters
* Fix expanding of array variables into one variable per index for inputs and parameters to work as outputs

### Changed
* Default build target in builder to wind_to_power example

### Added
* Wind to power model example in examples
* Onnx file containing ml model
* Interface json file containing information needed not contained in onnx file
* The generated fmu files resulting from running running builder on the new wind_to_power example

### Changed
* CMakeList.txt (from old repo) to be able to take an arbitrary path where the fmu files to be compiled are located
* Builder to run commands to compile generated files into an fmu
* Can take and keep track of arbitrary paths
* Builder checks if the files needed to compile the fmu exists before trying to compile the fmu
* Replaced "TODO: Trow Error?" with raising a fitting exception
* Replaced "TODO: Trow Error?" with raising a fitting exception
* replaced black formatter with ruff formatter
* Changed publishing workflow to use OpenID Connect (Trusted Publisher Management) when publishing to PyPI
* Updated copyright statement
* VS Code settings: Turned off automatic venv activation

### Added
* CMakeLists.txt and conanfile.txt from old repo to configure compiling/building FMU from generated files

### Changed
* replaced black formatter with ruff formatter
* Add .github/pull_request_template.md for enabling PR templates on Github
* Add conan dependency to pyproject.toml
* Add MlFmuBuilder class to generate code and compile FMU
* Find default paths to files and directories if not given in cli
* Run functions in utils/builder.py according to which command is being run
* Clean up temporary/build files after the process is done
* Added feature to be able to initialize states using previously defined parameters or inputs
* This is done by setting "initializationVariable" = "{variable name}", instead of using the "name" and "start_value" attributes
* Added flag in schema to allow a variable to be reused when initializing states
* Allowed for multiple states to use the same variable for initialization
* .clang-format to consistently format cpp code
* Added code to generate parameters for initialization of state
* Wind to power model example in examples
* Onnx file containing ml model
* Interface json file containing information needed not contained in onnx file
* The generated fmu files resulting from running running builder on the new wind_to_power example
* CMakeLists.txt and conanfile.txt from old repo to configure compiling/building FMU from generated files
* 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.

### Dependencies

* Updated to ruff==0.5.1 (from ruff==0.4.2)
* Updated to pyright==1.1.371 (from pyright==1.1.360)
* Updated to sourcery==1.21 (from sourcery==1.16)
* Updated to dictIO>=0.3.4 (from dictIO>=0.3.4)
* Updated to sphinx-argparse-cli>=1.16 (from sphinx-argparse-cli>=1.15)
* Updated to furo>=2024.5 (from furo>=2024.4)
* Updated to setup-python@v5 (from setup-python@v4)
* Updated to actions-gh-pages@v4 (from actions-gh-pages@v3)
* Updated to upload-artifact@v4 (from upload-artifact@v3)
* GitHub workflows: Replaced pip install tox with pip install tox-uv
* GitHub workflows: Removed cache: 'pip' for tox-uv compatibility
* GitHub workflows: Install dependencies: change singleline run statements to multiline run statements
* GitHub workflows: Add step to install 'uv' package
* GitHub workflows: Add step to install 'uv' package
* GitHub workflows: Install dependencies: change from 'pip install' to 'uv pip install'
* GitHub workflow _test_future.yml : updated Python version to 3.13.0-alpha - 3.13.0
* GitHub workflow _test_future.yml : updated name of test job to 'test313'
* updated to ruff==0.4.2 (from ruff==0.3.0)
* updated to pyright==1.1.360 (from pyright==1.1.352)
* updated to sourcery==1.16 (from sourcery==1.15)
* updated to pytest>=8.2 (from pytest>=7.4)
* updated to pytest-cov>=5.0 (from pytest-cov>=4.1)
* updated to Sphinx>=7.3 (from Sphinx>=7.2)
* updated to sphinx-argparse-cli>=1.15 (from sphinx-argparse-cli>=1.11)
* updated to myst-parser>=3.0 (from myst-parser>=2.0)
* updated to furo>=2024.4 (from furo>=2023.9.10)
* updated to ruff==0.3.0 (from ruff==0.2.1)
* updated to pyright==1.1.352 (from pyright==1.1.350)
* removed black

### Changed
* Changed publishing workflow to use OpenID Connect (Trusted Publisher Management) when publishing to PyPI
* Updated copyright statement
* VS Code settings: Turned off automatic venv activation

### Dependencies
* updated to dictIO>=0.3.3 (from dictIO>=0.3.1)

### 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.

* 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.

## [0.1.6] - 2024-02-20

### 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 ruff==0.2.1 (from ruff==0.1.8)
* updated to pyright==1.1.350 (from pyright==1.1.338)
* updated to sourcery==1.15 (from sourcery==1.14)
* updated to dictIO>=0.3.1 (from dictIO>=0.2.9)


## [0.1.5] - 2023-11-08

### Changed

* incorporated latest updates introduced in mvx


## [0.1.4] - 2023-09-25

### Dependencies

* Updated dependencies to latest versions


## [0.1.3] - 2023-08-24

### Changed
Expand All @@ -170,7 +141,6 @@ This removes the need to manually add /src to the PythonPath environment variabl
* Updated README.md to include guidance on how to create a .env file locally
* dependencies: updated packages in requirements-dev.txt to latest versions


## [0.1.2] - 2023-06-22

### Changed
Expand All @@ -181,14 +151,12 @@ This removes the need to manually add /src to the PythonPath environment variabl
(from formerly py39 and py310)
* GitHub workflows: changed default Python version from 3.10 to 3.11


## [0.1.1] - 2023-05-02

### Changed

* requirements-dev.txt: Updated dependencies to latest versions


## [0.1.0] - 2023-02-21

### Changed
Expand All @@ -197,7 +165,6 @@ This removes the need to manually add /src to the PythonPath environment variabl
(As this is a very common case in science calculus)
* README.md: Changed install infos for development setup to pip install requirements-dev.txt (not requirements.txt)


## [0.0.1] - 2023-02-21

* Initial release
Expand All @@ -221,14 +188,12 @@ This removes the need to manually add /src to the PythonPath environment variabl
### Deprecated

* following features will soon be removed and have been marked as deprecated:
* function x in module z
* function x in module z

### Removed

* following features have been removed:
* function y in module z


* function y in module z

<!-- Markdown link & img dfn's -->
[unreleased]: https://github.com/dnv-innersource/mlfmu/compare/v0.1.6...HEAD
Expand Down