Skip to main content

Generate PlantUML diagrams from Python code automatically.

Project description

PyUMLify Banner

PyUMLify

Automatically generate UML class and package diagrams from your Python project using PlantUML.

PyUMLify is a lightweight Python tool that scans your project's source code and automatically generates PlantUML class and package diagrams. It's designed to improve documentation and architecture visibility in any Python-based project — whether it's a microservice, CLI, library, or monolith.


✨ What is it?

PyUMLify scans your Python project to identify classes, methods, and their relationships, and then generates .puml files ready to be rendered with PlantUML.

🚀 Installation

pip install pyumlify

Or, if you're developing or testing locally:

git clone https://github.com/guipatriota/pyumlify.git
cd pyumlify
pip install -e .

🛠️ Usage

pyumlify --root . --output plantuml_output

Optional flags:

  • --requirements: path to your requirements.txt (default is requirements.txt)
  • --include: extra external libraries to ignore (e.g. --include pandas numpy)
  • --clear: remove the output directory before generating
  • --force: overwrite .puml files even if they already exist

Example:

pyumlify --root src/ --output uml/ --requirements requirements.txt --include pandas numpy --force

📦 Output

  • One .puml file per package/module
  • A packages.puml showing the relationships between modules

You can visualize the diagrams using:

📌 Features

  • 📂 Supports large Python projects with nested folders
  • 📚 Detects class dependencies and method return types
  • 🧠 Ignores standard libraries and known third-party packages
  • 💡 Highlighted themes and class formatting included

🧪 Testing

Run all tests using:

pytest

📄 License

GPL3.0 License. See LICENSE file for details.


Made with ❤️ by Guilherme Ditzel Patriota

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyumlify-0.1.0a0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyumlify-0.1.0a0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file pyumlify-0.1.0a0.tar.gz.

File metadata

  • Download URL: pyumlify-0.1.0a0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pyumlify-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 d4e7b3a8ba847a7ec4f3206900b9fef1859644f27141833114ab866fac7b587a
MD5 708a5f6deffb35570072341b10a956bb
BLAKE2b-256 64739d4cdc08066c1f5b7d1b552136a4ab5666de8f91131566be65e3015f11fe

See more details on using hashes here.

File details

Details for the file pyumlify-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: pyumlify-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pyumlify-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 72b3aac2f69c885431082a8052e6461f5c83a66f50ac81a98a68d26d1d9acfa1
MD5 a5871213319c7cb353f2f6efc5eaeec1
BLAKE2b-256 05dffa669c2cb509f8c990d91e9d774b4df37e003a510fee73ba8f19ac8a03ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page