Skip to content

  • Quick Start


    Get up and running with FMU Manipulation Toolbox in minutes

    Getting Started

  • Installation


    Install on Windows, Linux, or macOS with pip or from source

    Installation Guide

  • User Guides


    Learn to use the GUI, CLI, or Python API

    Browse Guides

  • Examples


    Explore practical use cases and ready-to-use solutions

    View Examples

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.

fmutool -input module.fmu -remove-toplevel -output module-flat.fmu

Ideal for automation, scripting, and integration into build pipelines.

from fmu_manipulation_toolbox.operations import FMU, OperationStripTopLevel

fmu = FMU("module.fmu")
fmu.apply_operation(OperationStripTopLevel())
fmu.repack("module-flat.fmu")

Full programmatic control for complex workflows and custom integrations.

Key Features

  • FMU Analysis


    • List all ports and their attributes
    • Validate modelDescription.xml against 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:

pip install fmu-manipulation-toolbox

Virtual Environment Recommended

For production use, we recommend installing in a virtual environment to avoid dependency conflicts:

python -m venv fmu_env
source fmu_env/bin/activate  # On Windows: fmu_env\Scripts\activate
pip install fmu-manipulation-toolbox

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")
# Analyze FMU
fmutool -input my_model.fmu -summary

# Remove internal variables
fmutool -input my_model.fmu \
  -remove-regexp "^_.*" \
  -output my_model_clean.fmu

# Verify result
fmutool -input my_model_clean.fmu -check

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?

Community & Support


FMU Manipulation Toolbox is maintained by Renault Group

Getting Started View on GitHub