cirq-core 1.6.0.dev20250519175318__py3-none-any.whl → 1.6.0.dev20250519202416__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cirq-core might be problematic. Click here for more details.

Files changed (207) hide show
  1. cirq/_version.py +1 -1
  2. cirq/_version_test.py +1 -1
  3. cirq/devices/grid_qubit_test.py +3 -0
  4. cirq/devices/insertion_noise_model_test.py +2 -0
  5. cirq/devices/line_qubit_test.py +2 -0
  6. cirq/devices/named_topologies_test.py +3 -0
  7. cirq/devices/noise_properties_test.py +2 -0
  8. cirq/devices/noise_utils_test.py +2 -0
  9. cirq/devices/superconducting_qubits_noise_properties_test.py +2 -0
  10. cirq/devices/thermal_noise_model_test.py +2 -0
  11. cirq/devices/unconstrained_device_test.py +2 -0
  12. cirq/experiments/benchmarking/parallel_xeb_test.py +2 -0
  13. cirq/experiments/fidelity_estimation_test.py +3 -0
  14. cirq/experiments/n_qubit_tomography_test.py +3 -0
  15. cirq/experiments/purity_estimation.py +2 -0
  16. cirq/experiments/purity_estimation_test.py +2 -0
  17. cirq/experiments/qubit_characterizations_test.py +2 -0
  18. cirq/experiments/readout_confusion_matrix_test.py +2 -0
  19. cirq/experiments/t1_decay_experiment_test.py +2 -0
  20. cirq/experiments/t2_decay_experiment_test.py +2 -0
  21. cirq/experiments/two_qubit_xeb_test.py +4 -0
  22. cirq/experiments/xeb_sampling_test.py +3 -0
  23. cirq/experiments/z_phase_calibration_test.py +2 -0
  24. cirq/interop/quirk/cells/all_cells.py +7 -2
  25. cirq/interop/quirk/cells/arithmetic_cells_test.py +3 -0
  26. cirq/interop/quirk/cells/cell_test.py +3 -0
  27. cirq/interop/quirk/cells/composite_cell_test.py +2 -0
  28. cirq/interop/quirk/cells/control_cells_test.py +2 -0
  29. cirq/interop/quirk/cells/frequency_space_cells_test.py +2 -0
  30. cirq/interop/quirk/cells/ignored_cells.py +3 -0
  31. cirq/interop/quirk/cells/ignored_cells_test.py +2 -0
  32. cirq/interop/quirk/cells/input_cells_test.py +2 -0
  33. cirq/interop/quirk/cells/input_rotation_cells_test.py +2 -0
  34. cirq/interop/quirk/cells/measurement_cells_test.py +2 -0
  35. cirq/interop/quirk/cells/parse.py +2 -0
  36. cirq/interop/quirk/cells/parse_test.py +2 -0
  37. cirq/interop/quirk/cells/qubit_permutation_cells_test.py +2 -0
  38. cirq/interop/quirk/cells/scalar_cells_test.py +2 -0
  39. cirq/interop/quirk/cells/single_qubit_rotation_cells_test.py +2 -0
  40. cirq/interop/quirk/cells/swap_cell_test.py +2 -0
  41. cirq/interop/quirk/cells/testing.py +2 -0
  42. cirq/interop/quirk/cells/testing_test.py +2 -0
  43. cirq/interop/quirk/cells/unsupported_cells.py +3 -0
  44. cirq/interop/quirk/cells/unsupported_cells_test.py +2 -0
  45. cirq/interop/quirk/url_to_circuit_test.py +3 -0
  46. cirq/linalg/combinators_test.py +3 -0
  47. cirq/linalg/decompositions_test.py +2 -0
  48. cirq/linalg/diagonalize.py +2 -0
  49. cirq/linalg/diagonalize_test.py +2 -0
  50. cirq/linalg/operator_spaces_test.py +2 -0
  51. cirq/linalg/predicates_test.py +2 -0
  52. cirq/linalg/tolerance_test.py +2 -0
  53. cirq/linalg/transformations.py +4 -1
  54. cirq/linalg/transformations_test.py +2 -0
  55. cirq/neutral_atoms/convert_to_neutral_atom_gates_test.py +2 -0
  56. cirq/neutral_atoms/neutral_atom_devices.py +2 -0
  57. cirq/ops/arithmetic_operation_test.py +2 -0
  58. cirq/ops/boolean_hamiltonian_test.py +3 -0
  59. cirq/ops/classically_controlled_operation_test.py +2 -0
  60. cirq/ops/common_channels_test.py +2 -0
  61. cirq/ops/common_gate_families.py +2 -0
  62. cirq/ops/common_gate_families_test.py +2 -0
  63. cirq/ops/common_gates_test.py +2 -0
  64. cirq/ops/control_values_test.py +2 -0
  65. cirq/ops/controlled_gate_test.py +4 -2
  66. cirq/ops/controlled_operation_test.py +4 -2
  67. cirq/ops/dense_pauli_string_test.py +3 -0
  68. cirq/ops/diagonal_gate_test.py +2 -0
  69. cirq/ops/eigen_gate_test.py +2 -0
  70. cirq/ops/fourier_transform_test.py +2 -0
  71. cirq/ops/fsim_gate_test.py +2 -0
  72. cirq/ops/gate_features.py +2 -0
  73. cirq/ops/gate_features_test.py +2 -0
  74. cirq/ops/gate_operation_test.py +3 -0
  75. cirq/ops/gateset_test.py +2 -0
  76. cirq/ops/global_phase_op_test.py +2 -0
  77. cirq/ops/greedy_qubit_manager_test.py +2 -0
  78. cirq/ops/identity_test.py +3 -0
  79. cirq/ops/kraus_channel_test.py +3 -0
  80. cirq/ops/linear_combinations_test.py +2 -0
  81. cirq/ops/matrix_gates_test.py +3 -0
  82. cirq/ops/measure_util_test.py +2 -0
  83. cirq/ops/measurement_gate_test.py +2 -0
  84. cirq/ops/mixed_unitary_channel_test.py +3 -0
  85. cirq/ops/named_qubit_test.py +2 -0
  86. cirq/ops/op_tree_test.py +3 -0
  87. cirq/ops/parallel_gate_test.py +2 -0
  88. cirq/ops/parity_gates_test.py +2 -0
  89. cirq/ops/pauli_gates_test.py +2 -0
  90. cirq/ops/pauli_interaction_gate_test.py +2 -0
  91. cirq/ops/pauli_measurement_gate_test.py +2 -0
  92. cirq/ops/pauli_string_phasor_test.py +2 -0
  93. cirq/ops/pauli_string_raw_types_test.py +2 -0
  94. cirq/ops/pauli_string_test.py +2 -0
  95. cirq/ops/pauli_sum_exponential_test.py +2 -0
  96. cirq/ops/permutation_gate_test.py +2 -0
  97. cirq/ops/phased_iswap_gate_test.py +2 -0
  98. cirq/ops/phased_x_gate_test.py +2 -0
  99. cirq/ops/phased_x_z_gate_test.py +3 -0
  100. cirq/ops/projector_test.py +3 -0
  101. cirq/ops/qid_util_test.py +2 -0
  102. cirq/ops/qubit_manager_test.py +2 -0
  103. cirq/ops/qubit_order.py +11 -13
  104. cirq/ops/qubit_order_or_list.py +2 -0
  105. cirq/ops/qubit_order_test.py +2 -0
  106. cirq/ops/random_gate_channel_test.py +3 -0
  107. cirq/ops/state_preparation_channel_test.py +2 -0
  108. cirq/ops/swap_gates_test.py +2 -0
  109. cirq/ops/tags.py +4 -0
  110. cirq/ops/tags_test.py +2 -0
  111. cirq/ops/three_qubit_gates_test.py +2 -0
  112. cirq/ops/two_qubit_diagonal_gate_test.py +2 -0
  113. cirq/ops/uniform_superposition_gate_test.py +2 -0
  114. cirq/ops/wait_gate_test.py +3 -0
  115. cirq/protocols/apply_channel_protocol.py +6 -4
  116. cirq/protocols/apply_channel_protocol_test.py +2 -0
  117. cirq/protocols/apply_mixture_protocol.py +6 -4
  118. cirq/protocols/apply_mixture_protocol_test.py +3 -0
  119. cirq/protocols/apply_unitary_protocol_test.py +2 -0
  120. cirq/protocols/approximate_equality_protocol.py +2 -0
  121. cirq/protocols/approximate_equality_protocol_test.py +2 -0
  122. cirq/protocols/circuit_diagram_info_protocol_test.py +3 -0
  123. cirq/protocols/commutes_protocol.py +3 -0
  124. cirq/protocols/commutes_protocol_test.py +2 -0
  125. cirq/protocols/control_key_protocol_test.py +2 -0
  126. cirq/protocols/equal_up_to_global_phase_protocol.py +2 -0
  127. cirq/protocols/equal_up_to_global_phase_protocol_test.py +3 -0
  128. cirq/protocols/has_stabilizer_effect_protocol.py +2 -0
  129. cirq/protocols/has_stabilizer_effect_protocol_test.py +2 -0
  130. cirq/protocols/has_unitary_protocol.py +2 -0
  131. cirq/protocols/has_unitary_protocol_test.py +2 -0
  132. cirq/protocols/inverse_protocol_test.py +3 -1
  133. cirq/protocols/json_serialization.py +3 -0
  134. cirq/protocols/json_serialization_test.py +2 -0
  135. cirq/protocols/json_test_data/spec.py +2 -0
  136. cirq/protocols/kraus_protocol.py +2 -0
  137. cirq/protocols/kraus_protocol_test.py +2 -0
  138. cirq/protocols/measurement_key_protocol_test.py +4 -1
  139. cirq/protocols/mixture_protocol.py +2 -0
  140. cirq/protocols/mixture_protocol_test.py +2 -0
  141. cirq/protocols/mul_protocol.py +2 -0
  142. cirq/protocols/mul_protocol_test.py +2 -0
  143. cirq/protocols/pauli_expansion_protocol.py +3 -0
  144. cirq/protocols/pauli_expansion_protocol_test.py +2 -0
  145. cirq/protocols/phase_protocol.py +2 -0
  146. cirq/protocols/phase_protocol_test.py +2 -0
  147. cirq/protocols/pow_protocol_test.py +2 -0
  148. cirq/protocols/qasm_test.py +3 -0
  149. cirq/protocols/qid_shape_protocol.py +2 -0
  150. cirq/protocols/qid_shape_protocol_test.py +2 -0
  151. cirq/protocols/resolve_parameters_test.py +3 -2
  152. cirq/protocols/trace_distance_bound.py +2 -0
  153. cirq/protocols/trace_distance_bound_test.py +2 -0
  154. cirq/protocols/unitary_protocol.py +2 -0
  155. cirq/protocols/unitary_protocol_test.py +3 -0
  156. cirq/qis/channels.py +6 -2
  157. cirq/qis/channels_test.py +4 -0
  158. cirq/qis/clifford_tableau_test.py +2 -0
  159. cirq/qis/entropy.py +2 -0
  160. cirq/qis/entropy_test.py +2 -0
  161. cirq/qis/measures_test.py +4 -0
  162. cirq/qis/noise_utils.py +2 -0
  163. cirq/qis/noise_utils_test.py +2 -0
  164. cirq/qis/states_test.py +2 -0
  165. cirq/sim/classical_simulator_test.py +2 -0
  166. cirq/sim/clifford/clifford_simulator_test.py +3 -0
  167. cirq/sim/clifford/clifford_tableau_simulation_state_test.py +2 -0
  168. cirq/sim/clifford/stabilizer_ch_form_simulation_state_test.py +2 -0
  169. cirq/sim/clifford/stabilizer_sampler_test.py +2 -0
  170. cirq/sim/clifford/stabilizer_simulation_state_test.py +2 -0
  171. cirq/sim/clifford/stabilizer_state_ch_form_test.py +2 -0
  172. cirq/sim/density_matrix_simulation_state_test.py +2 -0
  173. cirq/sim/density_matrix_simulator_test.py +3 -0
  174. cirq/sim/density_matrix_utils_test.py +2 -0
  175. cirq/sim/mux_test.py +3 -0
  176. cirq/sim/simulation_product_state_test.py +3 -0
  177. cirq/sim/simulation_state_test.py +2 -0
  178. cirq/sim/simulation_utils.py +2 -0
  179. cirq/sim/simulation_utils_test.py +3 -0
  180. cirq/sim/sparse_simulator_test.py +3 -0
  181. cirq/sim/state_vector_simulation_state_test.py +2 -0
  182. cirq/sim/state_vector_simulator_test.py +2 -0
  183. cirq/sim/state_vector_test.py +3 -0
  184. cirq/study/flatten_expressions_test.py +2 -0
  185. cirq/study/resolver_test.py +2 -0
  186. cirq/study/result_test.py +2 -0
  187. cirq/study/sweepable.py +5 -3
  188. cirq/study/sweepable_test.py +3 -0
  189. cirq/study/sweeps_test.py +3 -0
  190. cirq/testing/circuit_compare.py +2 -0
  191. cirq/testing/circuit_compare_test.py +2 -0
  192. cirq/testing/consistent_act_on.py +9 -3
  193. cirq/testing/consistent_act_on_test.py +2 -0
  194. cirq/testing/consistent_channels.py +2 -0
  195. cirq/testing/consistent_channels_test.py +2 -0
  196. cirq/testing/consistent_controlled_gate_op.py +2 -0
  197. cirq/testing/consistent_decomposition.py +2 -0
  198. cirq/testing/consistent_decomposition_test.py +2 -0
  199. cirq/testing/consistent_pauli_expansion.py +2 -0
  200. cirq/testing/consistent_pauli_expansion_test.py +2 -0
  201. cirq/testing/consistent_phase_by.py +2 -0
  202. cirq/testing/consistent_phase_by_test.py +2 -0
  203. {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/METADATA +1 -1
  204. {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/RECORD +207 -207
  205. {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/WHEEL +0 -0
  206. {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/licenses/LICENSE +0 -0
  207. {cirq_core-1.6.0.dev20250519175318.dist-info → cirq_core-1.6.0.dev20250519202416.dist-info}/top_level.txt +0 -0
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
  import sympy
17
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
 
17
19
  import cirq
@@ -12,7 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from types import NotImplementedType
15
+ from __future__ import annotations
16
+
17
+ from types import EllipsisType, NotImplementedType
16
18
  from typing import Any, cast, Optional, Sequence, Tuple, Union
17
19
 
18
20
  import numpy as np
@@ -45,7 +47,7 @@ class GateAllocatingNewSpaceForResult(cirq.testing.SingleQubitGate):
45
47
  def _apply_unitary_(self, args: cirq.ApplyUnitaryArgs) -> Union[np.ndarray, NotImplementedType]:
46
48
  assert len(args.axes) == 1
47
49
  a = args.axes[0]
48
- seed = cast(Tuple[Union[int, slice, 'ellipsis'], ...], (slice(None),))
50
+ seed = cast(Tuple[Union[int, slice, EllipsisType], ...], (slice(None),))
49
51
  zero = seed * a + (0, Ellipsis)
50
52
  one = seed * a + (1, Ellipsis)
51
53
  result = np.zeros(args.target_tensor.shape, args.target_tensor.dtype)
@@ -12,9 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import itertools
16
18
  import re
17
- from types import NotImplementedType
19
+ from types import EllipsisType, NotImplementedType
18
20
  from typing import cast, Tuple, Union
19
21
 
20
22
  import numpy as np
@@ -48,7 +50,7 @@ class GateAllocatingNewSpaceForResult(cirq.testing.SingleQubitGate):
48
50
  def _apply_unitary_(self, args: cirq.ApplyUnitaryArgs) -> Union[np.ndarray, NotImplementedType]:
49
51
  assert len(args.axes) == 1
50
52
  a = args.axes[0]
51
- seed = cast(Tuple[Union[int, slice, 'ellipsis'], ...], (slice(None),))
53
+ seed = cast(Tuple[Union[int, slice, EllipsisType], ...], (slice(None),))
52
54
  zero = seed * a + (0, Ellipsis)
53
55
  one = seed * a + (1, Ellipsis)
54
56
  result = np.zeros(args.target_tensor.shape, args.target_tensor.dtype)
@@ -11,6 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
14
17
  import numbers
15
18
  from typing import List
16
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  from typing import List
16
18
 
17
19
  import numpy as np
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  from typing import List, Tuple
16
18
 
17
19
  import numpy as np
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
cirq/ops/gate_features.py CHANGED
@@ -17,6 +17,8 @@
17
17
  For example: some gates are reversible, some have known matrices, etc.
18
18
  """
19
19
 
20
+ from __future__ import annotations
21
+
20
22
  import abc
21
23
 
22
24
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
 
17
19
  import cirq
@@ -11,6 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
14
17
  import collections.abc
15
18
  import pathlib
16
19
 
cirq/ops/gateset_test.py CHANGED
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import re
16
18
  from typing import cast, List, Tuple
17
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import cirq
16
18
 
17
19
 
cirq/ops/identity_test.py CHANGED
@@ -11,6 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
14
17
  import itertools
15
18
  from typing import Any
16
19
  from unittest import mock
@@ -1,4 +1,7 @@
1
1
  # pylint: disable=wrong-or-nonexistent-copyright-notice
2
+
3
+ from __future__ import annotations
4
+
2
5
  import numpy as np
3
6
  import pytest
4
7
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import collections
16
18
  from typing import Union
17
19
 
@@ -11,6 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
14
17
  import re
15
18
 
16
19
  import numpy as np
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  from typing import cast
16
18
 
17
19
  import numpy as np
@@ -1,4 +1,7 @@
1
1
  # pylint: disable=wrong-or-nonexistent-copyright-notice
2
+
3
+ from __future__ import annotations
4
+
2
5
  import numpy as np
3
6
  import pytest
4
7
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import cirq
16
18
  from cirq.devices.grid_qubit_test import _test_qid_pickled_hash
17
19
  from cirq.ops.named_qubit import _pad_digits
cirq/ops/op_tree_test.py CHANGED
@@ -11,6 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
14
17
  from typing import cast
15
18
 
16
19
  import pytest
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
@@ -14,6 +14,8 @@
14
14
 
15
15
  """Tests for `parity_gates.py`."""
16
16
 
17
+ from __future__ import annotations
18
+
17
19
  import numpy as np
18
20
  import pytest
19
21
  import sympy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import itertools
16
18
 
17
19
  import numpy as np
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import itertools
16
18
 
17
19
  import numpy as np
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
 
17
19
  import cirq
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import itertools
16
18
 
17
19
  import numpy as np
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
 
17
19
  import cirq
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import itertools
16
18
  import math
17
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import scipy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import itertools
16
18
 
17
19
  import numpy as np
@@ -1,4 +1,7 @@
1
1
  # pylint: disable=wrong-or-nonexistent-copyright-notice
2
+
3
+ from __future__ import annotations
4
+
2
5
  import random
3
6
 
4
7
  import numpy as np
@@ -1,4 +1,7 @@
1
1
  # pylint: disable=wrong-or-nonexistent-copyright-notice
2
+
3
+ from __future__ import annotations
4
+
2
5
  import numpy as np
3
6
  import pytest
4
7
 
cirq/ops/qid_util_test.py CHANGED
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
 
17
19
  import cirq
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
 
17
19
  import cirq
cirq/ops/qubit_order.py CHANGED
@@ -13,12 +13,12 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- from typing import Any, Callable, Iterable, Optional, Tuple, TYPE_CHECKING, TypeVar
16
+ from __future__ import annotations
17
17
 
18
- from cirq.ops import raw_types
18
+ from typing import Any, Callable, Iterable, Optional, Tuple, TYPE_CHECKING, TypeVar
19
19
 
20
20
  if TYPE_CHECKING:
21
- from cirq.ops import qubit_order_or_list
21
+ import cirq
22
22
 
23
23
 
24
24
  TInternalQubit = TypeVar('TInternalQubit')
@@ -28,12 +28,10 @@ TExternalQubit = TypeVar('TExternalQubit')
28
28
  class QubitOrder:
29
29
  """Defines the kronecker product order of qubits."""
30
30
 
31
- def __init__(
32
- self, explicit_func: Callable[[Iterable[raw_types.Qid]], Tuple[raw_types.Qid, ...]]
33
- ) -> None:
31
+ def __init__(self, explicit_func: Callable[[Iterable[cirq.Qid]], Tuple[cirq.Qid, ...]]) -> None:
34
32
  self._explicit_func = explicit_func
35
33
 
36
- DEFAULT: 'QubitOrder'
34
+ DEFAULT: QubitOrder
37
35
  """A basis that orders qubits in the same way that calling `sorted` does.
38
36
 
39
37
  Specifically, qubits are ordered first by their type name and then by
@@ -43,8 +41,8 @@ class QubitOrder:
43
41
 
44
42
  @staticmethod
45
43
  def explicit(
46
- fixed_qubits: Iterable[raw_types.Qid], fallback: Optional['QubitOrder'] = None
47
- ) -> 'QubitOrder':
44
+ fixed_qubits: Iterable[cirq.Qid], fallback: Optional[QubitOrder] = None
45
+ ) -> QubitOrder:
48
46
  """A basis that contains exactly the given qubits in the given order.
49
47
 
50
48
  Args:
@@ -77,7 +75,7 @@ class QubitOrder:
77
75
  return QubitOrder(func)
78
76
 
79
77
  @staticmethod
80
- def sorted_by(key: Callable[[raw_types.Qid], Any]) -> 'QubitOrder':
78
+ def sorted_by(key: Callable[[cirq.Qid], Any]) -> QubitOrder:
81
79
  """A basis that orders qubits ascending based on a key function.
82
80
 
83
81
  Args:
@@ -89,7 +87,7 @@ class QubitOrder:
89
87
  """
90
88
  return QubitOrder(lambda qubits: tuple(sorted(qubits, key=key)))
91
89
 
92
- def order_for(self, qubits: Iterable[raw_types.Qid]) -> Tuple[raw_types.Qid, ...]:
90
+ def order_for(self, qubits: Iterable[cirq.Qid]) -> Tuple[cirq.Qid, ...]:
93
91
  """Returns a qubit tuple ordered corresponding to the basis.
94
92
 
95
93
  Args:
@@ -104,7 +102,7 @@ class QubitOrder:
104
102
  return self._explicit_func(qubits)
105
103
 
106
104
  @staticmethod
107
- def as_qubit_order(val: 'qubit_order_or_list.QubitOrderOrList') -> 'QubitOrder':
105
+ def as_qubit_order(val: cirq.QubitOrderOrList) -> QubitOrder:
108
106
  """Converts a value into a basis.
109
107
 
110
108
  Args:
@@ -126,7 +124,7 @@ class QubitOrder:
126
124
  self,
127
125
  internalize: Callable[[TExternalQubit], TInternalQubit],
128
126
  externalize: Callable[[TInternalQubit], TExternalQubit],
129
- ) -> 'QubitOrder':
127
+ ) -> QubitOrder:
130
128
  """Transforms the Basis so that it applies to wrapped qubits.
131
129
 
132
130
  Args:
@@ -18,6 +18,8 @@ This type is defined in its own file to work around an "invalid type" bug in
18
18
  mypy.
19
19
  """
20
20
 
21
+ from __future__ import annotations
22
+
21
23
  from typing import Iterable, Union
22
24
 
23
25
  from cirq._doc import document
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import pytest
16
18
 
17
19
  import cirq
@@ -11,6 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
14
17
  import numpy as np
15
18
  import pytest
16
19
  import sympy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
cirq/ops/tags.py CHANGED
@@ -11,7 +11,11 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
14
15
  """Canonical tags for the TaggedOperation class."""
16
+
17
+ from __future__ import annotations
18
+
15
19
  from typing import Dict
16
20
 
17
21
 
cirq/ops/tags_test.py CHANGED
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import cirq
16
18
 
17
19
 
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import itertools
16
18
 
17
19
  import numpy as np
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
  import sympy
@@ -12,6 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import numpy as np
16
18
  import pytest
17
19
 
@@ -11,6 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
14
17
  import datetime
15
18
 
16
19
  import pytest