Generate PlantUML diagrams from Python code automatically.
Project description
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 yourrequirements.txt(default isrequirements.txt)--include: extra external libraries to ignore (e.g.--include pandas numpy)--clear: remove the output directory before generating--force: overwrite.pumlfiles even if they already exist
Example:
pyumlify --root src/ --output uml/ --requirements requirements.txt --include pandas numpy --force
📦 Output
- One
.pumlfile per package/module - A
packages.pumlshowing the relationships between modules
You can visualize the diagrams using:
- PlantUML
- VSCode Plugin
- Any tool that supports
.pumlrendering
📌 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
406afc6d2ec6588caeb8395af6b4ae76a7b3e50f3667a0a957327a88e1437ab5
|
|
| MD5 |
ccaf60b462a0c59efe7463622d6370a9
|
|
| BLAKE2b-256 |
1fc0e8802cb2a5e452f66239b59090fd6d8128f5cdcbe3dbb7c8d1c38c121796
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8b5e8e42963ef0cd481cc1028ebcbd88a30949de78d3cf231851c7da72d3139
|
|
| MD5 |
0a1126289f1673d82563912b2b313adc
|
|
| BLAKE2b-256 |
7fb44a01610b099701d8feb63d27c4f30efc58a5dd54cde0a50fbcaa5a8c014a
|