Loosen coupling to Cirq 2024-10 #1460
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Qualtran generally depends on
cirq, but we usually take a little bit of care to movecirqto local imports where it's only needed if you're doing really cirq-y things (like converting to a cirq op). This PR does general maintenance to move cirq imports to local imports in_infra/submodules and a couple other easy places.This PR also patches in changes to some of the
_infra/test modules (and a couple other easy places) to usepytest.importorskip('cirq')inside tests that require cirq. In general, we'll always have tests that depend on cirq because it's a battle-tested "reference implementation" but with these changes you can run a couple sanity checks on modules without hard dependencies on cirq. Otherwise pytest just fails to collect the tests and gives up immediately.