FMPy
Simulate FMUs in Python.
Release timeline (newest first, grouped by year and version)
2026 5 entries
0.x
- v0.3.32 release
## What's Changed * Use fmi-rs in Container FMU by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/888 * Use tolerance to validate communicationStepSize by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/889 * Bump version to 0.3.32 by @t-sommer in https://github.
source: github-release - v0.3.31 release
## What's Changed * Write unit in _write_fmi3_model_description() by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/885 **Full Changelog**: https://github.com/CATIA-Systems/FMPy/compare/v0.3.30...v0.3.31
source: github-release - v0.3.30 release
## What's Changed * Fix handling of relative quantities by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/871 * Always reset solver after event by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/870 * Handle optional BaseUnit in write_model_description() by @t-so
source: github-release - v0.3.29 release
## What's Changed * Write variable dimensions in _write_fmi3_model_description() by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/856 * Add Xcode to CMake generators by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/857 * Assert matching number of elements in u
source: github-release - v0.3.28 release
## What's Changed * Bump CVode to v7.4.0 by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/809 * Bump werkzeug from 3.0.6 to 3.1.5 by @dependabot[bot] in https://github.com/CATIA-Systems/FMPy/pull/845 * Bump setuptools from 78.1.0 to 78.1.1 by @dependabot[bot] in https:/
source: github-release
2025 5 entries
0.x
- v0.3.27 release
## What's Changed * Bump version to 0.3.26 by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/801 * Add method getRecentFiles() to MainWindow by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/807 * Use jwlawson/actions-setup-cmake@v2 in CI by @t-sommer in https:/
source: github-release - v0.3.26 release
## What's Changed * Use console style log in GUI by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/779 * Add FMI API functions and type hints by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/785 * Rename parameter "component" to "c" in fmi2.py by @t-sommer in h
source: github-release - v0.3.24 release
## What's Changed * Add nbformat to dependencies by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/760 * Handle array variables in CSV files by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/764 * Use plotly in GUI, remove matplotlib and pyqtgraph by @t-sommer i
source: github-release - v0.3.25 release
Re-adds pyqtgraph to dependencies. **Full Changelog**: https://github.com/CATIA-Systems/FMPy/compare/v0.3.24...v0.3.25
source: github-release - v0.3.23 release
## What's Changed * Convert all unit tests to pytest by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/722 * Use Reference FMUs 0.0.37 in tests by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/723 * Add variable aliases to model description by @t-sommer in http
source: github-release
2024 3 entries
0.x
- v0.3.22 release
## What's Changed * Read attribute completedIntegratorStepNotNeeded by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/685 * Connect String variables in FMU Container by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/686 * Remove Modelica FMU import by @t-sommer
source: github-release - v0.3.21 release
## What's Changed * Fix literal comparison in main guard by @mjclarke94 in https://github.com/CATIA-Systems/FMPy/pull/651 * Display icons and port colors for Clock variables by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/658 * Call completedIntegratorStep() only if ne
source: github-release - v0.3.20 release
## What's Changed * Fix URL to Reference FMUs by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/635 * Convert library_dir to absolute path by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/634 * Add support for aarch64-darwin by @t-sommer in https://github.com/C
source: github-release
2023 6 entries
0.x
- v0.3.19 release
## What's Changed * Update FMI headers and schema to 3.0.1 by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/612 **Full Changelog**: https://github.com/CATIA-Systems/FMPy/compare/v0.3.18...v0.3.19
source: github-release - v0.3.18 release
## What's Changed * Remove blank lines from RECORD file by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/609 **Full Changelog**: https://github.com/CATIA-Systems/FMPy/compare/v0.3.17...v0.3.18
source: github-release - v0.3.16 release
## What's Changed * Don't load FreeLibrary() and dlclose() from _ctypes by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/532 * Add author, version, copyright, and license attributes by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/533 * Allow "0" and "1" as st
source: github-release - v0.3.17 release
## What's Changed * Implement fmi2{Get|Set}String for remoting by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/591 * Add "nominal" column in GUI by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/592 * Add DefaultExperiment element to FMU Container by @t-sommer
source: github-release - v0.3.15 release
## What's Changed * Add FMI 3.0 interface to Container FMU by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/516 * Add __str__() function to ValidationError by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/524 * Add FMI{2|3}SetString() functions to Modelica imp
source: github-release - v0.3.14 release
## What's Changed * Handle array variables in create_plotly_figure() by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/499 * Add documentation and files pages to GUI by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/505 * Add python-kaleido as dependency for SVG
source: github-release
2022 9 entries
0.x
- v0.3.13 release
## What's Changed * Use Reference FMUs 0.0.18 by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/442 * Handle Scheduled Execution FMUs in GUI by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/446 * Use lark instead of lark-parser by @t-sommer in https://github.co
source: github-release - v0.3.12 release
## What's Changed * Add missing files by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/424 * Remove ME from Container FMU and generate XML w/ jinja2 by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/430 * Handle Boolean literals in FMU Container by @t-sommer in
source: github-release - v0.3.11 release
## What's Changed * Add --interface-type parameter to CLI by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/412 * Log fields of structs in FMI calls by @t-sommer in https://github.com/CATIA-Systems/FMPy/pull/413 * Fix compilation of FMI 3.0 binaries via GUI by @t-sommer
source: github-release - v0.3.10 release
### Bug fixes - Fix architecture for 32-bit x86 in __init__.py (#398) - Enable compilation of FMI 3.0 FMUs in GUI (#396) ### Enhancements - Use Plotly as default in plot_result() - Add markers option to plot_result() - Add parameter intermediate_update to instantiate_fmu() - Buil
source: github-release - v0.3.9 release
## v0.3.9 (2022-05-11) ### Enhancements - Update FMI API to v3.0
source: github-release - v0.3.8 release
## v0.3.8 (2022-04-27) ### Bug fixes - Handle FMI 3.0 Integer types in logging and Recorder - Add default callbacks for FMI 1.0 and 2.0 (#384) ### Enhancements - Update FMI 3.0 headers and schema to v3.0-rc.2
source: github-release - v0.3.7 release
## v0.3.7 (2022-03-06) ### Bug fixes - Search for explicit versions in visual_studio_installation_paths() (#381) ### Enhancements - Update to FMI 3.0-beta.5 - Add initialize, terminate, and fmu_state parameters to simulate_fmu() to allow pausing and continuing simulations (#283)
source: github-release - v0.3.6 release
## v0.3.6 (2022-02-21) ### Bug fixes - Fix FMI logging of Integer arrays (#359) - Remove instanceName from fmi3LogMessageCallback() and fix type hints in printLogMessage() (#365) - Add logMessage parameter to FMI 3.0 constructors (#366) - Fix getDirectionalDerivative() and getAdj
source: github-release - v0.3.5 release
## v0.3.5 (2022-01-11) ### Bug fixes - Convert return values of get*Status() functions to Python types (#352) - Handle fmi2Discard returned by fmi2DoStep() (#353) - Add fmi2SetDebugLogging() to client_sm.cpp (#355) - Allow setting start values in Initialization Mode (#356) - Supp
source: github-release
2021 6 entries
0.x
- v0.3.4 release
## v0.3.4 (2021-12-10) ### Bug fixes - Fix links to FMI Specs (#349) - Fix validation of quoted variable names (#347) - Set start values of Container FMU's variables (#345) ### Enhancements - Use Dash 2.0 and update dependencies (#339) - Raise FMICallExeption when FMI calls fail
source: github-release - v0.3.3 release
## v0.3.3 (2021-11-29) ### Bug fixes - Add type cast to arguments of QMainWindows.resize() (#344) - return filename in download_file() if file already exists (#332) - Decode UTF-8 string in fmi3.printLogMessage() - Handle c_bool in _log_fmi_args() - Add default "initial" for fixe
source: github-release - v0.3.2 release
## v0.3.2 (2021-10-14) ### Bug fixes - Escape XML attributes in Container FMU (#216) - Handle NULL pointers in fmi2Instantiate() in remoting client (#324) - Add fmi2CancelStep() to remoting client (#325) - Calculate t_next from n_fixed_steps (#318) - Add trailing path separator t
source: github-release - v0.3.1 release
## v0.3.1 (2021-07-21) ### Bug fixes - Fix type hint for parameter "input" in "simulate_fmu()" (#286) - Set output arguments in fmi3.intermediateUpdate() (#273) - Allow fixed and tunable structural parameters (#268) - Fix model structure of Container FMU (#267) - Add missing para
source: github-release - v0.3.0 release
This release drops Python 2.7 support. The minimum required version is now Python 3.5. ### Enhancements - Update API to FMI 3.0-beta.1 - Add type hints to Model Description and simulate_fmu() - Add "Hide All" and fix "Show All" columns in GUI - Add target_platform parameter to co
source: github-release - v0.2.27 release
### Enhancements - Scale icons on High DPI screens (#226) - Add min and max columns and "Show All" action (#225) - Update link to FMI 2.0.2 spec (#210) - Handle missing documentation and model.png in web app (#187) - Validate XML against schema in validate_fmu() (#223) - Check fo
source: github-release
2020 10 entries
0.x
- v0.2.26 release
### Enhancements - Create "FMU Containers" with nested FMUs (experimental) (#193) - Handle Scheduled Execution in instantiate_fmu() (#200) - Add "create-jupyter-notebook" command to CLI (#192) - Add all parameters to start_values in Jupyter Notebook (#190) - Fix Boolean start val
source: github-release - v0.2.25 release
### Enhancements - Add Dash based [web app](https://github.com/CATIA-Systems/FMPy#start-the-web-app) - Add [Jupyter Notebook generation](https://github.com/CATIA-Systems/FMPy#create-a-jupyter-notebook) - Don't import NumPy in fmi1.py to allow reuse in projects with minimal depend
source: github-release - v0.2.24 release
## v0.2.24 (2020-10-14) ### Enhancements - Allow start values with units and display units (#177) - Add FMI 3.0 Scheduled Execution API
source: github-release - v0.2.23 release
### Enhancements - Add getAdjointDerivative() and fix getDirectionalDerivative() - Validate results for FMI 3 Reference FMUs - Add getClock() and setClock() to _FMU3 - Add FMU2Model.getNominalsOfContinuousStates() ### Bug fixes - Fix logging for FMI 3 (#159) - Read start value of
source: github-release - v0.2.22 release
- `FIXED` Forward fmi2NewDiscreteStates() in remoting client (#154) - `FIXED` Fix createDesktopShortcut() and addFileAssociation() (#153) - `NEW` Update FMI 3 API to 3.0-alpha.5
source: github-release - v0.2.21 release
- `FIXED` Set inputs in CVode root function before getting event indicators (#150) - `FIXED` Add scipy to required packages for fmpy[plot] (#146) - `FIXED` Activate conda environment in file open command and desktop shortcut (#131) - `FIXED` Evaluate terminateSimulation in simula
source: github-release - v0.2.20 release
- `FIXED` Fix fmi3Functions.h for compile_platform_binary() - `FIXED` Fix serialization in write_csv() (#138) - `FIXED` Check for existing documentation/licenses in add_remoting() (#126) - `FIXED` Fix function names in RPC calls (#125) - `CHANGED` Require pathlib only for Python
source: github-release - Fixes, efficient loops, 32-bit remoting, improved logging
v0.2.18release- `FIXED` A list is now passed to np.stack() instead of an iterable and Iterable is now imported from collections.abc to avoid FutureWarnings. - `FIXED` Argument checksum of function fmpy.util.download_file() can now be upper case. - `FIXED` Start and stop time are now passed to
source: github-release - Bugfixes, license changed to 2-clause BSD
v0.2.19release- `FIXED` fmi2SetupExperiment() is now called again in FMI 2.0 for Co-Simulation - `FIXED` The working directory for the remoting server is now set to binaries/win32 - `FIXED` ssp.simulation.set_value() has been fixed for Integer and Enumeration variables - `NEW` A license file i
source: github-release - Improved GUI and error handling
v0.2.17release- `NEW` "Clear Plots" action has been added to the context menu - `IMPROVED` single quotes are now removed from name segments in the tree view - `IMPROVED` a RuntimeError is raised when an errors occurs in CVode - `IMPROVED` exceptions are raised for undefined declaredType, illeg
source: github-release
2019 8 entries
0.x
- Improved XML validation, examples & FMI 3 support, CVode 5.0
v0.2.16releaseThis release re-adds the pre-compiled SUNDIALS libraries and has no functional changes w.r.t. v0.2.15. ## v0.2.15 (2019-12-18) - `FIXED` validation of structured variable names with apostrophes - `FIXED` dimensions of variables in FMI 3 - `NEW` validation of "flat" variable names
source: github-release - Improved validation & --visible option for CLI
v0.2.14release- `FIXED` "Load Start Values" only enabled when FMU can be simulated - `NEW` --visible option in CLI - `NEW` XML line numbers added to validation messages - `NEW` validation of variables names for naming convention "structured" - `IMPROVED` visible=fmi2True when simulating in GUI
source: github-release - Support for FMI 3.0 Alpha 1, output interval in GUI
v0.2.12release- `FIXED` compilation of platform binary on Windows 32-bit - `IMPROVED` support for FMI 3.0 Alpha 1 - `IMPROVED` output interval can now be set in the GUI - `IMPROVED` output interval is now calculated based on stepSize attribute
source: github-release - Extended FMI 3.0 alpha 2 support & improved GUI
v0.2.13release- `NEW` check for illegal filenames in FMU archives - `NEW` reload button in GUI - `IMPROVED` extended FMI 3.0 alpha 2 support - `CHANGED` increased max. filesize for Cross-Check FMUs
source: github-release - FMPy 0.2.11: improved robustness and validation
v0.2.11release- `FIXED` leading spaces in dependency list are now handled correctly - `FIXED` input files with only one sample can now be handled - `IMPROVED` errors during cleanup of temporary directories are now ignored - `IMPROVED` "Relative Tolerance" input field is now enabled for Co-Simu
source: github-release - Experimental FMI 3.0 support, FMI Cross-Check validation scripts
v0.2.10release- `FIXED` set start values before entering initialization mode - `NEW` experimental FMI 3.0 support - `NEW` FMI Cross-Check validation scripts to validate FMUs and results - `IMPROVED` handling of reference signals with duplicate sample times
source: github-release - Improved logging, discrete inputs and tunable parameters
v0.2.9release- `FIXED` handling of discrete inputs - `FIXED` set continuous states after solver step - `NEW` set tunable parameters via input - `IMPROVED` disable inactive root warnings for CVode - `IMPROVED` error and log messages - `IMPROVED` plotting of discrete signals
source: github-release
2018 9 entries
0.x
- Improvements, Bugfixes, no more Windows 32-bit on Conda-Forge
v0.2.8releaseA holiday release with bug fixes and improvements. **NOTE**: Conda-Forge has [dropped support for Windows 32-bit](https://github.com/conda-forge/staged-recipes/issues/5640), so v0.2.7 is the last release that can be installed via conda on Windows 32-bit. - `FIXED` Handle optional
source: github-release - CMake projects and enum items
v0.2.6release- `NEW` CMake project generation for C code FMUs - `NEW` Read Enumeration items from modelDescription.xml - `FIXED` GUI with Python 2.7
source: github-release - Updated download URLs, relative tolerance for co-simulation
v0.2.7release- `FIXED` Test files are now downloaded form GitHub - `FIXED` Compilation of model exchange FMUs works now - `NEW` --relative-tolerance parameter is now passed to FMI 2.0 co-simulation FMUs - `NEW` Platform binary can now be compiled from within the GUI (Help > Compile Platform B
source: github-release - Improved handling of input signals
v0.2.5release- input is now applied before initialization for co-simulation - "time" column for input signals can now have an arbitrary name
source: github-release - FMI functions added, improved CLI, GUI and SSP
v0.2.4release- `NEW` Remaining FMI functions added - `NEW` More options for command line interface - `NEW` More elements added to SSP parser - `NEW` Polished GUI - `FIXED` No more warning when starting the GUI
source: github-release - Improved logging, handling of start values and bug fixes
v0.2.3releaseThis release improves the GUI, adds better logging and fixes some smaller issues. - `NEW` Allow simulation of extracted FMUs and pre-loaded model descriptions - `NEW` Re-load an FMU in the GUI - `NEW` Load start values from an FMU - `NEW` Write changed start values back to the FM
source: github-release