-
-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overview: Create a dependency diagram using pipforester and pipdeptree #1281
Comments
This might be closed by #1715 when it is merged. |
@ksuess @jensens @mauritsvanrees OMG, check this out! Zero configuration. venv/bin/pip install pydeps
venv/bin/pydeps submodules/plone.api/src/plone Would this be helpful at all? I have no idea how difficult it is to update the Mermaid dependency graph. |
Looks nice. But, I have no idea. Lines without meaning? What does it tell us? If you want a dependency tree of Plone as defined in pyproject.toml (or legacy in setup.cfg/-.py), I suggest to use pipdeptree/pipforester. In a Virtual Environment with Plone installed do: # debian/ubuntu:
sudo apt install libgraphviz-dev xdot
# install tools
pip install pipdeptree pipforester
# create tree
pipdeptree -j > plone.json
# prune tree
pipforester -i plone.json -o plone.dot This creates a huge graph. To focus on Plone several excludes could be added to pipdeptree like so: pipdeptree -j -e 'zope.*,z3c.*,zc.*,setuptools,uv,six' > plone.json
pipforester -i plone.json -o plone.dot This shows you ( |
The Mermaid graph has different focus: Overview. Both, your initial graph and the pipdeptree/pipforester are going too much into detail. |
Thanks for the explanation. I tried to view your diagram on a 39-inch display, and it's still a rat's nest, especially for the Plone deps. That is way too much visual information to be useful. After reading about how you generate diagrams with From
Whereas
So I think that this issue should be renamed to using If so, then we can use your notes as a starting point, and try to find a reasonable dependencies diagram. |
Description
Newbies to Plone have a tough time navigating between all the various packages that make up Plone.
A Python dependency diagram would be helpful for the Python parts. We'll use https://pypi.org/project/pipforester/ which depends on https://pypi.org/project/pipdeptree/.
Humans can fill in any important bits, such as "To edit breadcrumbs or other bits and pieces of a layout in Plone core, then visit
plone.app.layout
."For Volto, do we already have a tool that can do this? A quick search turned up https://github.com/sverweij/dependency-cruiser
The appropriate place for this graph and any associated narrative would be in a new section in Overview.
The text was updated successfully, but these errors were encountered: