-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Remove deprecated qiskit.IBMQ alias object #10525
Conversation
This commit removes the depercated qiskit.IBMQ alias object. It was marked as deprecated in 0.23.0 and now that the qiskit-ibmq-provider package has been retired and is no longer supported it truly has no more meaning. Realistically it probably should have been removed as part of 0.25.0 which corresponded with the retirement of the qiskit-ibmq-provider library, but this was forgotten as part of the 0.25.0 release so we'll have to do it as part of 0.45.0.
One or more of the the following people are requested to review this:
|
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.
On a quick scan through the codebase, we still set this a little in qiskit/test/mock
and test/python/tools/jupyter/test_notebooks
, and it's mentioned in the algorithms migration guide. We maybe should squash those at the same time.
Pull Request Test Coverage Report for Build 5692752694
💛 - Coveralls |
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.
Shall we remove all the references to qiskit.providers.ibmq
?
$ grep "qiskit.providers.ibmq" -r qiskit
qiskit/tools/monitor/overview.py:31: from qiskit.providers.ibmq import IBMQ
qiskit/tools/monitor/overview.py:65: from qiskit.providers.ibmq import IBMQ
qiskit/tools/monitor/overview.py:71: from qiskit.providers.ibmq import IBMQBackend
qiskit/tools/monitor/overview.py:178: from qiskit.providers.ibmq import IBMQ
qiskit/tools/jupyter/backend_monitor.py:27: from qiskit.providers.ibmq import IBMQBackend
qiskit/tools/jupyter/job_watcher.py:99: from qiskit.providers.ibmq.job.exceptions import ( # pylint: disable=no-name-in-module
qiskit/tools/jupyter/__init__.py:28: from qiskit.providers.ibmq import IBMQ
qiskit/tools/jupyter/__init__.py:42: from qiskit.providers.ibmq import IBMQ
qiskit/tools/jupyter/__init__.py:125: from qiskit.providers.ibmq import IBMQBackend # pylint: disable=no-name-in-module
qiskit/test/ibmq_mock.py:28: value to qiskit.providers.ibmq.IBMQ after you finish using your mock.
qiskit/test/decorators.py:113: from qiskit.providers.ibmq.credentials import Credentials, discover_credentials
qiskit/providers/fake_provider/__init__.py:73: from qiskit.providers.ibmq import IBMQ
qiskit/utils/run_circuits.py:339: from qiskit.providers.ibmq import IBMQBackendJobLimitError
qiskit/utils/backend_utils.py:61: from qiskit.providers.ibmq import IBMQFactory
qiskit/utils/backend_utils.py:62: from qiskit.providers.ibmq.accountprovider import AccountProvider
qiskit/utils/backend_utils.py:148: from qiskit.providers.ibmq.accountprovider import AccountProvider
qiskit/utils/optionals.py:36: - The :mod:`Qiskit IBMQ Provider <qiskit.providers.ibmq>` is used for accessing IBM Quantum
qiskit/utils/optionals.py:223: "qiskit.providers.ibmq",
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.
Those the comment on the top still applies?
# Moved to after IBMQ and Aer imports due to import issues
# with other modules that check for IBMQ (tools)
Aer = AerWrapper() | ||
IBMQ = IBMQWrapper() | ||
|
||
__all__ = [ |
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.
I think "IBMQ",
needs to be removed from this list
So looking at the list of what @1ucian0 highlighted, I think the path forward here is a bit more expansive than I realized at first. There are chunks of qiskit in dark corners that still have a hard dependency on qiskit-ibmq-provider. Mainly the backend overview, most of the juypter widgets, and some of the algorithms/quantum instance helpers. I'm going to defer this from 0.45 and then we can just remove all of those en masse early in the next release cycle. |
This commit removes all the functionality in Qiskit that depended on the legacy qiskit-ibmq-provider package. This process was started in Qiskit#10525 which removed the qiskit.IBMQ alias object but as was discovered in that PR there were many other places in qiskit that were relying on the qiskit-ibmq-provider package. This commit removes all of these places, which primarily include qiskit.test.decorators's online_test decorator, qiskit.tools.jupyter, qiskit.tools.monitor, qiskit.test.ibmq_mock, and qiskit.test.mock (which just referenced IBMQ and didn't actually use it). With these removals we're also no longer optionally dependent on ipywidgets, jupyter, or ipython and those are removed from the optional and development requirements lists.
This is superseded by: #11513 |
* Remove deprecate IBMQ dependent functionality This commit removes all the functionality in Qiskit that depended on the legacy qiskit-ibmq-provider package. This process was started in #10525 which removed the qiskit.IBMQ alias object but as was discovered in that PR there were many other places in qiskit that were relying on the qiskit-ibmq-provider package. This commit removes all of these places, which primarily include qiskit.test.decorators's online_test decorator, qiskit.tools.jupyter, qiskit.tools.monitor, qiskit.test.ibmq_mock, and qiskit.test.mock (which just referenced IBMQ and didn't actually use it). With these removals we're also no longer optionally dependent on ipywidgets, jupyter, or ipython and those are removed from the optional and development requirements lists. * Remove stale api docs * Remove ibmq usage in fake backend update script * Preserve circuit library visualizations * Remove apidocs from index * Remove unused import * Update docs
* Remove deprecate IBMQ dependent functionality This commit removes all the functionality in Qiskit that depended on the legacy qiskit-ibmq-provider package. This process was started in Qiskit#10525 which removed the qiskit.IBMQ alias object but as was discovered in that PR there were many other places in qiskit that were relying on the qiskit-ibmq-provider package. This commit removes all of these places, which primarily include qiskit.test.decorators's online_test decorator, qiskit.tools.jupyter, qiskit.tools.monitor, qiskit.test.ibmq_mock, and qiskit.test.mock (which just referenced IBMQ and didn't actually use it). With these removals we're also no longer optionally dependent on ipywidgets, jupyter, or ipython and those are removed from the optional and development requirements lists. * Remove stale api docs * Remove ibmq usage in fake backend update script * Preserve circuit library visualizations * Remove apidocs from index * Remove unused import * Update docs
Summary
This commit removes the depercated qiskit.IBMQ alias object. It was marked as deprecated in 0.23.0 and now that the qiskit-ibmq-provider package has been retired and is no longer supported it truly has no more meaning. Realistically it probably should have been removed as part of 0.25.0 which corresponded with the retirement of the qiskit-ibmq-provider library, but this was forgotten as part of the 0.25.0 release so we'll have to do it as part of 0.45.0.
Details and comments