Create PlantUML sequence diagrams programmatically from Python
Project description
plantuml-sequence
Create PlantUML sequence diagrams 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
autonumbermessage numbering - Advanced auto numbering
-
autonumberformats -
autonumbersequence 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/elsegroups - Divider
- Reference
- Delay
- Space
Styling
- Colored groups
- Arrow style change
- Standard arrow styles
- Short arrows
- Slanted arrows
- Styling changes using the
skinparamcommand
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
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 plantuml_sequence-0.5.1.tar.gz.
File metadata
- Download URL: plantuml_sequence-0.5.1.tar.gz
- Upload date:
- Size: 68.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0146d2bb64bbc66c05798b25720ce179378165c59b1499e85c0584924415de3f
|
|
| MD5 |
5f882f5ef766ad773ef7ef242ed5892c
|
|
| BLAKE2b-256 |
736b66d90615046453742e57d798eee363828bd7116475f56f812c0abe67ba31
|
File details
Details for the file plantuml_sequence-0.5.1-py3-none-any.whl.
File metadata
- Download URL: plantuml_sequence-0.5.1-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3bb6d9539c05734fd41f080db775bfa1fcb08872584f5e42a08bc10de5a7484
|
|
| MD5 |
ce9f7d0c1d66883fba73ac503e67eb01
|
|
| BLAKE2b-256 |
266fa7bac9731a80dabdb3928e9fb0fc2ebd795239803b0f061b3fa5f6316cb3
|