L'outil pour générer des diagrammes de classe dynamiques de packages Python pour faciliter leur développement et leur maintenance.
Motivation :
Pyarch peut être exécuté dans le cadre du flux de travail GitHub.
| Attribut | Description | Requis | Défaut |
|---|---|---|---|
input | Répertoire avec le code source du package | vrai | |
output | Répertoire pour enregistrer le fichier HTML généré | FAUX | .pyarch/output |
title | Titre HTML personnalisé | FAUX | Python package architecture |
header | En-tête HTML personnalisé | FAUX | Python package architecture |
footer | Footer HTML personnalisé | FAUX | <p style="font-size:15px">Built with ❤️ by <a href="https://www.dkisler.com" target=_blank>Dmitry Kisler - dkisler.com</a></p> |
output : chemin vers le fichier HTML généré.Le flux de travail GitHub suivant peut être utilisé pour générer le diagramme d'architecture du package et le publier à l'aide de pages GitHub.
name : " Pyarch Pages "
on :
workflow_dispatch :
permissions :
contents : read
pages : write
id-token : write
concurrency :
group : " pages "
cancel-in-progress : false
jobs :
pyarch-pages :
runs-on : ubuntu-20.04
steps :
# assumption: the workflow is running in the python package repo
- uses : actions/checkout@v3
with :
fetch-depth : 0
- name : Generate HTML
uses : kislerdm/[email protected]
with :
# Change to the path with the package's source files
input : src
title : " Architecture of my package "
header : " Architecture of my package "
output : public
- name : Setup Pages
uses : actions/configure-pages@v3
- name : Upload artifact
uses : actions/upload-pages-artifact@v2
with :
path : ' public '
- name : Deploy to GitHub Pages
id : deployment
uses : actions/deploy-pages@v2 Prérequis :
Mesures
/usr/local/bin pyarch --version
Notez que les autorisations sudo seront nécessaires. Alternativement, le script peut être exécuté sans l' step 2 :
python3 pyarch --version
Démo
Remarque Curl est requis.
sudo curl -SLo /usr/local/bin/pyarch https://github.com/kislerdm/pyarch/releases/download/v0.0.1/pyarch &&
pyarch --version
Sortir:
version: 0.0.1
Prérequis :
Suivez les étapes pour générer la page Web avec des diagrammes d'architecture dynamique de Sklearn:
mkdir sklearn-diagram && cd sklearn-diagram
git clone [email protected]:scikit-learn/scikit-learn.git code
pyreverse -Akmy -o puml -d . --ignore=test,tests code/sklearn
pyarch -i . -o . -v --title="sklearn architecture" --header="sklearn architecture"
Le répertoire devrait avoir la structure suivante:
.
├── code
├── classes.puml
├── packages.puml
└── index.html
Ouvrir index.html à l'aide d'un navigateur Web:

Le projet est distribué sous la licence MIT - n'hésitez pas à l'utiliser comme vous le ferez.
Veuillez ouvrir le problème de GitHub et / ou PR avec une proposition de changement pour collaborer.