mirror of https://github.com/Qiskit/qiskit.git
Remove deprecated code in 0.19 (#10791)
* remove-deprecated-code-in-0.19 * update docs * Apply suggestions from code review Co-authored-by: Luciano Bello <bel@zurich.ibm.com> * remove unused function --------- Co-authored-by: Luciano Bello <bel@zurich.ibm.com>
This commit is contained in:
parent
4e49a56945
commit
2d3632fee6
|
@ -27,7 +27,7 @@ from qiskit.exceptions import QiskitError
|
|||
from qiskit.providers.backend import Backend
|
||||
from qiskit.pulse import Instruction, LoConfig, Schedule, ScheduleBlock
|
||||
from qiskit.pulse.channels import PulseChannel
|
||||
from qiskit.qobj import Qobj, QobjHeader
|
||||
from qiskit.qobj import QasmQobj, PulseQobj, QobjHeader
|
||||
from qiskit.qobj.utils import MeasLevel, MeasReturnType
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -74,7 +74,7 @@ def assemble(
|
|||
parametric_pulses: Optional[List[str]] = None,
|
||||
init_qubits: bool = True,
|
||||
**run_config: Dict,
|
||||
) -> Qobj:
|
||||
) -> Union[QasmQobj, PulseQobj]:
|
||||
"""Assemble a list of circuits or pulse schedules into a ``Qobj``.
|
||||
|
||||
This function serializes the payloads, which could be either circuits or schedules,
|
||||
|
|
|
@ -26,7 +26,6 @@ from qiskit.pulse.channels import (
|
|||
DriveChannel,
|
||||
MeasureChannel,
|
||||
)
|
||||
from qiskit.utils.deprecation import deprecate_arg
|
||||
|
||||
|
||||
class GateConfig:
|
||||
|
@ -831,22 +830,13 @@ class PulseBackendConfiguration(QasmBackendConfiguration):
|
|||
raise BackendConfigurationError(f"Invalid index for {qubit}-qubit systems.")
|
||||
return AcquireChannel(qubit)
|
||||
|
||||
@deprecate_arg(
|
||||
"channel",
|
||||
since="0.19.0",
|
||||
additional_msg=(
|
||||
"Instead, use the ``qubits`` argument. This method will now return accurate "
|
||||
"ControlChannels determined by qubit indices."
|
||||
),
|
||||
)
|
||||
def control(self, qubits: Iterable[int] = None, channel: int = None) -> List[ControlChannel]:
|
||||
def control(self, qubits: Iterable[int] = None) -> List[ControlChannel]:
|
||||
"""
|
||||
Return the secondary drive channel for the given qubit -- typically utilized for
|
||||
controlling multiqubit interactions. This channel is derived from other channels.
|
||||
|
||||
Args:
|
||||
qubits: Tuple or list of qubits of the form `(control_qubit, target_qubit)`.
|
||||
channel: Deprecated.
|
||||
|
||||
Raises:
|
||||
BackendConfigurationError: If the ``qubits`` is not a part of the system or if
|
||||
|
@ -855,8 +845,6 @@ class PulseBackendConfiguration(QasmBackendConfiguration):
|
|||
Returns:
|
||||
List of control channels.
|
||||
"""
|
||||
if channel is not None:
|
||||
qubits = [channel]
|
||||
try:
|
||||
if isinstance(qubits, list):
|
||||
qubits = tuple(qubits)
|
||||
|
|
|
@ -23,7 +23,6 @@ Base
|
|||
.. autosummary::
|
||||
:toctree: ../stubs/
|
||||
|
||||
Qobj
|
||||
QobjExperimentHeader
|
||||
QobjHeader
|
||||
|
||||
|
@ -74,14 +73,3 @@ from qiskit.qobj.qasm_qobj import QasmQobjInstruction
|
|||
from qiskit.qobj.qasm_qobj import QasmQobjExperiment
|
||||
from qiskit.qobj.qasm_qobj import QasmQobjConfig
|
||||
from qiskit.qobj.qasm_qobj import QasmQobjExperimentConfig
|
||||
|
||||
from qiskit.utils.deprecation import deprecate_func
|
||||
|
||||
|
||||
class Qobj(QasmQobj):
|
||||
"""A backwards compat alias for QasmQobj."""
|
||||
|
||||
@deprecate_func(additional_msg="Instead, use QasmQobj or PulseQobj", since="0.19.0")
|
||||
def __init__(self, qobj_id=None, config=None, experiments=None, header=None):
|
||||
"""Initialize a Qobj object."""
|
||||
super().__init__(qobj_id=qobj_id, config=config, experiments=experiments, header=header)
|
||||
|
|
|
@ -16,20 +16,13 @@ from typing import Optional, List, Tuple, Union, Iterable
|
|||
|
||||
import qiskit.circuit
|
||||
from qiskit.circuit import Barrier, Delay
|
||||
from qiskit.circuit import Instruction, Qubit, ParameterExpression
|
||||
from qiskit.circuit import Instruction, ParameterExpression
|
||||
from qiskit.circuit.duration import duration_in_dt
|
||||
from qiskit.providers import Backend
|
||||
from qiskit.transpiler.exceptions import TranspilerError
|
||||
from qiskit.utils.deprecation import deprecate_arg
|
||||
from qiskit.utils.units import apply_prefix
|
||||
|
||||
|
||||
def _is_deprecated_qubits_argument(qubits: Union[int, list[int], Qubit, list[Qubit]]) -> bool:
|
||||
if isinstance(qubits, (int, Qubit)):
|
||||
qubits = [qubits]
|
||||
return isinstance(qubits[0], Qubit)
|
||||
|
||||
|
||||
class InstructionDurations:
|
||||
"""Helper class to provide durations of instructions for scheduling.
|
||||
|
||||
|
@ -130,7 +123,6 @@ class InstructionDurations:
|
|||
)
|
||||
else:
|
||||
for i, items in enumerate(inst_durations):
|
||||
|
||||
if not isinstance(items[-1], str):
|
||||
items = (*items, "dt") # set default unit
|
||||
|
||||
|
@ -170,19 +162,10 @@ class InstructionDurations:
|
|||
|
||||
return self
|
||||
|
||||
@deprecate_arg(
|
||||
"qubits",
|
||||
deprecation_description=(
|
||||
"Using a Qubit or List[Qubit] for the ``qubits`` argument to InstructionDurations.get()"
|
||||
),
|
||||
additional_msg="Instead, use an integer for the qubit index.",
|
||||
since="0.19.0",
|
||||
predicate=_is_deprecated_qubits_argument,
|
||||
)
|
||||
def get(
|
||||
self,
|
||||
inst: str | qiskit.circuit.Instruction,
|
||||
qubits: int | list[int] | Qubit | list[Qubit] | list[int | Qubit],
|
||||
qubits: int | list[int],
|
||||
unit: str = "dt",
|
||||
parameters: list[float] | None = None,
|
||||
) -> float:
|
||||
|
@ -192,7 +175,7 @@ class InstructionDurations:
|
|||
|
||||
Args:
|
||||
inst: An instruction or its name to be queried.
|
||||
qubits: Qubits or its indices that the instruction acts on.
|
||||
qubits: Qubit indices that the instruction acts on.
|
||||
unit: The unit of duration to be returned. It must be 's' or 'dt'.
|
||||
parameters: The value of the parameters of the desired instruction.
|
||||
|
||||
|
@ -212,12 +195,9 @@ class InstructionDurations:
|
|||
else:
|
||||
inst_name = inst
|
||||
|
||||
if isinstance(qubits, (int, Qubit)):
|
||||
if isinstance(qubits, int):
|
||||
qubits = [qubits]
|
||||
|
||||
if isinstance(qubits[0], Qubit):
|
||||
qubits = [q.index for q in qubits]
|
||||
|
||||
try:
|
||||
return self._get(inst_name, qubits, unit, parameters)
|
||||
except TranspilerError as ex:
|
||||
|
|
|
@ -21,7 +21,7 @@ import warnings
|
|||
|
||||
import numpy as np
|
||||
|
||||
from qiskit.qobj import Qobj
|
||||
from qiskit.qobj import QasmQobj, PulseQobj
|
||||
from qiskit.utils import circuit_utils
|
||||
from qiskit.exceptions import QiskitError
|
||||
from qiskit.utils.backend_utils import (
|
||||
|
@ -451,7 +451,7 @@ class QuantumInstance:
|
|||
|
||||
return transpiled_circuits
|
||||
|
||||
def assemble(self, circuits) -> Qobj:
|
||||
def assemble(self, circuits) -> Union[QasmQobj, PulseQobj]:
|
||||
"""assemble circuits"""
|
||||
# pylint: disable=cyclic-import
|
||||
from qiskit import compiler
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
upgrade:
|
||||
- |
|
||||
The argument ``qubits`` in the method :meth:`qiskit.transpiler.instruction_durations.InstructionDurations.get`, does not accept :class:`.Qubit` (or a list of them) any more. This functionality was deprecated in Qiskit 0.33 (with Terra 0.19), released on Dec 2021. Instead, use an integer for the qubit indices.
|
||||
|
||||
- |
|
||||
The argument ``channel`` in the method :meth:`qiskit.providers.models.backendconfiguration.PulseBackendConfiguration.control` is removed. It was deprecated in Qiskit 0.33 (with Terra 0.19), released on Dec 2021. Instead use the ``qubits`` argument.
|
||||
|
||||
- |
|
||||
The class ``qiskit.qobj.Qobj`` is removed. It was deprecated in Qiskit 0.33 (with Terra 0.19), released on Dec 2021. Instead, use :class:`qiskit.qobj.QasmQobj` or :class:`qiskit.qobj.PulseQobj`.
|
Loading…
Reference in New Issue