[Backport] Move visualize overloads to package extension; bump to v0.21.2#369
Merged
Merged
Conversation
…21.2 Backport of #367 onto the release-0.21 branch. Replace the in-source `visualize(::AbstractITensorNetwork, ...)` method (in `src/abstractitensornetwork.jl`) and the two type-piracy methods on `AbstractNamedGraph` / `AbstractDataGraph` (in `src/visualize.jl`) with a single `ITensorNetworksITensorVisualizationBaseExt` package extension that overloads `visualize(::AbstractITensorNetwork, ...)` only. The type-piracy methods migrate upstream: - `NamedGraphs.jl` v0.11.1 (PR ITensor/NamedGraphs.jl#166) adds the `AbstractNamedGraph` overload via its own `NamedGraphsITensorVisualizationBaseExt`. - `DataGraphs.jl` v0.4.1 (PR ITensor/DataGraphs.jl#119) adds the `AbstractDataGraph` overload via `DataGraphsITensorVisualizationBaseExt`. Motivation for backporting: once NamedGraphs v0.11.1 and DataGraphs v0.4.1 register, any user on legacy ITensorNetworks v0.21.x alongside the new NamedGraphs/DataGraphs would hit method-overwrite warnings on the two type-pirated `visualize` methods. v0.22 may take a while to ship (its prerelease accumulator is still receiving changes), so we publish a v0.21.2 patch carrying the equivalent fix. Bumps `[compat]` floors to `NamedGraphs = "0.11.1"` and `DataGraphs = "0.4.1"`, and bumps package version from 0.21.1 to 0.21.2. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## release-0.21 #369 +/- ##
================================================
+ Coverage 74.65% 74.89% +0.24%
================================================
Files 63 63
Lines 3101 3095 -6
================================================
+ Hits 2315 2318 +3
+ Misses 786 777 -9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backport of #367 onto the new
release-0.21branch.Replaces the in-source
visualize(::AbstractITensorNetwork, ...)method (insrc/abstractitensornetwork.jl) and the two type-piracy methods onAbstractNamedGraph/AbstractDataGraph(insrc/visualize.jl) with a singleITensorNetworksITensorVisualizationBaseExtpackage extension that overloadsvisualize(::AbstractITensorNetwork, ...)only. The type-piracy methods migrate upstream:NamedGraphs.jlv0.11.1 (#166) adds theAbstractNamedGraphoverload via its ownNamedGraphsITensorVisualizationBaseExt.DataGraphs.jlv0.4.1 (#119) adds theAbstractDataGraphoverload viaDataGraphsITensorVisualizationBaseExt.Motivation for backporting
Once NamedGraphs v0.11.1 and DataGraphs v0.4.1 register, any user on legacy ITensorNetworks v0.21.x alongside the new NamedGraphs/DataGraphs would hit method-overwrite warnings on the two type-pirated
visualizemethods. v0.22 may take a while to ship (its prerelease accumulator is still receiving changes), so we publish a v0.21.2 patch carrying the equivalent fix.Changes
ext/ITensorNetworksITensorVisualizationBaseExt/.src/visualize.jl(and itsincludefromsrc/ITensorNetworks.jl).visualize(::AbstractITensorNetwork, ...)block fromsrc/abstractitensornetwork.jl.ITensorVisualizationBaseto[weakdeps]/[extensions]/[compat].[compat]floors:NamedGraphs = "0.11.1",DataGraphs = "0.4.1".0.21.1→0.21.2.Release-branch workflow
This is the first PR against the new
release-0.21branch, modeled on Julia'srelease-X.Yconvention (simplified — nobackports-release-X.Ystaging tier, since we expect only 1–2 backports before v0.22 ships).After merge, registration needs to be triggered manually via a
/register <merge-sha>commit comment on the merge commit (theRegistrator.ymlworkflow'spushtrigger only fires onmain/masterby default; theissue_commentpath usesforce=trueand works regardless of branch).Status
CI will be red until NamedGraphs v0.11.1 and DataGraphs v0.4.1 actually land in the registry. Opening the PR now mostly for tracking.