diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f7e00be..97089c5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ **We appreciate all kinds of help, so thank you!** -## Contributing to Blackwater +## Contributing to ML-QEM Specific details for contributing to this project are outlined below. @@ -10,7 +10,7 @@ Specific details for contributing to this project are outlined below. Users are encouraged to use GitHub Issues for reporting issues and requesting features. -### Ask/Answer Questions and Discuss Blackwater +### Ask/Answer Questions and Discuss ML-QEM Users are encouraged to use GitHub Discussions for engaging with researchers, developers, and other users regarding this project and the provided examples. diff --git a/README.md b/README.md index d7b413e..4edc8bd 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,6 @@ -# Blackwater - -![logo](./docs/images/logo.gif) - -Package for solving quantum computing problems using machine learning. +# ML-QEM +Package for quantum error mitigation and solving general quantum computing problems using machine learning. ### Table of Contents @@ -21,7 +18,7 @@ Package for solving quantum computing problems using machine learning. ### How to Give Feedback We encourage your feedback! You can share your thoughts with us by: -- [Opening an issue](https://github.com/IceKhan13/blackwater/issues) in the repository +- [Opening an issue](https://github.com/qiskit-community/ml-qem/issues) in the repository ---------------------------------------------------------------------------------------------------- @@ -38,7 +35,6 @@ For information on how to contribute to this project, please take a look at our [2] Qiskit-terra https://github.com/Qiskit/qiskit-terra \ [3] PyTorch https://pytorch.org/ \ [4] PyTorch geometric https://pytorch-geometric.readthedocs.io/en/latest/ \ -[5] [Zlatko Minev](https://github.com/zlatko-minev) for :water_polo: :ocean: ---------------------------------------------------------------------------------------------------- diff --git a/blackwater/exception.py b/blackwater/exception.py deleted file mode 100644 index 3387b64..0000000 --- a/blackwater/exception.py +++ /dev/null @@ -1,5 +0,0 @@ -"""Exception class.""" - - -class BlackwaterException(Exception): - """BlackwaterException.""" diff --git a/blackwater/metrics/__init__.py b/blackwater/metrics/__init__.py deleted file mode 100644 index 7246b78..0000000 --- a/blackwater/metrics/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -""" -=================================== -Metrics (:mod:`blackwater.metrics`) -=================================== - -.. currentmodule:: blackwater.metrics - -Metrics -======= - -.. autosummary:: - :toctree: ../stubs/ - - improvement_factor -""" - -from .improvement_factor import improvement_factor diff --git a/docs/apidocs/data.rst b/docs/apidocs/data.rst index 5668de2..b14931a 100644 --- a/docs/apidocs/data.rst +++ b/docs/apidocs/data.rst @@ -1,6 +1,6 @@ -.. _blackwater-data: +.. _ml_qem-data: -.. automodule:: blackwater.data +.. automodule:: ml_qem.data :no-members: :no-inherited-members: :no-special-members: diff --git a/docs/apidocs/index.rst b/docs/apidocs/index.rst index a341d67..2828af5 100644 --- a/docs/apidocs/index.rst +++ b/docs/apidocs/index.rst @@ -1,8 +1,8 @@ -.. module:: blackwater +.. module:: ml_qem -========================= -BlackWater API References -========================= +===================== +ML-QEM API References +===================== .. toctree:: :maxdepth: 1 diff --git a/docs/apidocs/library.rst b/docs/apidocs/library.rst index ef2fd5a..ed80dc9 100644 --- a/docs/apidocs/library.rst +++ b/docs/apidocs/library.rst @@ -1,6 +1,6 @@ -.. _blackwater-library: +.. _ml_qem-library: -.. automodule:: blackwater.library +.. automodule:: ml_qem.library :no-members: :no-inherited-members: :no-special-members: diff --git a/docs/apidocs/metrics.rst b/docs/apidocs/metrics.rst index 7de2f4e..a2e300f 100644 --- a/docs/apidocs/metrics.rst +++ b/docs/apidocs/metrics.rst @@ -1,6 +1,6 @@ -.. _blackwater-metrics: +.. _ml_qem-metrics: -.. automodule:: blackwater.metrics +.. automodule:: ml_qem.metrics :no-members: :no-inherited-members: :no-special-members: diff --git a/docs/apidocs/primitives.rst b/docs/apidocs/primitives.rst index 6a604f5..33fe6b9 100644 --- a/docs/apidocs/primitives.rst +++ b/docs/apidocs/primitives.rst @@ -1,6 +1,6 @@ -.. _blackwater-primitives: +.. _ml_qem-primitives: -.. automodule:: blackwater.primitives +.. automodule:: ml_qem.primitives :no-members: :no-inherited-members: :no-special-members: diff --git a/docs/apidocs/rl.rst b/docs/apidocs/rl.rst index 26765df..d3c7d4a 100644 --- a/docs/apidocs/rl.rst +++ b/docs/apidocs/rl.rst @@ -1,6 +1,6 @@ -.. _blackwater-rl: +.. _ml_qem-rl: -.. automodule:: blackwater.rl +.. automodule:: ml_qem.rl :no-members: :no-inherited-members: :no-special-members: diff --git a/docs/conf.py b/docs/conf.py index 869b73f..018ab62 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -8,7 +8,7 @@ sys.path.append(os.path.abspath('..')) -project = "BlackWater" +project = "ML-QEM" copyright = "2023" # pylint: disable=redefined-builtin author = "" diff --git a/docs/guides/01_encoders.ipynb b/docs/guides/01_encoders.ipynb index 09e468a..d840bc5 100644 --- a/docs/guides/01_encoders.ipynb +++ b/docs/guides/01_encoders.ipynb @@ -18,7 +18,7 @@ "from qiskit import QuantumCircuit, transpile\n", "from qiskit.providers.fake_provider import FakeLimaV2\n", "\n", - "from blackwater.data.encoders.graph_utils import (\n", + "from ml_qem.data.encoders.graph_utils import (\n", " circuit_to_json_graph, \n", " backend_to_json_graph, \n", " BackendNodeEncoder\n", @@ -146,7 +146,7 @@ "from qiskit.quantum_info import SparsePauliOp\n", "from torch_geometric.data import Data\n", "\n", - "from blackwater.data.encoders.graph_utils import ExpValData" + "from ml_qem.data.encoders.graph_utils import ExpValData" ] }, { diff --git a/docs/guides/03_data_io.ipynb b/docs/guides/03_data_io.ipynb index 52502b0..dff6178 100644 --- a/docs/guides/03_data_io.ipynb +++ b/docs/guides/03_data_io.ipynb @@ -19,9 +19,9 @@ "from qiskit.providers.fake_provider import FakeLimaV2\n", "from qiskit.quantum_info import SparsePauliOp\n", "\n", - "from blackwater.data.encoders.graph_utils import ExpValData\n", - "from blackwater.data.dataio.dataio import ExpValDataWriter\n", - "from blackwater.data.loaders.dataclasses import ExpValDataSet" + "from ml_qem.data.encoders.graph_utils import ExpValData\n", + "from ml_qem.data.dataio.dataio import ExpValDataWriter\n", + "from ml_qem.data.loaders.dataclasses import ExpValDataSet" ] }, { diff --git a/docs/index.rst b/docs/index.rst index 782e9e7..8e06bf7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,12 +1,10 @@ -########## -BlackWater -########## +###### +ML-QEM +###### -BlackWater: Library for solving quantum computing problems using machine learning +ML-QEM: Library for quantum error mitigation and solving quantum computing problems using machine learning -.. image:: /images/logo.gif - -The source code to the project is available `on GitHub `_. +The source code to the project is available `on GitHub `_. ------------ @@ -15,7 +13,7 @@ The source code to the project is available `on GitHub List[float]: # type: ignore # pylint: disable=no-member @dataclass -class BlackwaterData: - """BlackwaterData.""" +class MLQEMData: + """MLQEMData.""" def serialize(self) -> dict: """Serialize class data to dictionary""" diff --git a/blackwater/data/dataio/__init__.py b/ml_qem/data/dataio/__init__.py similarity index 100% rename from blackwater/data/dataio/__init__.py rename to ml_qem/data/dataio/__init__.py diff --git a/blackwater/data/dataio/dataio.py b/ml_qem/data/dataio/dataio.py similarity index 72% rename from blackwater/data/dataio/dataio.py rename to ml_qem/data/dataio/dataio.py index afdcc1d..dfdab9f 100644 --- a/blackwater/data/dataio/dataio.py +++ b/ml_qem/data/dataio/dataio.py @@ -3,15 +3,15 @@ import json from typing import List -from blackwater.data.core import BlackwaterData -from blackwater.data.encoders.graph_utils import ExpValData +from ml_qem.data.core import MLQEMData +from ml_qem.data.encoders.graph_utils import ExpValData # pylint: disable=unspecified-encoding class Writer: """Base writer class.""" - def save_to_file(self, path: str, data: List[BlackwaterData]): + def save_to_file(self, path: str, data: List[MLQEMData]): """Writes data to file. Args: @@ -24,7 +24,7 @@ def save_to_file(self, path: str, data: List[BlackwaterData]): class Reader: """Base reader class.""" - def read_from_file(self, path: str) -> List[BlackwaterData]: + def read_from_file(self, path: str) -> List[MLQEMData]: """Reads from file. Args: @@ -39,7 +39,7 @@ def read_from_file(self, path: str) -> List[BlackwaterData]: class ExpValDataWriter(Writer): """ExpValDataWriter.""" - def save_to_file(self, path: str, data: List[BlackwaterData]): + def save_to_file(self, path: str, data: List[MLQEMData]): with open(path, "w") as file: json.dump([entry.serialize() for entry in data], file, indent=4) @@ -47,7 +47,7 @@ def save_to_file(self, path: str, data: List[BlackwaterData]): class ExpValDataReader(Reader): """ExpValDataReader.""" - def read_from_file(self, path: str) -> List[BlackwaterData]: + def read_from_file(self, path: str) -> List[MLQEMData]: result = [] with open(path, "r") as file: json_data = json.load(file) diff --git a/blackwater/data/encoders/__init__.py b/ml_qem/data/encoders/__init__.py similarity index 100% rename from blackwater/data/encoders/__init__.py rename to ml_qem/data/encoders/__init__.py diff --git a/blackwater/data/encoders/backend.py b/ml_qem/data/encoders/backend.py similarity index 100% rename from blackwater/data/encoders/backend.py rename to ml_qem/data/encoders/backend.py diff --git a/blackwater/data/encoders/circuit.py b/ml_qem/data/encoders/circuit.py similarity index 100% rename from blackwater/data/encoders/circuit.py rename to ml_qem/data/encoders/circuit.py diff --git a/blackwater/data/encoders/graph_utils.py b/ml_qem/data/encoders/graph_utils.py similarity index 97% rename from blackwater/data/encoders/graph_utils.py rename to ml_qem/data/encoders/graph_utils.py index 76ff179..5542718 100644 --- a/blackwater/data/encoders/graph_utils.py +++ b/ml_qem/data/encoders/graph_utils.py @@ -15,9 +15,9 @@ from qiskit.transpiler import Target from torch_geometric.data import Data -from blackwater.data.core import DataEncoder, BlackwaterData, NodeEncoder -from blackwater.data.encoders.utils import OperatorData, encode_operator -from blackwater.exception import BlackwaterException +from ml_qem.data.core import DataEncoder, MLQEMData, NodeEncoder +from ml_qem.data.encoders.utils import OperatorData, encode_operator +from ml_qem.exception import MLQEMException N_QUBIT_PROPERTIES = 2 ALL_INSTRUCTIONS = list(get_standard_gate_name_mapping().keys()) @@ -106,7 +106,7 @@ def extract_properties_from_backend( return BackendProperties(qubit_properties_map) else: - raise BlackwaterException( + raise MLQEMException( f"Backend of type [{type(backend)}] is not supported yet." ) @@ -145,7 +145,7 @@ def encode(self, node: DAGNode, **kwargs) -> List[float]: # type: ignore params_encoding[i] = float(param._symbol_expr) if node.op.name not in self.encoding_map: - raise BlackwaterException( + raise MLQEMException( f"Instruction [{node.op.name}] is not available" f" for backend [{self.backend.name}]. " f"Maybe you forgot to transpile circuit for this backend?" @@ -234,7 +234,7 @@ def backend_to_json_graph(backend: Union[BackendV1, BackendV2]) -> GraphData: dictionary with encoded data as graph """ if isinstance(backend, BackendV1): - raise BlackwaterException("BackendV1 is not supported yet.") + raise MLQEMException("BackendV1 is not supported yet.") target: Target = backend.target @@ -252,7 +252,7 @@ def backend_to_json_graph(backend: Union[BackendV1, BackendV2]) -> GraphData: @dataclass -class PygData(BlackwaterData): +class PygData(MLQEMData): """PygData.""" @classmethod diff --git a/blackwater/data/encoders/operator.py b/ml_qem/data/encoders/operator.py similarity index 100% rename from blackwater/data/encoders/operator.py rename to ml_qem/data/encoders/operator.py diff --git a/blackwater/data/encoders/primtives_utils.py b/ml_qem/data/encoders/primtives_utils.py similarity index 100% rename from blackwater/data/encoders/primtives_utils.py rename to ml_qem/data/encoders/primtives_utils.py diff --git a/blackwater/data/encoders/utils.py b/ml_qem/data/encoders/utils.py similarity index 99% rename from blackwater/data/encoders/utils.py rename to ml_qem/data/encoders/utils.py index d52d9a9..b44bc69 100644 --- a/blackwater/data/encoders/utils.py +++ b/ml_qem/data/encoders/utils.py @@ -18,7 +18,7 @@ from torch_geometric.data import Data # pylint: disable=no-member -from blackwater.exception import BlackwaterException +from ml_qem.exception import MLQEMException @dataclass @@ -80,7 +80,7 @@ def encode_operator(operator: Union[BaseOperator]) -> OperatorData: elif isinstance(operator, PauliSumOp): result = encode_pauli_sum_operator(operator) else: - raise BlackwaterException( + raise MLQEMException( f"Operator of type [{type(operator)}] is not supported yet." ) @@ -312,7 +312,7 @@ def circuit_to_graph_data_json( i: {} for i in range(3) } # as 3 is max number of operable gate size if node.name != "barrier" and len(node.qargs) > 3: - raise BlackwaterException( + raise MLQEMException( "Non barrier gate that has more than 3 qubits." "Those tyoe of gates are not supported yet." ) diff --git a/blackwater/data/generators/__init__.py b/ml_qem/data/generators/__init__.py similarity index 100% rename from blackwater/data/generators/__init__.py rename to ml_qem/data/generators/__init__.py diff --git a/blackwater/data/generators/exp_val.py b/ml_qem/data/generators/exp_val.py similarity index 100% rename from blackwater/data/generators/exp_val.py rename to ml_qem/data/generators/exp_val.py diff --git a/blackwater/data/generators/rb.py b/ml_qem/data/generators/rb.py similarity index 100% rename from blackwater/data/generators/rb.py rename to ml_qem/data/generators/rb.py diff --git a/blackwater/data/loaders/__init__.py b/ml_qem/data/loaders/__init__.py similarity index 100% rename from blackwater/data/loaders/__init__.py rename to ml_qem/data/loaders/__init__.py diff --git a/blackwater/data/loaders/dataclasses.py b/ml_qem/data/loaders/dataclasses.py similarity index 100% rename from blackwater/data/loaders/dataclasses.py rename to ml_qem/data/loaders/dataclasses.py diff --git a/blackwater/data/loaders/exp_val.py b/ml_qem/data/loaders/exp_val.py similarity index 100% rename from blackwater/data/loaders/exp_val.py rename to ml_qem/data/loaders/exp_val.py diff --git a/blackwater/data/utils.py b/ml_qem/data/utils.py similarity index 100% rename from blackwater/data/utils.py rename to ml_qem/data/utils.py diff --git a/ml_qem/exception.py b/ml_qem/exception.py new file mode 100644 index 0000000..d0a135c --- /dev/null +++ b/ml_qem/exception.py @@ -0,0 +1,5 @@ +"""Exception class.""" + + +class MLQEMException(Exception): + """MLQEMException.""" diff --git a/blackwater/library/__init__.py b/ml_qem/library/__init__.py similarity index 51% rename from blackwater/library/__init__.py rename to ml_qem/library/__init__.py index 4e0af80..e6bcb00 100644 --- a/blackwater/library/__init__.py +++ b/ml_qem/library/__init__.py @@ -1,9 +1,9 @@ """ -=================================== -Library (:mod:`blackwater.library`) -=================================== +=============================== +Library (:mod:`ml_qem.library`) +=============================== -.. currentmodule:: blackwater.library +.. currentmodule:: ml_qem.library Library ======= diff --git a/blackwater/library/ngem/__init__.py b/ml_qem/library/ngem/__init__.py similarity index 100% rename from blackwater/library/ngem/__init__.py rename to ml_qem/library/ngem/__init__.py diff --git a/blackwater/library/ngem/model.py b/ml_qem/library/ngem/model.py similarity index 100% rename from blackwater/library/ngem/model.py rename to ml_qem/library/ngem/model.py diff --git a/ml_qem/metrics/__init__.py b/ml_qem/metrics/__init__.py new file mode 100644 index 0000000..f3df1e2 --- /dev/null +++ b/ml_qem/metrics/__init__.py @@ -0,0 +1,17 @@ +""" +=============================== +Metrics (:mod:`ml_qem.metrics`) +=============================== + +.. currentmodule:: ml_qem.metrics + +Metrics +======= + +.. autosummary:: + :toctree: ../stubs/ + + improvement_factor +""" + +from .improvement_factor import improvement_factor diff --git a/blackwater/metrics/improvement_factor.py b/ml_qem/metrics/improvement_factor.py similarity index 95% rename from blackwater/metrics/improvement_factor.py rename to ml_qem/metrics/improvement_factor.py index beb316e..00c9e8e 100644 --- a/blackwater/metrics/improvement_factor.py +++ b/ml_qem/metrics/improvement_factor.py @@ -10,7 +10,7 @@ from qiskit import QuantumCircuit from qiskit.quantum_info import Operator -from blackwater.exception import BlackwaterException +from ml_qem.exception import MLQEMException @dataclass @@ -75,7 +75,7 @@ def improvement_factor( """ if len(problems) == 0: - raise BlackwaterException("Problem list should not be empty.") + raise MLQEMException("Problem list should not be empty.") if not isinstance(problems[0], Problem): problems: List[Problem] = [ diff --git a/blackwater/primitives/__init__.py b/ml_qem/primitives/__init__.py similarity index 57% rename from blackwater/primitives/__init__.py rename to ml_qem/primitives/__init__.py index 017fc92..39027e7 100644 --- a/blackwater/primitives/__init__.py +++ b/ml_qem/primitives/__init__.py @@ -1,9 +1,9 @@ """ -========================================= -Primitives (:mod:`blackwater.primitives`) -========================================= +===================================== +Primitives (:mod:`ml_qem.primitives`) +===================================== -.. currentmodule:: blackwater.primitives +.. currentmodule:: ml_qem.primitives Classes and functions ===================== @@ -12,14 +12,14 @@ :toctree: ../stubs/ learning_estimator - BlackWaterEstimatorModel + MLQEMEstimatorModel ScikitLearnEstimatorModel TorchGeometricEstimatorModel """ from .learning_esimator import ( learning_estimator, - BlackWaterEstimatorModel, + MLQEMEstimatorModel, ScikitLearnEstimatorModel, TorchGeometricEstimatorModel, ) diff --git a/blackwater/primitives/learning_esimator.py b/ml_qem/primitives/learning_esimator.py similarity index 93% rename from blackwater/primitives/learning_esimator.py rename to ml_qem/primitives/learning_esimator.py index f49c0e2..95bf41c 100644 --- a/blackwater/primitives/learning_esimator.py +++ b/ml_qem/primitives/learning_esimator.py @@ -11,15 +11,15 @@ from qiskit.providers import JobV1 as Job, Options, BackendV2 from qiskit.quantum_info import SparsePauliOp -from blackwater.data.core import DataEncoder -from blackwater.exception import BlackwaterException +from ml_qem.data.core import DataEncoder +from ml_qem.exception import MLQEMException -class BlackWaterEstimatorModel: +class MLQEMEstimatorModel: """Base model for learning based estimator primitive.""" def __init__(self, encoder: DataEncoder): - """Constructor for BlackWaterEstimatorModel + """Constructor for MLQEMEstimatorModel Args: encoder: input data encoder for model @@ -62,7 +62,7 @@ def run(self, encoded_inputs: Any) -> float: raise NotImplementedError -class ScikitLearnEstimatorModel(BlackWaterEstimatorModel): +class ScikitLearnEstimatorModel(MLQEMEstimatorModel): """Learning based model for scikit learn.""" def __init__(self, model, encoder: DataEncoder): @@ -79,7 +79,7 @@ def run(self, encoded_inputs: Any): return self.model.predict([encoded_inputs]).item() -class TorchGeometricEstimatorModel(BlackWaterEstimatorModel): +class TorchGeometricEstimatorModel(MLQEMEstimatorModel): """Learning based model for pytorch geometric.""" def __init__(self, model: torch.nn.Module, encoder: DataEncoder): @@ -114,7 +114,7 @@ class LearningEstimatorJob(Job): def __init__( # pylint: disable=super-init-not-called self, base_job: Job, - model: BlackWaterEstimatorModel, + model: MLQEMEstimatorModel, backend: BackendV2, circuits: Union[QuantumCircuit, List[QuantumCircuit]], observables: Union[PauliSumOp, List[PauliSumOp]], @@ -144,7 +144,7 @@ def result(self) -> EstimatorResult: result.metadata, ): if not isinstance(obs, (PauliSumOp, SparsePauliOp)): - raise BlackwaterException( + raise MLQEMException( "Only `PauliSumOp` observables are supported by NGEM." ) @@ -182,7 +182,7 @@ def __repr__(self): def patch_run( run: Callable, - model: BlackWaterEstimatorModel, + model: MLQEMEstimatorModel, backend: BackendV2, skip_transpile: bool, options: Optional[Options] = None, @@ -220,7 +220,7 @@ def learning_estimator_run( def learning_estimator( cls: Type[BaseEstimator], - model: BlackWaterEstimatorModel, + model: MLQEMEstimatorModel, backend: BackendV2, skip_transpile: bool = False, options: Optional[Options] = None, diff --git a/blackwater/rl/__init__.py b/ml_qem/rl/__init__.py similarity index 62% rename from blackwater/rl/__init__.py rename to ml_qem/rl/__init__.py index 5b509db..4cea186 100644 --- a/blackwater/rl/__init__.py +++ b/ml_qem/rl/__init__.py @@ -1,9 +1,9 @@ """ -========================= -RL (:mod:`blackwater.rl`) -========================= +===================== +RL (:mod:`ml_qem.rl`) +===================== -.. currentmodule:: blackwater.rl +.. currentmodule:: ml_qem.rl RL == diff --git a/blackwater/rl/envs/__init__.py b/ml_qem/rl/envs/__init__.py similarity index 100% rename from blackwater/rl/envs/__init__.py rename to ml_qem/rl/envs/__init__.py diff --git a/blackwater/rl/envs/circuit.py b/ml_qem/rl/envs/circuit.py similarity index 100% rename from blackwater/rl/envs/circuit.py rename to ml_qem/rl/envs/circuit.py diff --git a/setup.py b/setup.py index 9fd7245..a4170ca 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,4 @@ -"""Setup file for Blackwater.""" +"""Setup file for ML QEM.""" import os import setuptools @@ -13,14 +13,14 @@ version_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), "blackwater", "VERSION.txt") + os.path.join(os.path.dirname(__file__), "ml_qem", "VERSION.txt") ) with open(version_path, "r") as fd: version = fd.read().rstrip() setuptools.setup( - name="blackwater", + name="ml_qem", description="", long_description=long_description, long_description_content_type="text/markdown", diff --git a/tox.ini b/tox.ini index e08c306..d8c7921 100644 --- a/tox.ini +++ b/tox.ini @@ -20,8 +20,8 @@ commands = [testenv:lint] envdir = .tox/lint commands = - black --check {posargs} blackwater tests - pylint -rn blackwater tests + black --check {posargs} ml_qem tests + pylint -rn ml_qem tests ; nbqa pylint docs/ --disable=pointless-statement,missing-module-docstring,invalid-name,expression-not-assigned,duplicate-code,import-error mypy --install-types --non-interactive . @@ -34,7 +34,7 @@ basepython = python3 setenv = {[testenv]setenv} commands = - coverage3 run --source blackwater --parallel-mode -m pytest + coverage3 run --source ml_qem --parallel-mode -m pytest coverage3 combine coverage3 report --fail-under=80