¶
-
Quick Start
Get up and running with FMU Manipulation Toolbox in minutes
-
Installation
Install on Windows, Linux, or macOS with pip or from source
-
User Guides
Learn to use the GUI, CLI, or Python API
-
Examples
Explore practical use cases and ready-to-use solutions
Overview¶
FMU Manipulation Toolbox is a comprehensive Python toolkit designed to analyze, modify, and combine Functional Mock-up Units (FMUs) without requiring recompilation. Built for engineers and developers working with FMI-compliant models, it provides three powerful interfaces:
Perfect for interactive, visual manipulation of FMUs with an intuitive point-and-click interface.
Ideal for automation, scripting, and integration into build pipelines.
Key Features¶
-
FMU Analysis
- List all ports and their attributes
- Validate
modelDescription.xmlagainst XSD schema - Check FMI compliance and custom rules
- Extract statistics and metadata
-
FMU Modification
- Rename ports individually or in batch via CSV
- Filter variables with regular expressions
- Remove hierarchy levels
- Modify variable attributes
- Remove sources
-
FMU Containers
- Combine multiple FMUs into one
- Define automatic or explicit connections
- Multi-threading support
- Performance profiling
-
Binary Interfaces
- Add 32-bit interface to 64-bit FMU (Windows)
- Add 64-bit interface to 32-bit FMU (Windows)
- Frontend mode for separate process execution
Supported Platforms & Standards¶
FMI Versions¶
- FMI 2.0 Co-Simulation
- FMI 3.0 Co-Simulation
Operating Systems¶
- Windows 10/11 (primary platform)
- Linux (Ubuntu 22.04+)
- macOS (Darwin)
Installation¶
Install with a single command:
Virtual Environment Recommended
For production use, we recommend installing in a virtual environment to avoid dependency conflicts:
For detailed installation instructions, platform-specific notes, and troubleshooting, see the Installation Guide.
Quick Example¶
Here's how to analyze and modify an FMU in just a few lines:
from fmu_manipulation_toolbox.operations import FMU
# Load and analyze
fmu = FMU("my_model.fmu")
# Display informations about the FMU
fmu.summary()
# Remove internal variables
operation = OperationRemoveRegexp(r"^_.*")
fmu.apply_operation(operation)
# Save modified FMU
fmu.repack("my_model_clean.fmu")
Why FMU Manipulation Toolbox?¶
Key Benefits
- No Recompilation Required
- Modify FMUs without access to source code or compilation toolchain
- Multiple Interfaces
- Choose the interface that fits your workflow: GUI, CLI, or Python API
- Open Source
- BSD-2-Clause license allows both commercial and non-commercial use
What's Next?¶
-
New to FMU Manipulation Toolbox? Start here!
-
Deep dive into GUI, CLI, and Python API
-
Learn from practical, real-world scenarios
-
Find solutions to common issues
Community & Support¶
Get Help¶
FMU Manipulation Toolbox is maintained by Renault Group