Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cirq-core/cirq/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

"""Cirq is a framework for creating, editing, and invoking quantum circuits."""

# ruff: noqa: F401

from cirq import _import

from cirq._compat import __cirq_debug__ as __cirq_debug__, with_debug as with_debug
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/_compat_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -813,7 +813,7 @@ def _test_broken_module_1_inner():
DeprecatedModuleImportError, match="missing_module cannot be imported. The typical reasons"
):
# pylint: disable=unused-import
import cirq.testing._compat_test_data.broken_ref as br # type: ignore
import cirq.testing._compat_test_data.broken_ref as br # type: ignore # noqa: F401


def _test_broken_module_2_inner():
Expand Down
8 changes: 4 additions & 4 deletions cirq-core/cirq/contrib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
this package.
"""

from cirq.contrib import acquaintance
from cirq.contrib import graph_device
from cirq.contrib import quirk
from cirq.contrib import acquaintance # noqa: F401
from cirq.contrib import graph_device # noqa: F401
from cirq.contrib import quirk # noqa: F401
from cirq.contrib.qcircuit import circuit_to_latex_using_qcircuit as circuit_to_latex_using_qcircuit
from cirq.contrib import json
from cirq.contrib import json # noqa: F401
from cirq.contrib.circuitdag import CircuitDag as CircuitDag, Unique as Unique
2 changes: 1 addition & 1 deletion cirq-core/cirq/contrib/acquaintance/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,4 @@
random_topological_sort as random_topological_sort,
)

from cirq.contrib.acquaintance import testing
from cirq.contrib.acquaintance import testing # noqa: F401
9 changes: 2 additions & 7 deletions cirq-core/cirq/contrib/quimb/Cirq-to-Tensor-Networks.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,12 @@
"source": [
"import importlib.util\n",
"\n",
"try:\n",
" import cirq\n",
"except ImportError:\n",
"if importlib.util.find_spec('cirq') is None:\n",
" print(\"installing cirq...\")\n",
" !pip install --quiet cirq\n",
" print(\"installed cirq.\")\n",
"\n",
"try:\n",
" import quimb\n",
"except ImportError:\n",
"if importlib.util.find_spec('quimb') is None:\n",
" print(\"installing cirq-core[contrib]...\")\n",
" !pip install --quiet 'cirq-core[contrib]'\n",
" print(\"installed cirq-core[contrib].\")"
Expand Down Expand Up @@ -58,7 +54,6 @@
"outputs": [],
"source": [
"import cirq.contrib.quimb as ccq\n",
"import quimb\n",
"import quimb.tensor as qtn"
]
},
Expand Down
2 changes: 0 additions & 2 deletions cirq-core/cirq/contrib/quimb/Contract-a-Grid-Circuit.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
"metadata": {},
"outputs": [],
"source": [
"import importlib.util\n",
"\n",
"try:\n",
" import cirq\n",
"except ImportError:\n",
Expand Down
2 changes: 1 addition & 1 deletion cirq-core/cirq/experiments/benchmarking/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@

"""Tools for branchmarking NISQ circuits."""

from cirq.experiments.benchmarking.parallel_xeb import parallel_two_qubit_xeb
from cirq.experiments.benchmarking.parallel_xeb import parallel_two_qubit_xeb # noqa: F401
2 changes: 1 addition & 1 deletion cirq-core/cirq/interop/quirk/cells/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@
)

import cirq.interop.quirk.cells.swap_cell
import cirq.interop.quirk.cells.control_cells
import cirq.interop.quirk.cells.control_cells # noqa: F401
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
# ruff: noqa: F401
"""module_a for module deprecation tests"""

import logging
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
# ruff: noqa: F401
from cirq.testing._compat_test_data.module_a.module_b import module_c

MODULE_B_ATTRIBUTE = "module_b"
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# pylint: disable=wrong-or-nonexistent-copyright-notice
# ruff: noqa: F401
from cirq.testing._compat_test_data.module_a.sub.subsub import dupe
5 changes: 2 additions & 3 deletions cirq-core/cirq/testing/consistent_qasm_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

from __future__ import annotations

import importlib.util
import warnings

import numpy as np
Expand Down Expand Up @@ -53,9 +54,7 @@ def _qasm_(self, args: cirq.QasmArgs, qubits: tuple[cirq.Qid, ...]):


def test_assert_qasm_is_consistent_with_unitary() -> None:
try:
import qiskit as _
except ImportError: # pragma: no cover
if importlib.util.find_spec('qiskit') is None: # pragma: no cover
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not disputing this approach but this change seems to go against Python EAFP (easier to ask for forgiveness than permission) coding style. (C.f. https://docs.quantifiedcode.com/python-anti-patterns/readability/asking_for_permission_instead_of_forgiveness_when_working_with_files.html).

(Flagging it here even though I see it's done in other places in this PR.)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack. I just followed the ruff-check recommendation. I suppose for a linter it is impossible to tell if an import is unused intentionally (as in our case) or if it is a leftover dead code. An import is also potentially expensive operation, so there is a benefit in not importing if we just need to know module availability.

warnings.warn(
"Skipped test_assert_qasm_is_consistent_with_unitary "
"because qiskit isn't installed to verify against."
Expand Down
4 changes: 3 additions & 1 deletion cirq-core/cirq/transformers/gauge_compiling/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,6 @@
SqrtISWAPGaugeTransformer as SqrtISWAPGaugeTransformer,
)

from cirq.transformers.gauge_compiling.cphase_gauge import CPhaseGaugeTransformer
from cirq.transformers.gauge_compiling.cphase_gauge import (
CPhaseGaugeTransformer as CPhaseGaugeTransformer,
)
7 changes: 3 additions & 4 deletions cirq-google/cirq_google/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@

"""Classes for working with Google's Quantum Engine API."""

import sys
from cirq_google import api
from cirq_google import api # noqa: F401

from cirq_google._version import __version__ as __version__

Expand Down Expand Up @@ -107,9 +106,9 @@
SimulatedProcessorWithLocalDeviceRecord as SimulatedProcessorWithLocalDeviceRecord,
)

from cirq_google import study
from cirq_google import study # noqa: F401

from cirq_google import experimental
from cirq_google import experimental # noqa: F401


# Register cirq_google's public classes for JSON serialization.
Expand Down
2 changes: 1 addition & 1 deletion cirq-google/cirq_google/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
# limitations under the License.
"""Helpers for converting to/from api data formats."""

from cirq_google.api import v2
from cirq_google.api import v2 # noqa: F401
2 changes: 1 addition & 1 deletion cirq-google/cirq_google/api/v1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# limitations under the License.
"""Data format v1 for google api."""

from cirq_google.api.v1 import operations_pb2, params_pb2, program_pb2
from cirq_google.api.v1 import operations_pb2, params_pb2, program_pb2 # noqa: F401

from cirq_google.api.v1.params import (
sweep_from_proto as sweep_from_proto,
Expand Down
2 changes: 1 addition & 1 deletion cirq-google/cirq_google/api/v1/proto_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@

from __future__ import annotations

from cirq_google.api.v1 import operations_pb2, params_pb2, program_pb2
from cirq_google.api.v1 import operations_pb2, params_pb2, program_pb2 # noqa: F401

# pylint: enable=unused-import
8 changes: 7 additions & 1 deletion cirq-google/cirq_google/api/v2/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@
# limitations under the License.
"""Data format v2 for google api."""

from cirq_google.api.v2 import device_pb2, metrics_pb2, program_pb2, result_pb2, run_context_pb2
from cirq_google.api.v2 import (
device_pb2, # noqa: F401
metrics_pb2, # noqa: F401
program_pb2, # noqa: F401
result_pb2, # noqa: F401
run_context_pb2, # noqa: F401
)

from cirq_google.api.v2.program import (
grid_qubit_from_proto_id as grid_qubit_from_proto_id,
Expand Down
2 changes: 1 addition & 1 deletion cirq-google/cirq_google/api/v2/proto_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@

from __future__ import annotations

from cirq_google.api.v2 import metrics_pb2, program_pb2, result_pb2, run_context_pb2
from cirq_google.api.v2 import metrics_pb2, program_pb2, result_pb2, run_context_pb2 # noqa: F401

# pylint: enable=unused-import
1 change: 0 additions & 1 deletion cirq-google/cirq_google/engine/abstract_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import cirq_google.engine.abstract_engine as abstract_engine
import cirq_google.engine.abstract_job as abstract_job
import cirq_google.engine.calibration as calibration
import cirq_google.serialization.serializer as serializer


class AbstractProcessor(abc.ABC):
Expand Down
2 changes: 0 additions & 2 deletions cirq-google/cirq_google/engine/simulated_local_program.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
from cirq_google.engine.local_simulation_type import LocalSimulationType

if TYPE_CHECKING:
from cirq_google.engine.abstract_engine import AbstractEngine
from cirq_google.engine.abstract_job import AbstractJob
from cirq_google.engine.simulated_local_processor import SimulatedLocalProcessor


Expand Down
2 changes: 0 additions & 2 deletions cirq-ionq/cirq_ionq/service_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ def test_service_run(target, expected_results):
'target': target,
'metadata': {'shots': '4', 'measurement0': f'a{chr(31)}0'},
'qubits': '1',
'status': 'completed',
}
mock_client.get_results.return_value = {'0': '0.25', '1': '0.75'}
service._client = mock_client
Expand Down Expand Up @@ -86,7 +85,6 @@ def test_service_run_batch(target, expected_results1, expected_results2):
'qubit_numbers': '[1, 1]',
},
'qubits': '1',
'status': 'completed',
}
mock_client.get_results.return_value = {
"xxx": {'0': '0.25', '1': '0.75'},
Expand Down
2 changes: 2 additions & 0 deletions cirq-rigetti/cirq_rigetti/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# ruff: noqa: F401

from cirq_rigetti._version import __version__ as __version__

from cirq_rigetti.sampler import (
Expand Down
1 change: 0 additions & 1 deletion cirq-web/circuit_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@
"qubits = [cirq.GridQubit(x, y) for x in range(10) for y in range(10)]\n",
"\n",
"import cirq.testing\n",
"from cirq.protocols import circuit_diagram_info\n",
"\n",
"circuit = cirq.testing.random_circuit(cirq.GridQubit.square(10), n_moments=5, op_density=0.7)"
]
Expand Down
1 change: 0 additions & 1 deletion examples/advanced/quantum_volume.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"outputs": [],
"source": [
"import cirq\n",
"import cirq_google\n",
"\n",
"qubits = cirq.GridQubit.rect(3, 2)\n",
"qubits"
Expand Down
1 change: 0 additions & 1 deletion examples/advanced/quantum_volume_routing.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"outputs": [],
"source": [
"import cirq\n",
"import cirq_google\n",
"\n",
"# Configuration parameters. Feel free to mess with these!\n",
"num_circuits = 10\n",
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ extend-exclude = ["*_pb2.py*"]
[tool.ruff.lint]
select = [
# "ANN201", # missing-return-type-undocumented-public-function
# "F401", # unused-import
# "F601", # multi-value-repeated-key-literal
"F401", # unused-import
"F601", # multi-value-repeated-key-literal
"F821", # undefined-name
"RUF100", # unused-noqa
"TC001", # typing-only-first-party-import
Expand Down
Loading