Skip to content

refactor: plot the dependency graphs with an optional pydot - #351

Merged
jdhughes-dev merged 2 commits into
modflowpy:developfrom
jdhughes-dev:swap-pydot
Sep 7, 2026
Merged

refactor: plot the dependency graphs with an optional pydot#351
jdhughes-dev merged 2 commits into
modflowpy:developfrom
jdhughes-dev:swap-pydot

Conversation

@jdhughes-dev

@jdhughes-dev jdhughes-dev commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

pydotplus is a fork of pydot that has not been released since 2014, and was imported when pymake was imported. pydot provides the same interface, is maintained, and is what the networkx dot interface is written against.

pydot is now an optional dependency, installed with pip install mfpymake[plot]. Plotting a dependency graph also needs the graphviz binaries, which pip cannot install, so an install no longer carries a dependency it may not be able to use. make_plots and to_pydot report what to install when pydot is missing.

@codecov

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 55.55556% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.032%. Comparing base (99e148f) to head (410b724).
⚠️ Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
pymake/plot/dependency_graphs.py 55.555% 4 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##           develop      #351       +/-   ##
=============================================
+ Coverage   74.770%   81.032%   +6.262%     
=============================================
  Files           20        20               
  Lines         3266      3274        +8     
=============================================
+ Hits          2442      2653      +211     
+ Misses         824       621      -203     
Files with missing lines Coverage Δ
pymake/plot/dependency_graphs.py 67.058% <55.555%> (-1.773%) ⬇️

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jdhughes-dev jdhughes-dev changed the title refactor: plot the dependency graphs with pydot refactor: plot the dependency graphs with an optional pydot Sep 7, 2026
pydotplus is a fork of pydot that has not been released since 2014, and is
imported when pymake is imported. pydot provides the same interface, is
maintained, and is what the networkx dot interface is written against.
pydot is only needed to plot dependency graphs, which also needs the
graphviz binaries that pip cannot install. The import is guarded so pymake
imports without it, and plotting reports what to install.
@jdhughes-dev
jdhughes-dev merged commit ee204a7 into modflowpy:develop Sep 7, 2026
12 checks passed
@jdhughes-dev
jdhughes-dev deleted the swap-pydot branch September 7, 2026 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant