Draw UML diagrams in various format
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.22.tar.gz
(66.5 kB
view hashes)
Built Distribution
Close
Hashes for pyumldiagrams-2.22-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76914375e1cffc825f4d6165a5fb1e80ee4b76eb2234098f627338dc0d7dd73d |
|
MD5 | 74b19df4c9bb8eeeeb255e5e1b02f6ec |
|
BLAKE2b-256 | 5b6b88b241ab505f5bab3d8cfefa5c075fba8cd3f906146f8d500f882aada325 |