Skip to main content

ymmsl2svg: Visualize yMMSL workflows

Visualize yMMSL workflow as Scalable Vector Graphics (SVG).

This tool takes a yMMSL model (from a v0.2 yMMSL file) and generates an SVG image to represent it.

Features

  • Visualize the coupling diagram for yMMSL (sub)models
  • Call/release (a.k.a. macro-micro) coupling
  • Dispatch coupling
  • Visualize component ports: F_INIT ports are drawn on the left side of a component as an open diamond, O_F ports on the right side as a closed diamond, and O_I and S ports on the bottom as respectively a closed and an open circle.
  • Visualize model ports: F_INIT ports on the left side of the model, O_F ports on the right side. Model O_I and S ports are not (yet) supported.
  • Visualize "multi-cast" conduits, where one output port sends to multiple input ports.
  • Draw conduits with filters.

Note that not ymmsl2svg cannot visualize all valid yMMSL configurations, see Roadmap for a brief overview of missing functionality.

Examples

Click to open the image in a new tab and enable interactive features, such as tooltips with the port name when hovering over a port.

Dispatch submodel with model ports

Complex call/release coupling

Installation

ymmsl2svg is available on PyPI and can be installed with pip:

pip install ymmsl2svg

Usage

# Create 'workflow.svg' image from the root model in 'workflow.ymmsl'
ymmsl2svg workflow.ymmsl -o workflow.svg

# Show supported options and settings
ymmsl2svg --help

Live viewer

ymmsl2svg-live shows the diagram of a yMMSL file in your browser and re-renders it every time you save the file, so you can edit yMMSL in your favourite text editor with a live preview next to it. If you save a file with errors, the error message appears above the last working diagram. If there is no working diagram yet, you see just the error until you fix it. It works on Linux, macOS and Windows (including WSL).

To use it on your own computer, run:

ymmsl2svg-live workflow.ymmsl

This opens the viewer in your browser. If no browser opens (for example on WSL), copy the address printed in the terminal, http://127.0.0.1:8765, into your browser. Use --no-open-browser if you don't want a browser to open automatically. If that address is already in use, choose another number with --port, for example --port 12345.

Use --debug to enable debug visualizations. Run ymmsl2svg-live --help for all options.

Roadmap

ymmsl2svg currently cannot visualize any valid yMMSL model yet, this section provides a brief overview of missing features that we would like to implement in the future:

  • Missing yMMSL features
    • Visualize interact coupling diagrams and time-scale bridges. 1
    • Visualize components with multiple sub-timelines. 1
    • Visualize O_I and S ports of models. 2
  • Command Line Interface
    • Allow selecting a specific model in the yMMSL configuration (currently only the root model is visualized).
    • Allow changing settings / parameters from the Command Line interface.
  • Additional features
    • Interactive highlight of connected conduits when hovering over components or ports.
    • Add an option to draw parallel components under eachother.

1: The SVG generation currently fails for models containing this.
2: An SVG is generated for models containing this, but a warning is logged and the visualization is not complete.

Copyright 2026 ITER Organization. The code in this repository is licensed under the Apache-2.0 license

Metadata

Release files for ymmsl2svg 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ymmsl2svg 0.1
File Size Uploaded Provenance Actions
ymmsl2svg-0.1.tar.gz 39.5 kB With provenance Details for ymmsl2svg-0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ymmsl2svg 0.1
File Interpreter ABI Platform Actions
ymmsl2svg-0.1-py3-none-any.whl Python 3 none any Details for ymmsl2svg-0.1-py3-none-any.whl

Total release size: 73.4 kB

Release files / ymmsl2svg-0.1.tar.gz

Download URL ymmsl2svg-0.1.tar.gz
Size 39.5 kB
Tags Source
SHA-256 checksum
How to use checksums
43a9c554c61c35b64bf8875d19e5ab66e03abef44b805cc89b4c499272854381
BLAKE2b-256 checksum
How to use checksums
86dbebeae91064bc4aed8d070bd94beabf7f40ff731e7e7b33bc465925a45f4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / ymmsl2svg-0.1-py3-none-any.whl

Download URL ymmsl2svg-0.1-py3-none-any.whl
Size 34.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b1f1124428fba437c14796b70b7bfbbd96bab8cc51e57063d664d06612a4c80
BLAKE2b-256 checksum
How to use checksums
c29f7d2a246d6295613ab637a841c3d3ec9a3b5d743fc45d23eee513b66953c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Security for ymmsl2svg 0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ymmsl2svg-0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page