Mlfmu

Latest version: v1.0.2

Safety actively analyzes 722581 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.0.2

Changed

* MLFMU logo is added and conf.py is updated.
* Added checks for Windows vs Linux and fixed compilation for Linux/MacOS, updated README. Tested with Ubuntu 20.04, Ubuntu 22.04 and MacOS 14.4.

1.0.1

Changed

* Update generated docs; cleaning, fix for warnings, add missing pages and info, update authors and maintainers.
* Add where the source code for cppfmu can be found, add third party license.
* Added missing unit tests for the template data generated when building the FMU.
* Unit tests for the modelDescription.xml generation.
* Unit tests for the Interface JSON validation.
* Wind turbine power prediction model example is included in the mlfmu\examples\wind_to_power_pyspark directory.
* README.md : Interface.json is updated to show how to define vectors as inputs.
* Changed from `pip`/`tox` to `uv` as package manager
* README.md : Completely rewrote section "Development Setup", introducing `uv` as package manager.
* Added missing docstrings for py/cpp/h files with help of Github Copilot
* 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
* 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
* Default agent_(input/output)_indexes is [] by default instead of None
* Updated doc by running publish-interface-docs
* Deleted azure files from old azure devops repo
* The generated modelDescription.xml files now also contain <ModelStructure> with a list of the outputs of the FMU.
* 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.
* 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
* 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
* Default build target in builder to wind_to_power example
* 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 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
* Edited descriptions in the examples/wind_to_power/config/interface.json

Added

* Added BSD 3-Clause License
* Added `mypy` as static type checker (in addition to `pyright`)
* Add .gitattributes to handle line endings, removed eol from .editorconfig
* 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

Removed

* VS Code settings: Removed the setting which added the /src folder to PythonPath. This is no longer necessary. `uv` installs the project itself as a package in "editable" mode, which removes the need to manually add /src to the PythonPath environment variable.

GitHub workflows

* (all workflows): Adapted to use `uv` as package manager
* _test_future.yml : updated Python version to 3.13.0-alpha - 3.13.0
* _test_future.yml : updated name of test job to 'test313'

Dependencies

* Updated to ruff>=0.6.3 (from ruff==0.2.1)
* Updated to pyright>=1.1.378 (from pyright==1.1.350)
* Updated to sourcery>=1.22 (from sourcery==1.15)
* Updated to pytest>=8.3 (from pytest>=7.4)
* updated to pytest-cov>=5.0 (from pytest-cov>=4.1)
* Updated to Sphinx>=8.0 (from Sphinx>=7.2)
* Updated to sphinx-argparse-cli>=1.17 (from sphinx-argparse-cli>=1.11)
* Updated to myst-parser>=4.0 (from myst-parser>=2.0)
* Updated to furo>=2024.8 (from furo>=2023.9.10)
* Updated to setup-pythonv5 (from setup-pythonv4)
* Updated to actions-gh-pagesv4 (from actions-gh-pagesv3)
* Updated to upload-artifactv4 (from upload-artifactv3)
* Updated to download-artifactv4 (from download-artifactv3)
* Updated to dictIO>=0.3.4 (from dictIO>=0.3.1)

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.