Skip to content

Analyses the python implementation artifacts (files, classes, modules) and creates pumla architecture elements (re-usable PlantUML).

License

Notifications You must be signed in to change notification settings

DrMarkusVoss/py2pumla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py2pumla

Analyses source code of python implementations (files, classes, modules) and creates pumla architecture elements (re-usable PlantUML).

In concrete, py2pumla does:

  • scan a path recursively and find all python implementation files
  • generate architecture PlantUML/pumla diagrams for the pyhton source code showing the implementation elements and their dependencies.

Example

First, you have to set the pumla_path in the py2pumla.py file to the path of the pumla repository on your computer.

Then execute from the py2pumla home directory the following command to generate the PlantUML pumla files:

python3 py2pumla.py ./example

for the following example Python file: ./example/PElement.py

This file represents a Python module, therefore the following re-usable pumla file gets generated:

./example/_generated_p2p_pumla/pelementModule.puml

The file contains 2 functions and one class definition.

For the functions part the following re-usable pumla file gets generated: ./example/_generated_p2p_pumla/PElementModFuncs.puml

And for the class definition this re-usable pumla file gets generated: ./example/_generated_p2p_pumla/pelementClass.puml

Furthermore, the following overview on the module is generated, that includes all generated pumla elements that describe the module: ./example/_generated_p2p_pumla/allElementsOverview.puml

... which leads to this nice overview diagram:

The descriptions of the classes, methods and functions as notes are derived from the pydoc strings.

Dependencies / System requirements

  • pumla >= v0.5 (for reference see chapter below)
  • Linux, MacOs (>= v10.14.6)
  • Python >= v3.7
  • PlantUML

Eat your own dogfood - py2pumla architecture overview

This overview on the low level architecture of py2pumla was generated by executing

python3 py2pumla.py ./

in py2pumla's home directory.


pumla

See here for a reference to pumla:

https://github.com/DrMarkusVoss/pumla

About

Analyses the python implementation artifacts (files, classes, modules) and creates pumla architecture elements (re-usable PlantUML).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages