umlsequence2
============
UML Sequence Diagrams Generator, version 2<sup>[1]</sup> -
Commandline tool to generate
diagrams as images in various formats (SVG, PNG, JPG, PDF, etc.) from
source text files.
- Source code: https://github.com/pbauermeister/umlsequence2
- Package page: https://pypi.org/project/umlsequence2/
<sub>[1] This is a pure-Python rewrite of the
https://github.com/pbauermeister/umlsequence project, which was itself
based on umlgraph (in Java) by Diomidis Spinellis.</sub>
## Scope
"*A sequence diagram or system sequence diagram (SSD) shows process interactions
arranged in time sequence in the field of software engineering. It depicts the
processes involved and the sequence of messages exchanged between the processes
needed to carry out the functionality.*"
-- [Wikipedia](https://en.wikipedia.org/wiki/Sequence_diagram)
## Summary
Source text files are in the so-called "umlsequence" syntax.
Umlsequence syntax example:
# objects definitions
E : # External Messages
T : t:thread
O : :Toolkit
P :
# messages and activations
E -> T+ a1:run(3)
T -> O+ run()
O >callbackLoop()
# creation
O+ :> P p:Peer
# message with response
O- => P result=handleExpose()
# destruction
O #> P
# deactivation
T- O-

Syntax
------
See https://github.com/pbauermeister/umlsequence2/tree/master/doc/README.md.
Examples
--------
See https://github.com/pbauermeister/umlsequence2/tree/master/examples/README.md.
Dependencies
------------
* Python3
* Python libraries: svgwrite, reportlab
Installing via pip3
-------------------
```
[sudo] pip3 install umlsequence2
```
## Installation troubleshooting
If you get an error at runtime like:
```
ModuleNotFoundError: No module named 'reportlab.graphics._renderPM'
```
you may have to reinstall reportlab:
```
[sudo] python3 -m pip install --upgrade --force-reinstall reportlab
```
Usage
-----
`umlsequence2 -h` says:
```
usage: umlsequence2 [-h] [--output-file OUTPUT_FILE] [--markdown]
[--format FORMAT] [--percent-zoom PERCENT_ZOOM]
[--background-color BACKGROUND_COLOR] [--debug]
[INPUT_FILE]
UML sequence command-line utility, version 2. (C) Copyright 2021 by Pascal
Bauermeister. Converts a textual UML sequence description into a graphic
file. See https://github.com/pbauermeister/umlsequence2/tree/master/examples
for examples.
positional arguments:
INPUT_FILE UML sequence input file; if omitted, stdin is used
optional arguments:
-h, --help show this help message and exit
--output-file OUTPUT_FILE, -o OUTPUT_FILE
output file name; pass '-' to use stdout; if omitted,
use INPUT_FILE base name with '.svg' extension, or
stdout
--markdown, -m consider snippets between opening marker:
```umlsequence OUTFILE, and closing marker: ```
--format FORMAT, -f FORMAT
output format: any supported by ImageMagick; default
is ps
--percent-zoom PERCENT_ZOOM, -p PERCENT_ZOOM
magnification percentage; default is 100
--background-color BACKGROUND_COLOR, -b BACKGROUND_COLOR
background color name (including 'none' for
transparent) in web color notation; see
https://developer.mozilla.org/en-
US/docs/Web/CSS/color_value for a list of valid
names; default is white
--debug emits debug messages
--ACTIVITY-WIDTH FLOAT
change ACTIVITY_WIDTH (default 0.2)
--ACTOR-ASCENT FLOAT change ACTOR_ASCENT (default 0.25)
--ACTOR-DESCENT FLOAT
change ACTOR_DESCENT (default 0.45)
--ACTOR-LABEL-Y FLOAT
change ACTOR_LABEL_Y (default 0.9)
--ARROW-HEAD-SIZE FLOAT
change ARROW_HEAD_SIZE (default 0.3)
--COLUMN-SPACING FLOAT
change COLUMN_SPACING (default 0.25)
--COLUMN-WIDTH FLOAT change COLUMN_WIDTH (default 2.75)
--CROSS-SIZE FLOAT change CROSS_SIZE (default 0.5)
--MESSAGE-SPACING FLOAT
change MESSAGE_SPACING (default 0.05)
--OBJECT-HEIGHT FLOAT
change OBJECT_HEIGHT (default 0.6)
--OBJECT-LABEL-Y FLOAT
change OBJECT_LABEL_Y (default 0.4)
--OBJECT-STEP FLOAT change OBJECT_STEP (default 0.9)
--STEP-NORMAL FLOAT change STEP_NORMAL (default 0.6)
--STEP-SMALL FLOAT change STEP_SMALL (default 0.3)
--TEXT-CHAR-WIDTH FLOAT
change TEXT_CHAR_WIDTH (default 0.145)
--TEXT-DOGEAR FLOAT change TEXT_DOGEAR (default 0.2)
--TEXT-HEIGHT FLOAT change TEXT_HEIGHT (default 0.4)
--TEXT-MARGIN-X FLOAT
change TEXT_MARGIN_X (default 0.2)
--TEXT-MARGIN-Y FLOAT
change TEXT_MARGIN_Y (default 0.15)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/pbauermeister/umlsequence2",
"name": "umlsequence2",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.10",
"maintainer_email": null,
"keywords": "diagram-generator, development, tool",
"author": "Pascal Bauermeister",
"author_email": "pascal.bauermeister@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/cf/2e/ea2f7687834772b98c1af52a93b5e0ed81c24cf8c0aad861a7a2ae9b6aac/umlsequence2-2.1.1.post3.tar.gz",
"platform": null,
"description": "umlsequence2\n============\n\nUML Sequence Diagrams Generator, version 2<sup>[1]</sup> -\nCommandline tool to generate\ndiagrams as images in various formats (SVG, PNG, JPG, PDF, etc.) from\nsource text files.\n\n- Source code: https://github.com/pbauermeister/umlsequence2\n- Package page: https://pypi.org/project/umlsequence2/\n\n<sub>[1] This is a pure-Python rewrite of the\nhttps://github.com/pbauermeister/umlsequence project, which was itself\nbased on umlgraph (in Java) by Diomidis Spinellis.</sub>\n\n## Scope\n\n\"*A sequence diagram or system sequence diagram (SSD) shows process interactions\narranged in time sequence in the field of software engineering. It depicts the\nprocesses involved and the sequence of messages exchanged between the processes\nneeded to carry out the functionality.*\"\n-- [Wikipedia](https://en.wikipedia.org/wiki/Sequence_diagram)\n## Summary\n\nSource text files are in the so-called \"umlsequence\" syntax.\n\nUmlsequence syntax example:\n\n # objects definitions\n E : # External Messages\n T : t:thread\n O : :Toolkit\n P :\n\n # messages and activations\n E -> T+ a1:run(3)\n T -> O+ run()\n O >callbackLoop()\n\n # creation\n O+ :> P p:Peer\n\n # message with response\n O- => P result=handleExpose()\n\n # destruction\n O #> P\n\n # deactivation\n T- O-\n\n\n\nSyntax\n------\n\nSee https://github.com/pbauermeister/umlsequence2/tree/master/doc/README.md.\n\nExamples\n--------\n\nSee https://github.com/pbauermeister/umlsequence2/tree/master/examples/README.md.\n\nDependencies\n------------\n\n * Python3\n * Python libraries: svgwrite, reportlab\n\nInstalling via pip3\n-------------------\n\n```\n[sudo] pip3 install umlsequence2\n```\n\n## Installation troubleshooting\n\nIf you get an error at runtime like:\n```\nModuleNotFoundError: No module named 'reportlab.graphics._renderPM'\n```\nyou may have to reinstall reportlab:\n```\n[sudo] python3 -m pip install --upgrade --force-reinstall reportlab\n```\n\nUsage\n-----\n\n`umlsequence2 -h` says:\n\n```\nusage: umlsequence2 [-h] [--output-file OUTPUT_FILE] [--markdown]\n [--format FORMAT] [--percent-zoom PERCENT_ZOOM]\n [--background-color BACKGROUND_COLOR] [--debug]\n [INPUT_FILE]\n\nUML sequence command-line utility, version 2. (C) Copyright 2021 by Pascal\nBauermeister. Converts a textual UML sequence description into a graphic\nfile. See https://github.com/pbauermeister/umlsequence2/tree/master/examples\nfor examples.\n\npositional arguments:\n INPUT_FILE UML sequence input file; if omitted, stdin is used\n\noptional arguments:\n -h, --help show this help message and exit\n --output-file OUTPUT_FILE, -o OUTPUT_FILE\n output file name; pass '-' to use stdout; if omitted,\n use INPUT_FILE base name with '.svg' extension, or\n stdout\n --markdown, -m consider snippets between opening marker:\n ```umlsequence OUTFILE, and closing marker: ```\n --format FORMAT, -f FORMAT\n output format: any supported by ImageMagick; default\n is ps\n --percent-zoom PERCENT_ZOOM, -p PERCENT_ZOOM\n magnification percentage; default is 100\n --background-color BACKGROUND_COLOR, -b BACKGROUND_COLOR\n background color name (including 'none' for\n transparent) in web color notation; see\n https://developer.mozilla.org/en-\n US/docs/Web/CSS/color_value for a list of valid\n names; default is white\n --debug emits debug messages\n --ACTIVITY-WIDTH FLOAT\n change ACTIVITY_WIDTH (default 0.2)\n --ACTOR-ASCENT FLOAT change ACTOR_ASCENT (default 0.25)\n --ACTOR-DESCENT FLOAT\n change ACTOR_DESCENT (default 0.45)\n --ACTOR-LABEL-Y FLOAT\n change ACTOR_LABEL_Y (default 0.9)\n --ARROW-HEAD-SIZE FLOAT\n change ARROW_HEAD_SIZE (default 0.3)\n --COLUMN-SPACING FLOAT\n change COLUMN_SPACING (default 0.25)\n --COLUMN-WIDTH FLOAT change COLUMN_WIDTH (default 2.75)\n --CROSS-SIZE FLOAT change CROSS_SIZE (default 0.5)\n --MESSAGE-SPACING FLOAT\n change MESSAGE_SPACING (default 0.05)\n --OBJECT-HEIGHT FLOAT\n change OBJECT_HEIGHT (default 0.6)\n --OBJECT-LABEL-Y FLOAT\n change OBJECT_LABEL_Y (default 0.4)\n --OBJECT-STEP FLOAT change OBJECT_STEP (default 0.9)\n --STEP-NORMAL FLOAT change STEP_NORMAL (default 0.6)\n --STEP-SMALL FLOAT change STEP_SMALL (default 0.3)\n --TEXT-CHAR-WIDTH FLOAT\n change TEXT_CHAR_WIDTH (default 0.145)\n --TEXT-DOGEAR FLOAT change TEXT_DOGEAR (default 0.2)\n --TEXT-HEIGHT FLOAT change TEXT_HEIGHT (default 0.4)\n --TEXT-MARGIN-X FLOAT\n change TEXT_MARGIN_X (default 0.2)\n --TEXT-MARGIN-Y FLOAT\n change TEXT_MARGIN_Y (default 0.15)\n\n```\n",
"bugtrack_url": null,
"license": "GNU General Public License v3 (GPLv3)",
"summary": "UML Sequence diagram generator from text input",
"version": "2.1.1.post3",
"project_urls": {
"Bug Reports": "https://github.com/pbauermeister/umlsequence2/issues",
"Homepage": "https://github.com/pbauermeister/umlsequence2",
"Source": "https://github.com/pbauermeister/umlsequence2"
},
"split_keywords": [
"diagram-generator",
" development",
" tool"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cf2eea2f7687834772b98c1af52a93b5e0ed81c24cf8c0aad861a7a2ae9b6aac",
"md5": "3504d280133d3ca5c74d2add9133b917",
"sha256": "e7c9cd2b7962c6d8623380ff124f3ec4d2fbae272d35d9b68ff87dab43598ba0"
},
"downloads": -1,
"filename": "umlsequence2-2.1.1.post3.tar.gz",
"has_sig": false,
"md5_digest": "3504d280133d3ca5c74d2add9133b917",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.10",
"size": 17193,
"upload_time": "2024-07-08T19:33:16",
"upload_time_iso_8601": "2024-07-08T19:33:16.348564Z",
"url": "https://files.pythonhosted.org/packages/cf/2e/ea2f7687834772b98c1af52a93b5e0ed81c24cf8c0aad861a7a2ae9b6aac/umlsequence2-2.1.1.post3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-08 19:33:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pbauermeister",
"github_project": "umlsequence2",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "umlsequence2"
}