Skip to main content

Maintenance CI PyPI version License: AGPL v3 Made with Python GitHub Copilot: No

Introduction

This project is a library for generating UML diagrams from Python source code, and it includes a demonstration application.

Overview

The umlextensions module provides a flexible way to add capabilities to the core UML Diagrammer. There are extensions that read external data and convert it to a UML class diagram. An example is the InputPython extension that reads Python source code and generates an appropriate UML diagram. There are extensions that take an existing UML diagram and convert it to a different format. For example, the OutputGML extension produces GML files.

Finally, there are tool extensions that manipulate a UML diagram. Examples of these are:

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:

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:

  1. Clone the repository (if you haven't already):

    git clone https://github.com/hasii2011/umlextensions.git
    cd umlextensions
    
  2. Install dependencies (it is recommended to use a virtual environment):

    pip install -e .
    
  3. Run the demo application:

    python tests/extensiondemo/ExtensionDemoApp.py
    

    This will open a window titled "Demo UML Extensions".

Generating a UML Diagram

  1. In the "Demo UML Extensions" window, navigate to the menu bar and click Extensions → Input → Python File(s).

  2. 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.

  3. 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.

  4. 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 is imported into the UML Diagrammer application. The ExtensionsManager class is the main entry point for discovering and running extensions. The UML Diagrammer integrates it by providing its own implementation of IExtensionsFacade.


Written by Humberto A. Sanchez II ©2026


Note

For all kinds of problems, requests, enhancements, bug reports, etc., please drop me an e-mail.

Metadata

Release files for umlextensions 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for umlextensions 1.0.1
File Size Uploaded
umlextensions-1.0.1.tar.gz 457.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for umlextensions 1.0.1
File Interpreter ABI Platform
umlextensions-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 955.0 kB

Release files / umlextensions-1.0.1.tar.gz

Download URL umlextensions-1.0.1.tar.gz
Size 457.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5c020e428dcb591760035b30ce9d45c79150f832318de0b63b6c9539973dd123
BLAKE2b-256 checksum
How to use checksums
4a3c8f47380337a38cf767b6db71b80faf80ada2df273fa11c0bb2bb2788f5d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / umlextensions-1.0.1-py3-none-any.whl

Download URL umlextensions-1.0.1-py3-none-any.whl
Size 497.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a7fc6ee5154921d0737c50bce5c3418942e64b0869f10969be1e5b952f0932e
BLAKE2b-256 checksum
How to use checksums
2b4e9df636625cc0baa9a706d2a6a6e9342a0de597986eee9e0b37a5ed109db8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page