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.0.tar.gz (19.8 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.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyumlify-0.1.0.tar.gz
  • Upload date:
  • Size: 19.8 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.0.tar.gz
Algorithm Hash digest
SHA256 406afc6d2ec6588caeb8395af6b4ae76a7b3e50f3667a0a957327a88e1437ab5
MD5 ccaf60b462a0c59efe7463622d6370a9
BLAKE2b-256 1fc0e8802cb2a5e452f66239b59090fd6d8128f5cdcbe3dbb7c8d1c38c121796

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyumlify-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8b5e8e42963ef0cd481cc1028ebcbd88a30949de78d3cf231851c7da72d3139
MD5 0a1126289f1673d82563912b2b313adc
BLAKE2b-256 7fb44a01610b099701d8feb63d27c4f30efc58a5dd54cde0a50fbcaa5a8c014a

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