← AeroToolkit

FMPy

Simulate FMUs in Python.

74 timeline entries · 1 major versions/milestones · 10 years · https://github.com/CATIA-Systems/FMPy · RSS

Release timeline (newest first, grouped by year and version)

2026 5 entries

0.x

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

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

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

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

  5. 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:/

2025 5 entries

0.x

  1. 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:/

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

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

  4. v0.3.25 release

    Re-adds pyqtgraph to dependencies. **Full Changelog**: https://github.com/CATIA-Systems/FMPy/compare/v0.3.24...v0.3.25

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

2024 3 entries

0.x

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

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

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

2023 6 entries

0.x

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

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

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

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

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

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

2022 9 entries

0.x

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

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

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

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

  5. v0.3.9 release

    ## v0.3.9 (2022-05-11) ### Enhancements - Update FMI API to v3.0

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

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

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

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

2021 6 entries

0.x

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

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

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

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

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

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

2020 10 entries

0.x

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

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

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

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

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

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

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

  8. Fixes, efficient loops, 32-bit remoting, improved logging v0.2.18 release

    - `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

  9. Bugfixes, license changed to 2-clause BSD v0.2.19 release

    - `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

  10. Improved GUI and error handling v0.2.17 release

    - `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

2019 8 entries

0.x

  1. Improved XML validation, examples & FMI 3 support, CVode 5.0 v0.2.16 release

    This 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

  2. v0.2.15 tag
    source: github-tag
  3. Improved validation & --visible option for CLI v0.2.14 release

    - `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

  4. Support for FMI 3.0 Alpha 1, output interval in GUI v0.2.12 release

    - `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

  5. Extended FMI 3.0 alpha 2 support & improved GUI v0.2.13 release

    - `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

  6. FMPy 0.2.11: improved robustness and validation v0.2.11 release

    - `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

  7. Experimental FMI 3.0 support, FMI Cross-Check validation scripts v0.2.10 release

    - `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

  8. Improved logging, discrete inputs and tunable parameters v0.2.9 release

    - `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

2018 9 entries

0.x

  1. Improvements, Bugfixes, no more Windows 32-bit on Conda-Forge v0.2.8 release

    A 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

  2. CMake projects and enum items v0.2.6 release

    - `NEW` CMake project generation for C code FMUs - `NEW` Read Enumeration items from modelDescription.xml - `FIXED` GUI with Python 2.7

  3. Updated download URLs, relative tolerance for co-simulation v0.2.7 release

    - `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

  4. Improved handling of input signals v0.2.5 release

    - input is now applied before initialization for co-simulation - "time" column for input signals can now have an arbitrary name

  5. FMI functions added, improved CLI, GUI and SSP v0.2.4 release

    - `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

  6. Improved logging, handling of start values and bug fixes v0.2.3 release

    This 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

  7. v0.2.2 tag
    source: github-tag
  8. v0.2.1 tag
    source: github-tag
  9. v0.2.0 tag
    source: github-tag

2017 13 entries

0.x

  1. v0.1.2 tag
    source: github-tag
  2. v0.1.1 release
  3. v0.1.0 tag
    source: github-tag
  4. v0.0.9 release
  5. v0.0.8 tag
    source: github-tag
  6. v0.0.7 tag
    source: github-tag
  7. v0.0.6 tag
    source: github-tag
  8. v0.0.5 tag
    source: github-tag
  9. v0.0.4 tag
    source: github-tag
  10. v0.0.3 tag
    source: github-tag
  11. v0.0.2 tag
    source: github-tag

Milestones

0.x

  1. v0.0.1 tagmajorFirst release
    source: github-tag