Skip to content

Latest commit

 

History

301 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SLXIO

SLXIO – SIMULINK SLX File I/O Library

Status

Windows MinGW Ubuntu MacOS Documentation CodeQL Build status Sanitizer GitHub License Release codecov CodeFactor Codacy Badge pre-commit.ci status SonarQube Bugs Quality gate status

Overview

Slxio is an open‑source C++14 library for reading, writing, visualizing, and exporting Simulink® .slx model files.

The project is designed as a lightweight alternative to MATLAB® proprietary libraries and runtime, similar in spirit to the MATIO library for .mat files. Its goal is to make Simulink models accessible outside the MATLAB ecosystem, enabling manipulation and integration through modern scripting languages such as Python, Java, and others via C++ bindings. It was originally derived from the Java-based Simulink parser of the ConQAT Project. Find the original source code here SimulinkLibraryForJava, ported to C++ and refactored into a highly modular architecture.

Slxio does not aim to support all Simulink® features, but rather focuses on the most commonly used ones. The library provides a simple and intuitive api for accessing and modifying Simulink® model components such as blocks, lines, parameters, and Stateflow charts, via a mimic of the MATLAB Simulink® API. This makes it easy for users familiar with MATLAB to get started, and reduce the effort when migrating Matlab based scripts into Slxio based ones.

Key features

  • Access Simulink® models outside MATLAB® Read .slx block‑diagram files into native C++ structures.
  • Export models in scientific formats Support HDF5, NetCDF, and similar standards for use in research, simulation, and data analysis pipelines.
  • Export models in visualization formats Provide Json, Mermaid, Drawio, and Graphviz outputs for integration with visualization tools and lightweight sharing.
  • Modify block diagrams without MATLAB® licenses or installation, by editing parameters and metadata directly, then save changes back into *.slx files.
  • Provide graph‑compatible structures for open source libraries Load models into graph abstractions compatible with Boost Graph, Lemon, igraph, or ogdf .
  • Provide Python-compatible model representations for integration with modern scientific computing frameworks like JAX, and machine learning framworks such as PyTorch, and TensorFlow.
  • Explore models visually Qt‑based Interactive visualization to navigate model structures.

Getting-Started

Contributing

Slxio is an open source project, and is thus built with your contributions, if you are interested in collaborating, please see our contributing guide or contact the maintainers via email at mail.

License

All material is provided under an Apache License unless otherwise specified. See the LICENSE file for more informations.

SonarQube Cloud

Releases

Packages

Used by

Contributors

Languages