Skip to main content

Generate Python wheel package from Simulink model!

Project description

Simbind CLI

Generate Python Wheel package from Simulink model to enhance your Software-in-Loop (SiL) tests development workflow! Please refer to Wiki and Examples to explore the project's capabilities and limitations.

Single Loop Feedback

Requirements

We highly recommend to use Dockerized version of Simbind, since collecting the correct versions of the necessary requirements can be challenging. If you opt for local installation, the following is required:

  • Linux x86-64 machine with installed Matlab R2023b.
  • Python 3.10 or 3.11: Simbind Architect requires Python 3.10+ and Simulink Exporter needs Python 3.9, 3.10 or 3.11.
  • From Matlab side you need Simulink suite with Embedded Coder.
  • You also need pip, gcc, cmake, make and swig. Under Debian-based distros you can install it with
    sudo apt-get install python3-pip build-essential cmake swig
    

To run output model you need only Linux x86-64 machine and Python 3.8+. We're open to extending support to Linux ARM and Windows x86-64 if there's sufficient interest!

Installation

To install from PyPi run

$ pip install simbind 

To clone project you will also need to pull submodules with:

$ git clone --recurse-submodules https://github.com/swag-engineering/simbind-cli.git

Usage

Simbind CLI is a wrapper around Simulink Exporter and Simbind Architect projects and intended to be used as a standalone tool, not as an importable module. If you want to use its functionality programmatically, please refer to subprojects.

$ simbind --help
usage: simbind [-h] --slx-path SLX_PATH [--pkg-name PKG_NAME] [--wheel-out-dir WHEEL_OUT_DIR]
               [--solver {ode1,ode2,ode3,ode4,ode5,ode8,ode14x,ode1be}] [--step STEP_SIZE]
               [--license-text LICENSE_TEXT] [-v]

Tool to generate Python wheel package from Simulink model.

options:
  -h, --help            show this help message and exit
  --slx-path SLX_PATH   Path to Simulink .slx file.
  --pkg-name PKG_NAME   Name of the output Python package. (default: 'model')
  --wheel-out-dir WHEEL_OUT_DIR
                        Path to folder where wheel package will be stored. (default: '.')
  --solver {ode1,ode2,ode3,ode4,ode5,ode8,ode14x,ode1be}
                        Fixed-step solver. (default: 'ode5')
  --step STEP_SIZE      Fixed step size in seconds. (default: '0.001')
  --license-text LICENSE_TEXT
                        License text that will be included in output Python wheel package. (default: '')
  -v                    Specifies the level of verbosity. Example: -vvv

For detailed instructions on the structure of the output Python package, please refer to our Wiki.

Issues

If you run into any issues or believe additional functionality is needed, please don't hesitate to open an issue or email us at contact@swag-engineering.io. We're always ready to assist!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simbind-0.1.9.tar.gz (52.6 kB view details)

Uploaded Source

Built Distribution

simbind-0.1.9-py3-none-manylinux2010_x86_64.whl (50.0 kB view details)

Uploaded Python 3 manylinux: glibc 2.12+ x86-64

File details

Details for the file simbind-0.1.9.tar.gz.

File metadata

  • Download URL: simbind-0.1.9.tar.gz
  • Upload date:
  • Size: 52.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for simbind-0.1.9.tar.gz
Algorithm Hash digest
SHA256 8a910bbe32f7fa3983cc42c240be437ac86b39110ce1c67d38c28cd5f7925fa0
MD5 fe512f46aaf25a9d0daef31157d795b1
BLAKE2b-256 5ca2f79a50a82483754164914a779c82586f0605fccc21f2f75bfe48f8fd3174

See more details on using hashes here.

File details

Details for the file simbind-0.1.9-py3-none-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for simbind-0.1.9-py3-none-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 46883665b54729995b34590c2b71d5f38c9341fa365fa0174c03d2b855a1364e
MD5 daadb442db7de1c1e479abd3eed91a15
BLAKE2b-256 c1f87414f3859a98448c6dd178488e53ef0d51f98e0afb1c798b38815bf8b02e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page