├── .github └── workflows │ └── python-package.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── commitlint.config.js ├── poetry.lock ├── poetry.toml ├── py2puml ├── __init__.py ├── __main__.py ├── asserts.py ├── cli.py ├── domain │ ├── __init__.py │ ├── umlclass.py │ ├── umlenum.py │ ├── umlitem.py │ └── umlrelation.py ├── export │ └── puml.py ├── inspection │ ├── __init__.py │ ├── inspectclass.py │ ├── inspectenum.py │ ├── inspectmodule.py │ ├── inspectnamedtuple.py │ └── inspectpackage.py ├── parsing │ ├── __init__.py │ ├── astvisitors.py │ ├── compoundtypesplitter.py │ ├── moduleresolver.py │ └── parseclassconstructor.py ├── py2puml.domain.puml ├── py2puml.py └── utils.py ├── pyproject.toml └── tests ├── __init__.py ├── asserts ├── attribute.py ├── relation.py └── variable.py ├── modules ├── withabstract.py ├── withbasictypes.py ├── withcomposition.py ├── withcompoundtypewithdigits.py ├── withconfusingrootpackage │ └── test │ │ ├── __init__.py │ │ └── range.py ├── withconstructor.py ├── withenum.py ├── withinheritancewithinmodule.py ├── withinheritedconstructor │ ├── metricorigin.py │ └── point.py ├── withnamedtuple.py ├── withnestednamespace │ ├── branches │ │ └── branch.py │ ├── nomoduleroot │ │ ├── __init__.py │ │ └── modulechild │ │ │ ├── __init__.py │ │ │ └── leaf.py │ ├── tests.modules.withnestednamespace.puml │ ├── tree.py │ ├── trunks │ │ └── trunk.py │ ├── withonlyonesubpackage │ │ ├── __init__.py │ │ └── underground │ │ │ ├── __init__.py │ │ │ └── roots │ │ │ └── roots.py │ └── withoutumlitemroot │ │ ├── __init__.py │ │ └── withoutumlitemleaf │ │ └── withoutumlitem.py ├── withpkginitandmodule │ ├── __init__.py │ ├── test.py │ └── tests.modules.withpkginitandmodule.puml ├── withpkginitonly │ ├── __init__.py │ └── tests.modules.withpkginitonly.puml ├── withrootnotincwd │ ├── point.py │ └── segment.py ├── withsubdomain │ ├── __init__.py │ ├── subdomain │ │ ├── __init__.py │ │ └── insubdomain.py │ └── withsubdomain.py ├── withuniontypes.py └── withwrappedconstructor.py ├── puml_files ├── test.puml └── withrootnotincwd.puml └── py2puml ├── __init__.py ├── conftest.py ├── inspection ├── test_inspect_union_types.py ├── test_inspectclass.py ├── test_inspectdataclass.py ├── test_inspectenum.py └── test_inspectnamedtuple.py ├── parsing ├── mockedinstance.py ├── test_astvisitors.py ├── test_compoundtypesplitter.py └── test_moduleresolver.py ├── test__init__.py ├── test_asserts.py ├── test_cli.py └── test_py2puml.py /.github/workflows/python-package.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/.github/workflows/python-package.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.10.9 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/README.md -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/commitlint.config.js -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/poetry.lock -------------------------------------------------------------------------------- /poetry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/poetry.toml -------------------------------------------------------------------------------- /py2puml/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /py2puml/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/__main__.py -------------------------------------------------------------------------------- /py2puml/asserts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/asserts.py -------------------------------------------------------------------------------- /py2puml/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/cli.py -------------------------------------------------------------------------------- /py2puml/domain/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /py2puml/domain/umlclass.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/domain/umlclass.py -------------------------------------------------------------------------------- /py2puml/domain/umlenum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/domain/umlenum.py -------------------------------------------------------------------------------- /py2puml/domain/umlitem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/domain/umlitem.py -------------------------------------------------------------------------------- /py2puml/domain/umlrelation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/domain/umlrelation.py -------------------------------------------------------------------------------- /py2puml/export/puml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/export/puml.py -------------------------------------------------------------------------------- /py2puml/inspection/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /py2puml/inspection/inspectclass.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/inspection/inspectclass.py -------------------------------------------------------------------------------- /py2puml/inspection/inspectenum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/inspection/inspectenum.py -------------------------------------------------------------------------------- /py2puml/inspection/inspectmodule.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/inspection/inspectmodule.py -------------------------------------------------------------------------------- /py2puml/inspection/inspectnamedtuple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/inspection/inspectnamedtuple.py -------------------------------------------------------------------------------- /py2puml/inspection/inspectpackage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/inspection/inspectpackage.py -------------------------------------------------------------------------------- /py2puml/parsing/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /py2puml/parsing/astvisitors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/parsing/astvisitors.py -------------------------------------------------------------------------------- /py2puml/parsing/compoundtypesplitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/parsing/compoundtypesplitter.py -------------------------------------------------------------------------------- /py2puml/parsing/moduleresolver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/parsing/moduleresolver.py -------------------------------------------------------------------------------- /py2puml/parsing/parseclassconstructor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/parsing/parseclassconstructor.py -------------------------------------------------------------------------------- /py2puml/py2puml.domain.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/py2puml.domain.puml -------------------------------------------------------------------------------- /py2puml/py2puml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/py2puml.py -------------------------------------------------------------------------------- /py2puml/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/py2puml/utils.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/asserts/attribute.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/asserts/attribute.py -------------------------------------------------------------------------------- /tests/asserts/relation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/asserts/relation.py -------------------------------------------------------------------------------- /tests/asserts/variable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/asserts/variable.py -------------------------------------------------------------------------------- /tests/modules/withabstract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withabstract.py -------------------------------------------------------------------------------- /tests/modules/withbasictypes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withbasictypes.py -------------------------------------------------------------------------------- /tests/modules/withcomposition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withcomposition.py -------------------------------------------------------------------------------- /tests/modules/withcompoundtypewithdigits.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withcompoundtypewithdigits.py -------------------------------------------------------------------------------- /tests/modules/withconfusingrootpackage/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/modules/withconfusingrootpackage/test/range.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withconfusingrootpackage/test/range.py -------------------------------------------------------------------------------- /tests/modules/withconstructor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withconstructor.py -------------------------------------------------------------------------------- /tests/modules/withenum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withenum.py -------------------------------------------------------------------------------- /tests/modules/withinheritancewithinmodule.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withinheritancewithinmodule.py -------------------------------------------------------------------------------- /tests/modules/withinheritedconstructor/metricorigin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withinheritedconstructor/metricorigin.py -------------------------------------------------------------------------------- /tests/modules/withinheritedconstructor/point.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withinheritedconstructor/point.py -------------------------------------------------------------------------------- /tests/modules/withnamedtuple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnamedtuple.py -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/branches/branch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnestednamespace/branches/branch.py -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/nomoduleroot/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/nomoduleroot/modulechild/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/nomoduleroot/modulechild/leaf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnestednamespace/nomoduleroot/modulechild/leaf.py -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/tests.modules.withnestednamespace.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnestednamespace/tests.modules.withnestednamespace.puml -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnestednamespace/tree.py -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/trunks/trunk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnestednamespace/trunks/trunk.py -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/withonlyonesubpackage/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/withonlyonesubpackage/underground/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnestednamespace/withonlyonesubpackage/underground/__init__.py -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/withonlyonesubpackage/underground/roots/roots.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withnestednamespace/withonlyonesubpackage/underground/roots/roots.py -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/withoutumlitemroot/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/modules/withnestednamespace/withoutumlitemroot/withoutumlitemleaf/withoutumlitem.py: -------------------------------------------------------------------------------- 1 | THE_RESPONSE = 42 2 | -------------------------------------------------------------------------------- /tests/modules/withpkginitandmodule/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withpkginitandmodule/__init__.py -------------------------------------------------------------------------------- /tests/modules/withpkginitandmodule/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withpkginitandmodule/test.py -------------------------------------------------------------------------------- /tests/modules/withpkginitandmodule/tests.modules.withpkginitandmodule.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withpkginitandmodule/tests.modules.withpkginitandmodule.puml -------------------------------------------------------------------------------- /tests/modules/withpkginitonly/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withpkginitonly/__init__.py -------------------------------------------------------------------------------- /tests/modules/withpkginitonly/tests.modules.withpkginitonly.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withpkginitonly/tests.modules.withpkginitonly.puml -------------------------------------------------------------------------------- /tests/modules/withrootnotincwd/point.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withrootnotincwd/point.py -------------------------------------------------------------------------------- /tests/modules/withrootnotincwd/segment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withrootnotincwd/segment.py -------------------------------------------------------------------------------- /tests/modules/withsubdomain/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/modules/withsubdomain/subdomain/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/modules/withsubdomain/subdomain/insubdomain.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withsubdomain/subdomain/insubdomain.py -------------------------------------------------------------------------------- /tests/modules/withsubdomain/withsubdomain.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withsubdomain/withsubdomain.py -------------------------------------------------------------------------------- /tests/modules/withuniontypes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withuniontypes.py -------------------------------------------------------------------------------- /tests/modules/withwrappedconstructor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/modules/withwrappedconstructor.py -------------------------------------------------------------------------------- /tests/puml_files/test.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/puml_files/test.puml -------------------------------------------------------------------------------- /tests/puml_files/withrootnotincwd.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/puml_files/withrootnotincwd.puml -------------------------------------------------------------------------------- /tests/py2puml/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/py2puml/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/conftest.py -------------------------------------------------------------------------------- /tests/py2puml/inspection/test_inspect_union_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/inspection/test_inspect_union_types.py -------------------------------------------------------------------------------- /tests/py2puml/inspection/test_inspectclass.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/inspection/test_inspectclass.py -------------------------------------------------------------------------------- /tests/py2puml/inspection/test_inspectdataclass.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/inspection/test_inspectdataclass.py -------------------------------------------------------------------------------- /tests/py2puml/inspection/test_inspectenum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/inspection/test_inspectenum.py -------------------------------------------------------------------------------- /tests/py2puml/inspection/test_inspectnamedtuple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/inspection/test_inspectnamedtuple.py -------------------------------------------------------------------------------- /tests/py2puml/parsing/mockedinstance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/parsing/mockedinstance.py -------------------------------------------------------------------------------- /tests/py2puml/parsing/test_astvisitors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/parsing/test_astvisitors.py -------------------------------------------------------------------------------- /tests/py2puml/parsing/test_compoundtypesplitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/parsing/test_compoundtypesplitter.py -------------------------------------------------------------------------------- /tests/py2puml/parsing/test_moduleresolver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/parsing/test_moduleresolver.py -------------------------------------------------------------------------------- /tests/py2puml/test__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/test__init__.py -------------------------------------------------------------------------------- /tests/py2puml/test_asserts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/test_asserts.py -------------------------------------------------------------------------------- /tests/py2puml/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/test_cli.py -------------------------------------------------------------------------------- /tests/py2puml/test_py2puml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucsorel/py2puml/HEAD/tests/py2puml/test_py2puml.py --------------------------------------------------------------------------------