A ferramenta para gerar diagramas de classes dinâmicas de pacotes Python para facilitar seu desenvolvimento e manutenção.
Motivação :
O pyarch pode ser executado como parte do fluxo de trabalho do GitHub.
| Atributo | Descrição | Obrigatório | Padrão |
|---|---|---|---|
input | Diretório com o código -fonte do pacote | verdadeiro | |
output | Diretório para salvar o arquivo HTML gerado | falso | .pyarch/output |
title | Título HTML personalizado | falso | Python package architecture |
header | Cabeçalho HTML personalizado | falso | Python package architecture |
footer | Footer HTML personalizado | falso | <p style="font-size:15px">Built with ❤️ by <a href="https://www.dkisler.com" target=_blank>Dmitry Kisler - dkisler.com</a></p> |
output : caminho para o arquivo HTML gerado.O seguinte fluxo de trabalho do GitHub pode ser usado para gerar o diagrama de arquitetura de pacotes e publicá -lo usando páginas do 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é -requisitos :
Passos
/usr/local/bin pyarch --version
Observe que as permissões do sudo serão necessárias. Como alternativa, o script pode ser executado sem a step 2 :
python3 pyarch --version
Demonstração
Nota Curl é necessário.
sudo curl -SLo /usr/local/bin/pyarch https://github.com/kislerdm/pyarch/releases/download/v0.0.1/pyarch &&
pyarch --version
Saída:
version: 0.0.1
Pré -requisitos :
Siga as etapas para gerar a página da web com diagramas de arquitetura dinâmica do 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"
Espera -se que o diretório tenha a seguinte estrutura:
.
├── code
├── classes.puml
├── packages.puml
└── index.html
Open index.html usando um navegador da web:

O projeto é distribuído sob a licença do MIT - sinta -se à vontade para usá -lo como quiser.
Abra o problema do GitHub e/ou PR com uma proposta de mudança para colaborar.