-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Use correct minimum rustworkx requirement version #14507
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
Conversation
The rustworkx version we have previously had set as the minimum requirement is not correct. It was listed as 0.15.0 but we are using `PyDiGraph.neighbors_undirected()` since Qiskit#14218 merged which was added in rustworkx 0.16.0. [1] This means the requirement is incorrect and if you try to run Qiskit with rustworkx 0.15.0 it will not work when this method is run. This commit corrects this issue and bumps the minimum supported rustworkx version in the requirements list to 0.16.0. [1] https://www.rustworkx.org/release_notes.html#relnotes-0-16-0
One or more of the following people are relevant to this code:
|
What is problematic here is that #14218 was backported to stable/2.0 and stable/1.4. So we should at least do the same, although we typically try to avoid raising minimum dependency versions in patch releases. We might want to instead look at rewriting the vf2 utils function to avoid using |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is the only problem with Rustworkx 0.15, let's leave our requirement and that and put the workaround on all branches.
My new VF2 obsoletes that Python-space code anyway, and that should come in for the 2.2 cycle, so probably nicer not to bump the dependency for this alone. I didn't realise that that was a 0.16 method when I wrote it.
That was the only place I hit, but I didn't test beyond it. I can run the test suite with 0.15.0 installed to verify there is nothing else and do that instead. We do require rustworkx-core 0.16.0 but that's obviously different. |
Pull Request Test Coverage Report for Build 15333752715Details
💛 - Coveralls |
In Qiskit#14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see Qiskit#14507) to rustworkx 0.16.0 using this method isn't strictly necessary and Qiskit#14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement.
In Qiskit#14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see Qiskit#14507) to rustworkx 0.16.0 using this method isn't strictly necessary and Qiskit#14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement.
Closing this in favor of: #14513 |
* Avoid using rustworkx 0.16.0 methods in vf2_utils In #14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see #14507) to rustworkx 0.16.0 using this method isn't strictly necessary and #14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement. * Correctly handle duplicates across successors and predecessors
* Avoid using rustworkx 0.16.0 methods in vf2_utils In #14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see #14507) to rustworkx 0.16.0 using this method isn't strictly necessary and #14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement. * Correctly handle duplicates across successors and predecessors (cherry picked from commit 9aa1a29)
* Avoid using rustworkx 0.16.0 methods in vf2_utils In #14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see #14507) to rustworkx 0.16.0 using this method isn't strictly necessary and #14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement. * Correctly handle duplicates across successors and predecessors (cherry picked from commit 9aa1a29)
…14533) * Avoid using rustworkx 0.16.0 methods in vf2_utils (#14513) * Avoid using rustworkx 0.16.0 methods in vf2_utils In #14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see #14507) to rustworkx 0.16.0 using this method isn't strictly necessary and #14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement. * Correctly handle duplicates across successors and predecessors (cherry picked from commit 9aa1a29) * Add release note --------- Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
…14534) * Avoid using rustworkx 0.16.0 methods in vf2_utils (#14513) * Avoid using rustworkx 0.16.0 methods in vf2_utils In #14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see #14507) to rustworkx 0.16.0 using this method isn't strictly necessary and #14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement. * Correctly handle duplicates across successors and predecessors (cherry picked from commit 9aa1a29) * Add release note --------- Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
* Avoid using rustworkx 0.16.0 methods in vf2_utils In Qiskit#14218 the vf2_utils module was updated to use the `PyDiGraph.neighbors_undirected()` method which was added in 0.16.0. However that PR neglected to bump the minimum required version of rustworkx to 0.16.0 from 0.15.0 which is the current minim version listed. While we could bump the minimum version (see Qiskit#14507) to rustworkx 0.16.0 using this method isn't strictly necessary and Qiskit#14218 was backported to stable branches and backporting a version bump is not desireable. This commit instead just updates the rustworkx usage to use APIs in 0.15.0. This PR will need to be backported to stable/1.4 and stable/2.0 to fix compatibility with the listed rustworkx requirement. However, in the backport a fix note will be needed to document that the release fixes compatibility with the listed requirement. * Correctly handle duplicates across successors and predecessors
Summary
The rustworkx version we have previously had set as the minimum requirement is not correct. It was listed as 0.15.0 but we are using
PyDiGraph.neighbors_undirected()
since #14218 merged which was added in rustworkx 0.16.0. [1] This means the requirement is incorrect and if you try to run Qiskit with rustworkx 0.15.0 it will not work when this method is run. This commit corrects this issue and bumps the minimum supported rustworkx version in the requirements list to 0.16.0.Details and comments
[1] https://www.rustworkx.org/release_notes.html#relnotes-0-16-0