-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (backport #11460) #11635
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
…11460) * remove deprecated code in clifford_decompose and cnotdihedral_decompose * move tests from test/python/quantum_info to test/python/synthesis * move the Quaternion class from quantum_info/synthesis to quantum_info * deprecate cnot_rxx_decompose, and move to an internal code in the equivalence_library * deprecate cnot_rxx_decompose * move qsd from qiskit/quantum_info/synthesis to qiskit/synthesis/unitary * handle lint and docs errors in qsd * handle lint and docs errors in qsd * handle lint and docs errors in qsd * handle lint and docs errors in qsd * handle lint and docs errors in qsd * handle cyclic imports in qsd * minor * update qsd docs * move one_qubit_decompose from qiskit/quantum_info/synthesis to qiskit/synthesis/one_qubit * move xx_decompose from qiskit/quantum_info/synthesis to qiskit/synthesis/two_qubits * handle cyclic imports * move two-qubit synthesis code from qiskit/quantum_info/synthesis to qiskit/synthesis/two_qubits * update qsd docs * minor * add release notes * updates following review * add disable cyclic import to rv.py * add deprecation warning in qiskit/quantum_info/__init__.py * fix links * improve qsd docs following review * update qsd after review * change pending deprecatrion to deprecation in ion_decompose * update release notes following review * update pending deprecation to deprecation * add test for a deprecation * add more tests for deprecations * add another test for deprecation * handle lint errors * minor fix following review * remove test for _cnot_rxx_decompose() private method (cherry picked from commit 8887f44) # Conflicts: # qiskit/synthesis/__init__.py # qiskit/transpiler/synthesis/qsd.py # test/benchmarks/random_circuit_hex.py
Thank you for opening a new pull request. Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient. While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone. One or more of the the following people are requested to review this:
|
Pull Request Test Coverage Report for Build 7657440342
💛 - Coveralls |
This backport has broken CI for the circuit-knitting-toolbox. See e.g. https://github.com/Qiskit-Extensions/circuit-knitting-toolbox/actions/runs/7689870643/job/20952914803. If this change is to be performed in a backwards compatible way, then the following import line should be made to still work in the backported version: from qiskit.quantum_info.synthesis.two_qubit_decompose import TwoQubitWeylDecomposition |
Jim: is there a reason you need that hyperspeciifc import? We don't consider particular modules beyond a package's |
That class is not imported in |
Ah, sorry, I'd assumed it was imported into the package and documented. In this case yeah, I think it probably was meant to be public but it's one of the old parts of Terra where the public/private split is not handled well. I think in the interests of practicality we ought to make your import work on the backport branch, and ensure that the new location correctly imports it into the package and documents it. @ShellyGarion - would you be able to look at doing that? |
@garrison - I also thought that this was an internal class, since it has never appeared in the docs before (and also not in Anyway, it was not removed, only migrated to the synthesis library, here:
So, an immediate solution would be to replace your line above: |
To provide a solution for the long run, perhaps you could provide a link to the circuit knitting code that uses this class? |
This PR: #11672 |
…ion` This is a follow-up to the conversation at Qiskit/qiskit#11635 (comment). The toplevel package import was made available in Qiskit/qiskit#11687 in time for Qiskit 1.0.
…ion` (#547) This is a follow-up to the conversation at Qiskit/qiskit#11635 (comment). The toplevel package import was made available in Qiskit/qiskit#11687 in time for Qiskit 1.0.
This is an automatic backport of pull request #11460 done by Mergify.
Cherry-pick of 8887f44 has failed:
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally
Mergify commands and options
More conditions and actions can be found in the documentation.
You can also trigger Mergify actions by commenting on this pull request:
@Mergifyio refresh
will re-evaluate the rules@Mergifyio rebase
will rebase this PR on its base branch@Mergifyio update
will merge the base branch into this PR@Mergifyio backport <destination>
will backport this PR on<destination>
branchAdditionally, on Mergify dashboard you can:
Finally, you can contact us on https://mergify.com