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
Metadata
Release files for plantuml-sequence 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plantuml_sequence-0.5.1.tar.gz | 68.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plantuml_sequence-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 77.8 kB
Release files / plantuml_sequence-0.5.1.tar.gz
| Download URL | plantuml_sequence-0.5.1.tar.gz |
|---|---|
| Size | 68.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0146d2bb64bbc66c05798b25720ce179378165c59b1499e85c0584924415de3f
|
|
BLAKE2b-256 checksum How to use checksums |
736b66d90615046453742e57d798eee363828bd7116475f56f812c0abe67ba31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.22
|
Release files / plantuml_sequence-0.5.1-py3-none-any.whl
| Download URL | plantuml_sequence-0.5.1-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d3bb6d9539c05734fd41f080db775bfa1fcb08872584f5e42a08bc10de5a7484
|
|
BLAKE2b-256 checksum How to use checksums |
266fa7bac9731a80dabdb3928e9fb0fc2ebd795239803b0f061b3fa5f6316cb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.22
|