1. Produkty
  2.   Diagram
  3.   Python
  4.   Py2pUML
 
  

Darmowa biblioteka Python do tworzenia i zarządzania diagramami Visio

Otwarto‑źródłowa biblioteka Visio Python umożliwia programistom generowanie diagramów klas w składni PlantUML, zapewniając wizualną reprezentację baz kodu Python.

Czym jest biblioteka Py2pUML?

W nowoczesnym rozwoju oprogramowania zrozumienie i dokumentowanie struktury kodu jest kluczowe dla utrzymania i współpracy. Biblioteka Py2pUML jest narzędziem open-source, które pomaga programistom automatycznie generować diagramy klas UML z kodu Pythona. Diagramy te wizualnie przedstawiają relacje klas, atrybuty i zależności, ułatwiając zrozumienie architektury projektu. Biblioteka umożliwia generowanie diagramów UML dla projektów Pythona, wizualizację hierarchii i relacji klas, wzbogacenie dokumentacji projektu, poprawę współpracy zespołowej poprzez uproszczenie analizy struktury kodu i tak dalej. Aby uniknąć potencjalnych skutków ubocznych, py2puml nie ocenia przypisanych wartości ani wyrażeń podczas wykrywania relacji kompozycji. Ten wybór projektowy zapewnia bezpieczeństwo i integralność procesu analizy kodu.

Py2pUML to otwarto‑źródłowa biblioteka Pythona zaprojektowana do automatycznego generowania diagramów UML z kodu Python. Diagramy UML są standardowym sposobem wizualizacji struktury i projektu systemu oprogramowania, w tym klas, relacji i zależności. Tradycyjnie tworzenie tych diagramów było procesem ręcznym i czasochłonnym. Py2pUML upraszcza to, analizując kod Python i generując diagramy UML w formacie PlantUML, które następnie mogą być renderowane jako wizualne diagramy. Obecnie py2puml może nie radzić sobie skutecznie ze złożonymi wskazówkami typów zawierającymi wiele poziomów generyków. To ograniczenie jest przyznane, a przyszłe ulepszenia są rozważane. Poprzez uwzględnienie tych kwestii, py2puml służy jako cenne narzędzie dla programistów, którzy chcą dokumentować i wizualizować architekturę swoich aplikacji Python za pomocą diagramów klas.

Rozpoczęcie pracy z Py2pUML

Zalecanym sposobem instalacji biblioteki Py2pUML jest użycie PyPI. Proszę użyć następującego polecenia, aby instalacja przebiegła płynnie.

Zainstaluj bibliotekę Py2pUML przez PyPI

pip install py2puml

Zainstaluj bibliotekę Py2pUML przy użyciu Poetry

poetry add py2puml

Generowanie diagramu UML z modułu Pythona

Biblioteka open source Py2pUML zapewnia pełną funkcjonalność umożliwiającą programistom generowanie diagramu klas PlantUML dla dowolnego modułu Pythona. Wykorzystując możliwości inspekcji Pythona oraz adnotacje typów, py2puml identyfikuje zarówno statyczne atrybuty klas, jak i pola dataclass. Dzięki temu wygenerowane diagramy dokładnie odzwierciedlają strukturę i właściwości klas w bazie kodu. Oto podstawowy przykład, który pokazuje, jak programiści mogą wygenerować diagram klas PlantUML dla modułu Pythona.

Jak wygenerować diagram klas PlantUML dla modułu Pythona?

from py2puml.py2puml import py2puml

# Generate PlantUML content
puml_content = py2puml('path/to/your/module', 'module_name')

# Output the PlantUML content to the terminal
print(''.join(puml_content))

# Write the PlantUML content to a file
with open('module_name.puml', 'w') as puml_file:
    puml_file.writelines(puml_content)

Wykrywanie klas i relacji

Programiści mogą zintegrować Py2pUML z aplikacją webową Flask lub Django, aby udostępnić usługę generowania UML. Analizuje kod Pythona i generuje diagramy UML bez konieczności ręcznego wprowadzania danych. Identyfikuje klasy, atrybuty, metody i zależności, co ułatwia wizualizację struktury kodu. To API pozwala użytkownikom przesłać moduł Pythona i otrzymać diagram klas UML jako plik do pobrania w formacie .puml. Rozważ poniższy przykład kodu – biblioteka wygeneruje wyjście PlantUML, które będzie zawierało informacje o klasach i ich relacjach.

Jak wygenerować wyjście PlantUML z kodu Pythona?

class Engine:
    def start(self):
        print("Engine started")

class Car:
    def __init__(self, engine: Engine):
        self.engine = engine

    def drive(self):
        self.engine.start()
        print("Car is moving")

# Py2pUML will generate the following PlantUML output:

@startuml
class Engine {
    + start()
}

class Car {
    - engine: Engine
    + drive()
}

Car --> Engine
@enduml

#This diagram shows that Car has a dependency on Engine.

Dostosowywanie kodu i łatwość użycia

Biblioteka Py2pUML została zaprojektowana tak, aby była prosta i przejrzysta. Wymaga minimalnej konfiguracji i może być łatwo zintegrowana z Twoim procesem tworzenia oprogramowania. Jako biblioteka open‑source, Py2pUML może być dostosowana do konkretnych wymagań projektu. Programiści mogą forkuwać repozytorium, modyfikować kod i przyczyniać się do jego rozwoju. Modyfikacja kodu źródłowego jest bardzo prosta, aby dopasować go do własnych potrzeb. Na przykład, możesz dodać obsługę wykrywania i wizualizacji klas abstrakcyjnych.

Ulepszanie dokumentacji kodu

Diagramy UML są doskonałym sposobem na dokumentowanie kodu. Dostarczają jasną i zwięzłą reprezentację architektury systemu, ułatwiając innym programistom (lub Twojej przyszłej wersji) zrozumienie, jak działa kod. Py2pUML może być zintegrowany z Twoim procesem dokumentacji, aby automatycznie generować aktualne diagramy.