예제 #1
0
def test_deprecated_module_does_not_wrap_mockfinder():
    @modulize('sphinx.ext.autodoc.mock')
    def module_code(  # pylint: disable=unused-variable # https://github.com/PyCQA/pylint/issues/2842
        __name__, ):  # pylint: disable=redefined-builtin

        # put module code here
        class MockFinder(MetaPathFinder):
            def __init__(self, modnames: List[str]) -> None:
                super().__init__()

            def find_spec(
                self,
                fullname: Optional[str] = None,
                path: Optional[Sequence[Union[bytes, str]]] = None,
                target: Optional[ModuleType] = None,
            ) -> None:
                pass

        # the function must return locals()
        return locals()

    from sphinx.ext.autodoc.mock import MockFinder

    fake_mockfinder = MockFinder([])
    sys.meta_path.insert(0, fake_mockfinder)
    deprecated_submodule(
        new_module_name='sphinx_1',
        old_parent='sphinx_2',
        old_child='old_ch',
        deadline='v1.2',
        create_attribute=False,
    )
    assert fake_mockfinder in sys.meta_path
    # Cleanup sys.metapath after test
    sys.meta_path.remove(fake_mockfinder)
예제 #2
0
def test_deprecated_module_deadline_validation():
    with pytest.raises(AssertionError, match='deadline should match vX.Y'):
        deprecated_submodule(
            new_module_name='new',
            old_parent='old_p',
            old_child='old_ch',
            deadline='invalid',
            create_attribute=False,
        )
예제 #3
0
def _test_metadata_distributions_after_deprecated_submodule():
    # verify deprecated_submodule does not break importlib_metadata.distributions()
    # See https://github.com/quantumlib/Cirq/issues/4729
    deprecated_submodule(
        new_module_name='cirq.neutral_atoms',
        old_parent='cirq',
        old_child='swiss_atoms',
        deadline="v0.14",
        create_attribute=True,
    )
    m = pytest.importorskip("importlib_metadata")
    distlist = list(m.distributions())
    assert all(isinstance(d.name, str) for d in distlist)
예제 #4
0
from cirq import testing

# Registers cirq-core's public classes for JSON serialization.
# pylint: disable=wrong-import-position
from cirq.protocols.json_serialization import _register_resolver
from cirq.json_resolver_cache import _class_resolver_dictionary


_register_resolver(_class_resolver_dictionary)

# contrib's json resolver cache depends on cirq.DEFAULT_RESOLVER

from cirq import contrib

# deprecate cirq.ops and related attributes

from cirq import _compat

_compat.deprecated_submodule(
    new_module_name='cirq.circuits.moment',
    old_parent='cirq.ops',
    old_child='moment',
    deadline='v0.16',
    create_attribute=True,
)

ops.Moment = Moment  # type: ignore
_compat.deprecate_attributes('cirq.ops', {'Moment': ('v0.16', 'Use cirq.circuits.Moment instead')})

# pylint: enable=wrong-import-position
예제 #5
0
파일: __init__.py 프로젝트: daxfohl/Cirq
    single_qubit_matrix_to_phxz,
    single_qubit_op_to_framed_phase_form,
    three_qubit_matrix_to_operations,
    two_qubit_matrix_to_cz_operations,
    two_qubit_matrix_to_diagonal_and_cz_operations,
    two_qubit_matrix_to_diagonal_and_operations,
    two_qubit_matrix_to_operations,
    two_qubit_matrix_to_sqrt_iswap_operations,
)

from cirq import _compat

_compat.deprecated_submodule(
    new_module_name=
    "cirq.transformers.analytical_decompositions.clifford_decomposition",
    old_parent="cirq.optimizers",
    old_child="clifford_decomposition",
    deadline="v0.16",
    create_attribute=True,
)

_compat.deprecated_submodule(
    new_module_name=
    "cirq.transformers.analytical_decompositions.cphase_to_fsim",
    old_parent="cirq.optimizers",
    old_child="cphase_to_fsim",
    deadline="v0.16",
    create_attribute=True,
)

_compat.deprecated_submodule(
    new_module_name=
예제 #6
0
파일: __init__.py 프로젝트: stubbi/Cirq
)

# pylint: enable=redefined-builtin

# Unflattened sub-modules.

from cirq import (
    pasqal,
    testing,
)

try:
    _compat.deprecated_submodule(
        new_module_name='cirq_google',
        old_parent=__name__,
        old_child='google',
        deadline="v0.14",
        create_attribute=True,
    )
except ImportError as ex:
    # coverage: ignore
    warning("Can't import cirq_google: ", exc_info=ex)

try:
    _compat.deprecated_submodule(
        new_module_name='cirq_aqt',
        old_parent=__name__,
        old_child='aqt',
        deadline="v0.14",
        create_attribute=True,
    )
예제 #7
0
"""Test module for deprecation testing.
See cirq/_compat_test.py for the tests.
This module contains example deprecations for modules.
"""
import sys
from logging import info
from cirq import _compat

info("init:compat_test_data")

# simulates a rename of a child module
# fake_a -> module_a
_compat.deprecated_submodule(
    new_module_name=f"{__name__}.module_a",
    old_parent=__name__,
    old_child="fake_a",
    deadline="v0.20",
    create_attribute=True,
)

# simulates a rename of a grandchild module
# module_a.fake_ab -> module_a.module_b
_compat.deprecated_submodule(
    new_module_name=f"{__name__}.module_a.module_b",
    old_parent=f"{__name__}.module_a",
    old_child="fake_ab",
    deadline="v0.20",
    create_attribute=True,
)

# simulates a rename of a child module with same prefix
예제 #8
0
# pylint: disable=wrong-or-nonexistent-copyright-notice
from cirq import _compat

from cirq_google.optimizers.two_qubit_gates.gate_compilation import (
    gate_product_tabulation,
    GateTabulation,
)

_compat.deprecated_submodule(
    new_module_name=
    "cirq.transformers.heuristic_decompositions.gate_tabulation_math_utils",
    old_parent=__name__,
    old_child="math_utils",
    deadline="v0.16",
    create_attribute=True,
)