You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make Python optional: plotting and pyamg become package extensions; bump to 1.0.2
PyPlot and PyCall move from [deps] to [weakdeps]. The solver core now has no
Python dependency at all (the dependency closure shrinks from 206 to 174
packages); plotting and the pyamg prolongator are opt-in extensions.
MultiGridBarrierPyPlotExt (load PyPlot; PyCall arrives with it) carries every
plot method -- 2D FEM, 1D, spectral, MGBSOL, ParabolicSOL with the matplotlib
animation, and plot3d.jl wholesale with its lazy pyvista import. The methods
extend PyPlot.plot and PyPlot.savefig, so
gives exactly the old behavior; the parent no longer exports plot/savefig.
MGB3DFigure and HTML5anim hold plain PNG/HTML data and stay in the parent.
MultiGridBarrierPyAMGExt (load PyCall) supplies amg_pyamg; the parent keeps
the exported stub. FFMPEG/PNGFiles/Base64 stay hard deps (not Python; the
extension uses them through the parent).
Docs gain Plotting and PyAMG tabs; index/zoo examples show the PyPlot load;
README quickstart updated and gains a Python-optional bullet. CI configures
PyCall against the system Python in a throwaway environment (the build config
is depot-wide) and keeps the OpenSSL_jll 3.0 pin CI-only, in the package env,
where it always lived; the test target gains PyPlot/PyCall extras and
runtests.jl loads PyPlot.
Verified: full Pkg.test green (all five extensions, including pyamg through
the new extension against the real Python pyamg); local docs build green;
Python-free load and solve confirmed in a PyCall-free environment.
0 commit comments