Skip to content

Commit

Permalink
🚸 limit the visible items for tab completion
Browse files Browse the repository at this point in the history
Signed-off-by: burgholzer <burgholzer@me.com>
  • Loading branch information
burgholzer committed Feb 18, 2025
1 parent dc3b5d2 commit a8e5704
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 12 deletions.
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ report.exclude_also = [
'if TYPE_CHECKING:',
'raise AssertionError',
'raise NotImplementedError',
'def __dir__()', # Ignore __dir__ method that exists mainly for better IDE support
'@overload' # Overloads are only for static typing
]


Expand Down
6 changes: 6 additions & 0 deletions src/mqt/qcec/_compat/optional.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@
import typing
import warnings

__all__ = ["HAS_QISKIT", "OptionalDependencyTester"]


def __dir__() -> list[str]:
return __all__


class OptionalDependencyTester:
"""A manager for optional dependencies to assert their availability.
Expand Down
10 changes: 10 additions & 0 deletions src/mqt/qcec/compilation_flow_profiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,16 @@
from numpy.typing import NDArray
from qiskit.circuit import QuantumCircuit

__all__ = [
"AncillaMode",
"generate_profile",
"generate_profile_name",
]


def __dir__() -> list[str]:
return __all__


@unique
class AncillaMode(Enum):
Expand Down
6 changes: 6 additions & 0 deletions src/mqt/qcec/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
from . import ApplicationScheme, Configuration, StateType
from .literals import ApplicationSchemeName, StateTypeName

__all__ = ["ConfigurationOptions", "augment_config_from_kwargs"]


def __dir__() -> list[str]:
return __all__


class ConfigurationOptions(TypedDict, total=False):
"""A dictionary of configuration options.
Expand Down
11 changes: 11 additions & 0 deletions src/mqt/qcec/literals.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@

from typing import Literal

__all__ = [
"ApplicationSchemeName",
"EquivalenceCriterionName",
"StateTypeName",
]


def __dir__() -> list[str]:
return __all__


ApplicationSchemeName = Literal["sequential", "one_to_one", "proportional", "lookahead", "gate_cost"]
EquivalenceCriterionName = Literal[
"no_information",
Expand Down
15 changes: 13 additions & 2 deletions src/mqt/qcec/parameterized.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@
from mqt.core.ir.operations import SymbolicOperation
from mqt.core.ir.symbolic import Variable

__all__ = [
"check_instantiated",
"check_instantiated_random",
"check_parameterized",
"check_parameterized_zx",
]


def __dir__() -> list[str]:
return __all__


def __adjust_timeout(curr_timeout: float, res: EquivalenceCheckingManager.Results | float) -> float:
if curr_timeout == 0:
Expand All @@ -42,7 +53,7 @@ def check_parameterized_zx(
return ecm.get_results()


def extract_params(
def __extract_params(
circ1: QuantumComputation, circ2: QuantumComputation
) -> tuple[list[Variable], NDArray[np.float64], NDArray[np.float64]]:
"""Extract parameters and equations of parameterized circuits."""
Expand Down Expand Up @@ -136,7 +147,7 @@ def __write_stats(instantiation: int, result: EquivalenceCheckingManager.Results
n_checks = configuration.parameterized.additional_instantiations
tol = configuration.parameterized.parameterized_tolerance

parameters, mat, offsets = extract_params(circ1, circ2)
parameters, mat, offsets = __extract_params(circ1, circ2)

def __instantiate_params(
qc1: QuantumComputation, qc2: QuantumComputation, b: NDArray[np.float64]
Expand Down
14 changes: 10 additions & 4 deletions src/mqt/qcec/verify.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@

from typing import TYPE_CHECKING

from mqt.core import load

from . import Configuration, EquivalenceCheckingManager
from .configuration import augment_config_from_kwargs
from .parameterized import check_parameterized

if TYPE_CHECKING:
import os

Expand All @@ -14,11 +20,11 @@
from ._compat.typing import Unpack
from .configuration import ConfigurationOptions

from mqt.core import load
__all__ = ["verify"]

from . import Configuration, EquivalenceCheckingManager
from .configuration import augment_config_from_kwargs
from .parameterized import check_parameterized

def __dir__() -> list[str]:
return __all__


def verify(
Expand Down
18 changes: 12 additions & 6 deletions src/mqt/qcec/verify_compilation_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
import warnings
from typing import TYPE_CHECKING

from mqt.core import load

from . import ApplicationScheme, Configuration, EquivalenceCheckingManager
from ._compat.importlib import resources
from .compilation_flow_profiles import AncillaMode, generate_profile_name
from .configuration import augment_config_from_kwargs
from .verify import verify

if TYPE_CHECKING:
import os

Expand All @@ -15,13 +23,11 @@
from ._compat.typing import Unpack
from .configuration import ConfigurationOptions

from mqt.core import load
__all__ = ["verify_compilation"]

from . import ApplicationScheme, Configuration, EquivalenceCheckingManager
from ._compat.importlib import resources
from .compilation_flow_profiles import AncillaMode, generate_profile_name
from .configuration import augment_config_from_kwargs
from .verify import verify

def __dir__() -> list[str]:
return __all__


def __check_if_circuit_contains_measurements(circuit: QuantumComputation) -> None:
Expand Down

0 comments on commit a8e5704

Please sign in to comment.