Draw UML diagrams in various formats
Project description
The documentation is here.
Sample PDF Generation Snippets
Create a basic class
diagram: PdfDiagram = PdfDiagram(fileName='basicClass.pdf', dpi=75)
classDef: ClassDefinition = ClassDefinition(name='BasicClass', size=Size(width=100, height=100))
diagram.drawClass(classDef)
diagram.write()
Create a class with a method
diagram: PdfDiagram = PdfDiagram(fileName=f'Test-BasicMethod.pdf', dpi=75)
position: Position = Position(107, 30)
size: Size = Size(width=266, height=100)
car: ClassDefinition = ClassDefinition(name='Car', position=position, size=size)
initMethodDef: MethodDefinition = MethodDefinition(name='__init__', visibility=DefinitionType.Public)
initParam: ParameterDefinition = ParameterDefinition(name='make', parameterType='str', defaultValue='')
initMethodDef.parameters = [initParam]
car.methods = [initMethodDef]
diagram.drawClass(car)
diagram.write()
Create a class with some fields
fileName: str = f'Test-BasicFields.pdf'
diagram: PdfDiagram = PdfDiagram(fileName=fileName, dpi=75)
fieldsTestClass: ClassDefinition = ClassDefinition(name='FieldsTestClass', position=Position(226, 102), size=Size(height=156, width=230))
fieldsTestClass.fields = self._buildFields()
initMethodDef: MethodDefinition = MethodDefinition(name='__init__', visibility=DefinitionType.Public)
fieldsTestClass.methods = [initMethodDef]
diagram.drawClass(classDefinition=fieldsTestClass)
diagram.write()
Create inheritance diagram
diagram: PdfDiagram = PdfDiagram(fileName='MinimalInheritance.pdf', dpi=75)
cat: ClassDefinition = ClassDefinition(name='Gato', position=Position(536, 19), size=Size(height=74, width=113))
opie: ClassDefinition = ClassDefinition(name='Opie', position=Position(495, 208), size=Size(width=216, height=87))
diagram.drawClass(classDefinition=cat)
diagram.drawClass(classDefinition=opie)
linePositions: LinePositions = [Position(600, 208), Position(600, 93)]
opieToCat: UmlLineDefinition = UmlLineDefinition(lineType=LineType.Inheritance, linePositions=linePositions)
diagram.drawUmlLine(lineDefinition=opieToCat)
diagram.write()
Sample Image Snippets
Create a basic .png class
diagram: ImageDiagram = ImageDiagram(fileName='BasicClass.png')
classDef: ClassDefinition = ClassDefinition(name=TestDiagramParent.BASE_TEST_CLASS_NAME,
size=Size(width=266, height=100),
position=Position(x=107, y=30)
)
diagram.drawClass(classDef)
diagram.write()
Create a basic .png class with fields
fileName: str = 'Test-WithFields.png'
diagram: ImageDiagram = ImageDiagram(fileName=fileName)
fieldsTestClass: ClassDefinition = ClassDefinition(name='FieldsTestClass',
position=Position(226, 102),
size=Size(height=156, width=230))
fieldsTestClass.fields = self._buildFields()
initMethodDef: MethodDefinition = MethodDefinition(name='__init__', visibility=DefinitionType.Public)
fieldsTestClass.methods = [initMethodDef]
diagram.drawClass(classDefinition=fieldsTestClass)
diagram.write()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyumldiagrams-2.30.5.tar.gz
(69.5 kB
view hashes)
Built Distribution
Close
Hashes for pyumldiagrams-2.30.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c4d569e722d0270e88827177418cca22b621dffe336336efcc5a21f6b0036e5 |
|
MD5 | 06b14b560e909767022bd0c6e33ae657 |
|
BLAKE2b-256 | 162ae18b7d5db991f92288e533c1ac50940d5c520cf18d98ffac52e02030c81d |