Library to generate plantuml code from python objects
Project description
Library to generate plantuml code from python objects
Example
diagram1 = Diagram(
name="Example 1",
opts={
DiagramOptName.AUTO_NUMBER: True,
DiagramOptName.AUTO_NUMBER_START: 1,
DiagramOptName.ADD_SEPARATORS: True,
DiagramOptName.TITLE: "Example 1",
},
type_=DiagramType.COMPONENT,
objs=[
Container(
name="c1",
objs=[
Class(
name="i1",
type_=ClassType.INTERFACE_LOLLIPOP,
shape_attrs={
ShapeAttributeName.COLOR: Color.RED.value,
}
),
Component(
name="A",
shape_attrs={ShapeAttributeName.COLOR: Color.LIGHT_BLUE.value, }
)
]
),
Container(
name="c3",
objs=[
Container(
name=" ",
objs=[
Component(
name="F",
shape_attrs={ShapeAttributeName.COLOR: Color.LIGHT_GREEN.value, }
),
],
container_type=ContainerShapeType.CLOUD
),
],
),
Container(
name="c2",
objs=[
Class(
name="i2",
type_=ClassType.INTERFACE_LOLLIPOP
),
Component(
name="B",
shape_attrs={ShapeAttributeName.COLOR: Color.LIGHT_CORAL.value, }
),
Component(
name="C",
shape_attrs={ShapeAttributeName.COLOR: Color.LIGHT_CORAL.value, }
),
]
),
Container(
name="c4",
objs=[
Component(
name="D",
shape_attrs={ShapeAttributeName.COLOR: Color.LIGHT_CYAN.value, }
),
Component(
name="E",
),
]
),
Component(
name="BD",
shape_attrs={
ShapeAttributeName.COLOR: Color.SALMON.value,
ShapeAttributeName.CONTAINER_SHAPE_TYPE: ContainerShapeType.DATABASE.value
},
),
Component(
name="G",
shape_attrs={
ShapeAttributeName.COLOR: Color.LIGHT_BLUE.value,
},
),
],
relations=[
# i1
Relation(
obj1="i1",
rel_type=RelationType.Association,
obj2="A",
orientation=Orientation.DOWN
),
# A
Relation(
obj1="A",
rel_type=RelationType.Call,
obj2="F",
orientation=Orientation.DOWN
),
Relation(
obj1="A",
rel_type=RelationType.Association,
obj2="i2",
orientation=Orientation.RIGHT
),
# i2
Relation(
obj1="i2",
rel_type=RelationType.Call,
obj2="B",
orientation=Orientation.RIGHT
),
# B
Relation(
obj1="B",
rel_type=RelationType.Call,
obj2="D",
orientation=Orientation.DOWN
),
Relation(
obj1="B",
rel_type=RelationType.Call,
obj2="C",
orientation=Orientation.RIGHT
),
# C
Relation(
obj1="C",
rel_type=RelationType.Call,
obj2="E",
orientation=Orientation.DOWN
),
Relation(
obj1="C",
rel_type=RelationType.Dependency,
obj2="BD",
orientation=Orientation.DOWN
),
# D
Relation(
obj1="D",
rel_type=RelationType.Call,
obj2="E",
orientation=Orientation.RIGHT
),
# E
# EMPTY
# F
Relation(
obj1="F",
rel_type=RelationType.Call,
obj2="B",
orientation=Orientation.UP
),
# G
Relation(
obj1="G",
rel_type=RelationType.Dependency,
obj2="BD",
orientation=Orientation.DOWN
),
],
)
plantuml_code, got_errors = diagram.gen_code(CodeGenerator.Context(code_style=style))
Generated code:
@startuml
title "Example 1"
/' OBJECTS '/
package "c1" {
interface "i1" as i1 #FF0000
component "A" as A #ADD8E6
}
package "c3" {
cloud " " {
component "F" as F #90EE90
}
}
package "c2" {
interface "i2" as i2
component "B" as B #F08080
component "C" as C #F08080
}
package "c4" {
component "D" as D #E0FFFF
component "E" as E
}
database "BD" as BD #FA8072
component "G" as G #ADD8E6
/' RELATIONS '/
i1 -down- A
A -down-> F
A -right- i2
i2 -right-> B
B -down-> D
B -right-> C
C -down-> E
C -down-> BD
D -right-> E
F -up-> B
G -down-> BD
@enduml
Rendered img
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
plantuml_creator-1.0.4.tar.gz
(14.6 kB
view details)
Built Distribution
File details
Details for the file plantuml_creator-1.0.4.tar.gz
.
File metadata
- Download URL: plantuml_creator-1.0.4.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.1.0 requests-toolbelt/0.8.0 tqdm/4.37.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 364638c96778b342196691d9da9131d1a136e1bffced8631e5daac189ce5e52a |
|
MD5 | 6a534d4997607ae94d474c214f3a658b |
|
BLAKE2b-256 | 56e0356ca2993491915a0bafdb432bf71ed042dd7e7a4fe339c0600a0caf4690 |
File details
Details for the file plantuml_creator-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: plantuml_creator-1.0.4-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.1.0 requests-toolbelt/0.8.0 tqdm/4.37.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cec5405d567f3875d0dab8039c2f33615167b796213901d1a4177561abe68bc |
|
MD5 | f4ea17edd6a976961fdae41aa7809099 |
|
BLAKE2b-256 | c0f7aeb274609e971527340d7dd2d6b084f94cebff92b4430245f18244acaab6 |