CWL Worflows processor to generate PlantUML diagrams
Project description
cwl2puml
cwl2puml converts Common Workflow Language workflows into PlantUML diagrams.
It provides a CLI that can:
- load a CWL workflow from a local path or URL
- render PlantUML source files
- optionally render PNG or SVG images through a PlantUML server
Supported Diagrams
activitycomponentclasssequencestate
Requirements
- Python
>=3.10
Installation
Install from the repository:
pip install .
For development:
pip install hatch
CLI Usage
Show the CLI help:
cwl2puml --help
Basic example:
cwl2puml \
https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/main/cwl-workflow/pattern-1.cwl \
--workflow-id pattern-1 \
--output ./out
This writes one .puml file per diagram type into ./out.
Generate only selected diagrams:
cwl2puml workflow.cwl \
--workflow-id main \
--diagrams component \
--diagrams sequence \
--output ./out
Generate SVG images through a PlantUML server:
cwl2puml workflow.cwl \
--workflow-id main \
--diagrams component \
--output ./out \
--convert-image \
--image-format svg
Use a custom PlantUML server host:
cwl2puml workflow.cwl \
--workflow-id main \
--output ./out \
--convert-image \
--puml-server uml.planttext.com
Output
For each selected diagram type, the CLI writes:
<diagram>.puml- optionally
<diagram>.pngor<diagram>.svg
Development
Run the test matrix:
hatch run test:test-q
Run coverage:
hatch run test:test-cov
Run formatting checks:
hatch run dev:lint
Run Ruff fixes:
hatch run dev:check
Documentation
Project documentation: https://Terradue.github.io/cwl2puml/
Contributing
Open an issue at https://github.com/Terradue/cwl2puml/issues if you find a bug or want to propose a change.
License
This project is licensed under the MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cwl2puml-0.42.0.tar.gz.
File metadata
- Download URL: cwl2puml-0.42.0.tar.gz
- Upload date:
- Size: 9.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1f309af9245fd0b20dd6ef2063a930f77ab92504ded62b082b4c9a57970ecfd
|
|
| MD5 |
cc913b41685a854ec49995f3bd8e7b74
|
|
| BLAKE2b-256 |
d6e3e98e985fe87822fc082fa1aec6f0a32e474e077d86e100eaa5f4f6921746
|
Provenance
The following attestation bundles were made for cwl2puml-0.42.0.tar.gz:
Publisher:
package.yaml on Terradue/cwl2puml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cwl2puml-0.42.0.tar.gz -
Subject digest:
f1f309af9245fd0b20dd6ef2063a930f77ab92504ded62b082b4c9a57970ecfd - Sigstore transparency entry: 1361691867
- Sigstore integration time:
-
Permalink:
Terradue/cwl2puml@8981c8d3a22efc1d343508b5e3d648dbce5e84a1 -
Branch / Tag:
refs/tags/v0.42.0 - Owner: https://github.com/Terradue
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yaml@8981c8d3a22efc1d343508b5e3d648dbce5e84a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cwl2puml-0.42.0-py3-none-any.whl.
File metadata
- Download URL: cwl2puml-0.42.0-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd970b094365835a212b5d0ec1e87bacb295908da741858805c6dd2b4443aa65
|
|
| MD5 |
b020760b4b70155a46aed0b2f90e9dbe
|
|
| BLAKE2b-256 |
74f2d1a918748785b888ab39f9e088c80251c7ec5b9430d60805679c78c27fe9
|
Provenance
The following attestation bundles were made for cwl2puml-0.42.0-py3-none-any.whl:
Publisher:
package.yaml on Terradue/cwl2puml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cwl2puml-0.42.0-py3-none-any.whl -
Subject digest:
bd970b094365835a212b5d0ec1e87bacb295908da741858805c6dd2b4443aa65 - Sigstore transparency entry: 1361691883
- Sigstore integration time:
-
Permalink:
Terradue/cwl2puml@8981c8d3a22efc1d343508b5e3d648dbce5e84a1 -
Branch / Tag:
refs/tags/v0.42.0 - Owner: https://github.com/Terradue
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yaml@8981c8d3a22efc1d343508b5e3d648dbce5e84a1 -
Trigger Event:
push
-
Statement type: