FMPy
Simulate Functional Mock-up Units (FMUs) in Python
Install / Use
/learn @CATIA-Systems/FMPyREADME
FMPy
FMPy is a free Python library to simulate Functional Mock-up Units (FMUs) that...
- supports FMI 1.0, 2.0, and 3.0
- supports Co-Simulation and Model Exchange
- runs on Windows, Linux and macOS
- has a command line, graphical user interface, and web app
- creates Jupyter Notebooks
- compiles C code FMUs and generates CMake projects for debugging
Installation
Install from PyPI with python -m pip install fmpy[complete]
Start the Graphical User Interface
You can start the FMPy GUI with python -m fmpy.gui

Simulate an FMU in Python
To follow this example download Rectifier.fmu for your platform by clicking on the respective link:
Linux,
macOS,
Windows.
Change to the folder where you've saved the FMU and open a Python prompt.
>>> from fmpy import *
>>> fmu = 'Rectifier.fmu'
>>> dump(fmu) # get information
Model Info
FMI Version 2.0
Model Name Rectifier
Description Model Rectifier
Platforms win64
Continuous States 4
Event Indicators 6
Variables 63
Generation Tool MapleSim (1267140/1267140/1267140)
Generation Date 2017-10-04T12:07:10Z
Default Experiment
Stop Time 0.1
Step Size 1e-07
Variables (input, output)
Name Causality Start Value Unit Description
outputs output 282.842712474619 V Rectifier1.Capacitor1.v
>>> result = simulate_fmu(fmu) # simulate the FMU
>>> from fmpy.util import plot_result # import the plot function
>>> plot_result(result) # plot two variables

Simulate an FMU on the command line
To get information about an FMU directly from the command line change to the folder where you've saved the FMU and enter
fmpy info Rectifier.fmu
Simulate the FMU and plot the results
fmpy simulate Rectifier.fmu --show-plot
Get more information about the available options
fmpy --help
Create a Jupyter Notebook
To create a Jupyter Notebook open an FMU in the FMPy GUI and select Tools > Create Jupyter Notebook... or run
fmpy create-jupyter-notebook Rectifier.fmu
on the command line and open the notebook in Jupyter with
jupyter notebook Rectifier.ipynb

Start the Web App
The FMPy Web App is built with Dash and a great way to share your FMUs with anyone that has a web browser. To start it run
python -m fmpy.webapp Rectifier.fmu
on the command line or use --help for more options.

Advanced Usage
To learn more about how to use FMPy in you own scripts take a look at the coupled_clutches.py, custom_input.py and parameter_variation.py examples.
Commercial Support
You're starting a project, need training or professional support? Our partners at LTX Simulation are ready to help you. Please send an e-mail to support@ltx.de for a quote.
<p align="center"> <a href="https://3ds.com/"><img src="docs/made-by-3ds.svg"/></a> </p>
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
85.3kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
342.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
