From 309fe3e372e8bd030cb8f71f589cbffb0e452467 Mon Sep 17 00:00:00 2001 From: Matthew Harrigan Date: Wed, 8 May 2024 13:57:58 -0700 Subject: [PATCH] remove circular import in t_counts_from_sigma --- qualtran/bloqs/util_bloqs_test.py | 6 ++++++ qualtran/resource_counting/t_counts_from_sigma.py | 11 +++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/qualtran/bloqs/util_bloqs_test.py b/qualtran/bloqs/util_bloqs_test.py index 090914e680..134aa4cb98 100644 --- a/qualtran/bloqs/util_bloqs_test.py +++ b/qualtran/bloqs/util_bloqs_test.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +import subprocess from functools import cached_property from typing import Dict, Type, Union @@ -290,3 +291,8 @@ def to_cirq_circuit(bloq: GateWithRegisters) -> cirq.Circuit: @pytest.mark.notebook def test_notebook(): execute_notebook('util_bloqs') + + +def test_no_circular_import(): + # There was a circular import that would only be triggered by this import incantation + subprocess.check_call(['python', '-c', 'from qualtran.bloqs import util_bloqs']) diff --git a/qualtran/resource_counting/t_counts_from_sigma.py b/qualtran/resource_counting/t_counts_from_sigma.py index 28bf68b24e..f2bb1a9838 100644 --- a/qualtran/resource_counting/t_counts_from_sigma.py +++ b/qualtran/resource_counting/t_counts_from_sigma.py @@ -17,20 +17,19 @@ import cirq -from qualtran.bloqs.basic_gates.rotation import _HasEps from qualtran.resource_counting.symbolic_counting_utils import ceil, SymbolicInt if TYPE_CHECKING: - import sympy - from qualtran import Bloq + from qualtran.bloqs.basic_gates.rotation import _HasEps -def _get_all_rotation_types() -> Tuple[Type[_HasEps], ...]: +def _get_all_rotation_types() -> Tuple[Type['_HasEps'], ...]: """Returns all classes defined in bloqs.basic_gates which have an attribute `eps`.""" - import qualtran.bloqs.basic_gates # pylint: disable=unused-import + from qualtran.bloqs.basic_gates import GlobalPhase + from qualtran.bloqs.basic_gates.rotation import _HasEps - bloqs_to_exclude = [qualtran.bloqs.basic_gates.GlobalPhase] + bloqs_to_exclude = [GlobalPhase] return tuple( v