Create PlantUML sequence charts programmatically from Python
Project description
plantuml-sequence
Create PlantUML sequence charts programmatically from Python
The basic example of the PlantUML Documentation can be implemented with the following Python script:
from plantuml_sequence import Diagram
with open("my-diagram.puml", "w") as file, Diagram(file) as sequence:
(
sequence.message("Alice", "Bob", "Authentication Request")
.message("Bob", "Alice", "Authentication Response", arrow_style="-->")
.blank_line()
.message("Alice", "Bob", "Another authentication Request")
.message("Alice", "Bob", "Another authentication Response", arrow_style="<--")
)
Its output inside my-diagram.puml is:
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml
This file be compiled to an image using the plantuml
command-line or a online server. See the
PlantUML documentation for more details.
Read the documentation on ReadTheDocs!
Installation and supported Python versions
pip install plantuml-sequence
Python 3.10+ is supported
Supported PlantUML features
Not all of the features of message sequence charts are supported yet. See the list of implemented features below.
General
- Use teoz renderer
Participants
- Declaring participants
- Multiline participants
- Create participant with message
- Lifeline activation / deactivation
- Lifeline auto-activate
- Participants encompass (Box around participants)
- Remove foot boxes
Messages
- Messages
- Basic
autonumber
message numbering - Advanced auto numbering
-
autonumber
formats -
autonumber
sequence increments
-
- Hide unlinked participants
- Mainframe
Notes
- Different note shapes (
note
,hnote
,rnote
) - Notes on messages
- Notes over / left / right of lifelines
- Notes across all participants
- Multiple notes at the same level
Flow
- Basic message grouping
-
alt
/else
groups - Divider
- Reference
- Delay
- Space
Styling
- Colored groups
- Arrow style change
- Standard arrow styles
- Short arrows
- Slanted arrows
- Styling changes using the
skinparam
command
Preprocessing
Currently no preprocessing features are planned to be supported
- Variable definition
- Boolean expression
- Conditions
- While loops
- Procedures & functions blocks
- Include directive
- Memory dump
- Assertions
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
Built Distribution
Hashes for plantuml_sequence-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 462f8665df902869681c69eedbcee4816034a48b4c23e8479765fc1e75f84aec |
|
MD5 | f800f93fa75bb6e0d3677b940bfb813c |
|
BLAKE2b-256 | 4014fc95f743585db569e6a078f268eb1aa4ed9b51a10368c6a7501902935789 |