diff --git a/compiler_config/config.py b/compiler_config/config.py index dc870b3..ba7c027 100644 --- a/compiler_config/config.py +++ b/compiler_config/config.py @@ -5,6 +5,7 @@ import inspect import re import sys +import warnings from enum import Enum, Flag, IntEnum, auto from typing import List, Optional @@ -352,6 +353,19 @@ def minimum(self): self.tket_optimizations = TketOptimizations.DefaultMappingPass return self + def __setattr__(self, attr, value): + if ( + isinstance(value, TketOptimizations) + and TketOptimizations.GlobalisePhasedX in value + ): + warnings.warn( + "Tket flag TketOptimizations.GlobalisePhasedX has been " + "deprecated and will be removed in the next version.", + DeprecationWarning, + stacklevel=2, + ) + super().__setattr__(attr, value) + def __contains__(self, item): if isinstance(item, TketOptimizations) and item in self.tket_optimizations: return True diff --git a/pyproject.toml b/pyproject.toml index cc87693..f0605fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "compiler-config" -version = "0.1.0" +version = "0.1.1" description = "" authors = ["jamie "] readme = "README.md" diff --git a/tests/test_config.py b/tests/test_config.py index 0ac2290..1196a2a 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -15,6 +15,7 @@ QiskitOptimizations, QuantumResultsFormat, ResultsFormatting, + Tket, TketOptimizations, ) @@ -171,3 +172,14 @@ def test_json_version_compatibility_full(version): ) assert deserialised_conf.optimizations.qiskit_optimizations == QiskitOptimizations.Empty assert deserialised_conf.optimizations.tket_optimizations == TketOptimizations.One + + +@pytest.mark.parametrize("flag", [to for to in TketOptimizations]) +def test_tket_flags(flag): + tket = None + if flag == TketOptimizations.GlobalisePhasedX: + with pytest.warns(DeprecationWarning): + tket = Tket(tket_optimization=flag) + else: + tket = Tket(tket_optimization=flag) + assert flag in tket