Plugins for umldiagrammer
Project description
Introduction
This project is a library for generating UML diagrams from Python source code, and it includes a demonstration application.
Overview
The umlextensions package provides a flexible way to reverse-engineer Python code into UML class diagrams. It is designed to be extensible, allowing for different input and output formats. The core of the project is a parser that analyzes Python source code and a layout engine that arranges the UML shapes for visualization. A demonstration application built with wxPython is included to showcase the library's capabilities.
Installation
You can install the project using pip. It is recommended to do this in a virtual environment.
pip install umlextensions
Dependencies
This project relies on several other packages. pip will handle the installation of these dependencies. They are listed here for your reference:
- wxPython
- codeallybasic
- codeallyadvanced
- umlmodel
- umlshapes
- umlio
- antlr4-python3-runtime
- PyPubSub
Usage
The primary way to use this project is as a library within a larger application. However, a demonstration application is included to showcase the functionality.
Running the Demo Application
To run the demo application, follow these steps:
-
Clone the repository (if you haven't already):
git clone https://github.com/hasii2011/umlextensions.git cd umlextensions
-
Install dependencies (it is recommended to use a virtual environment):
pip install -e .
-
Run the demo application:
python tests/extensiondemo/ExtensionDemoApp.pyThis will open a window titled "Demo UML Extensions".
Generating a UML Diagram
-
In the "Demo UML Extensions" window, navigate to the menu bar and click Extensions -> Input -> Python File(s).
-
A file dialog will appear, allowing you to select one or more Python files. Select the files you want to include in your UML diagram and click Open.
-
After parsing the files, a dialog titled "Shape Layout Parameters" may appear, allowing you to adjust the layout of the UML shapes. You can accept the defaults or modify them as needed and click OK.
-
The application will then generate and display the UML class diagram based on the Python code in the selected files.
As a Library
The project is designed to be used as a library. The umlextensions package can be imported into your own wxPython application. The ExtensionsManager class is the main entry point for discovering and running extensions. You can integrate it into your application by providing an implementation of the IExtensionsFacade.
Written by Humberto A. Sanchez II <mailto@Humberto.A.Sanchez.II@gmail.com>, (C) 2025
Note
For all kind of problems, requests, enhancements, bug reports, etc., please drop me an e-mail.
I am concerned about GitHub's Copilot project
I urge you to read about the Give up GitHub campaign fromthe Software Freedom Conservancy.
While I do not advocate for all the issues listed there I do not like that a company like Microsoft may profit from open source projects.
I continue to use GitHub because it offers the services I need for free. But, I continue to monitor their terms of service.
Any use of this project's code by GitHub Copilot, past or present, is done without my permission. I do not consent to GitHub's use of this project's code in Copilot.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file umlextensions-0.4.0.tar.gz.
File metadata
- Download URL: umlextensions-0.4.0.tar.gz
- Upload date:
- Size: 157.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e10a178a06a5d5063defa2828c27aa627dc6ea19f8a23d30f78a83ea02d1d014
|
|
| MD5 |
88eafd19e947a38334bea9c243b74e53
|
|
| BLAKE2b-256 |
de7156d773697a01f08f43d41118126a694b8e9eb51ba400eb48dbe58be2ccdd
|
Provenance
The following attestation bundles were made for umlextensions-0.4.0.tar.gz:
Publisher:
python-publish.yml on hasii2011/umlextensions
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
umlextensions-0.4.0.tar.gz -
Subject digest:
e10a178a06a5d5063defa2828c27aa627dc6ea19f8a23d30f78a83ea02d1d014 - Sigstore transparency entry: 1030231737
- Sigstore integration time:
-
Permalink:
hasii2011/umlextensions@0e9b1ddb8f3f46fcb3bb4284e36ab1624e350c8d -
Branch / Tag:
refs/tags/0.4.0 - Owner: https://github.com/hasii2011
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@0e9b1ddb8f3f46fcb3bb4284e36ab1624e350c8d -
Trigger Event:
release
-
Statement type:
File details
Details for the file umlextensions-0.4.0-py3-none-any.whl.
File metadata
- Download URL: umlextensions-0.4.0-py3-none-any.whl
- Upload date:
- Size: 181.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a61fb61ca01f8d7ac25d31706692557f575c90305bf0ef2ae4fcc774db78045e
|
|
| MD5 |
d2f47c4a458b316944ed36c18c53be9b
|
|
| BLAKE2b-256 |
6cf3662d700f99ad91af48993a77c19acf36ab13fdfde7c70a0c0c9abb395357
|
Provenance
The following attestation bundles were made for umlextensions-0.4.0-py3-none-any.whl:
Publisher:
python-publish.yml on hasii2011/umlextensions
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
umlextensions-0.4.0-py3-none-any.whl -
Subject digest:
a61fb61ca01f8d7ac25d31706692557f575c90305bf0ef2ae4fcc774db78045e - Sigstore transparency entry: 1030231788
- Sigstore integration time:
-
Permalink:
hasii2011/umlextensions@0e9b1ddb8f3f46fcb3bb4284e36ab1624e350c8d -
Branch / Tag:
refs/tags/0.4.0 - Owner: https://github.com/hasii2011
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@0e9b1ddb8f3f46fcb3bb4284e36ab1624e350c8d -
Trigger Event:
release
-
Statement type: