From 9f17f6758fd898dc211518a9a5ab3a7d106bab37 Mon Sep 17 00:00:00 2001
From: David Schaefer <david.schaefer@ufz.de>
Date: Mon, 6 May 2024 10:00:02 +0200
Subject: [PATCH] fix linting issues from ruff

---
 saqc/__init__.py                             | 21 +++++++++++++++++---
 saqc/__main__.py                             |  8 ++++----
 saqc/core/__init__.py                        | 13 +++++++++++-
 saqc/core/core.py                            |  4 ++--
 saqc/core/flags.py                           |  3 +--
 saqc/core/translation/__init__.py            | 10 ++++++++++
 saqc/core/translation/dmpscheme.py           |  2 --
 saqc/funcs/changepoints.py                   |  4 +---
 saqc/funcs/flagtools.py                      |  3 +--
 saqc/funcs/generic.py                        |  2 +-
 saqc/funcs/interpolation.py                  |  3 ---
 saqc/funcs/noise.py                          |  8 +-------
 saqc/funcs/outliers.py                       |  3 +--
 saqc/funcs/resampling.py                     | 10 ++++------
 saqc/funcs/residuals.py                      |  2 +-
 saqc/funcs/rolling.py                        |  7 +------
 saqc/funcs/scores.py                         |  5 ++---
 saqc/funcs/tools.py                          |  1 -
 saqc/funcs/transformation.py                 |  2 +-
 saqc/lib/plotting.py                         |  1 -
 saqc/lib/tools.py                            |  2 +-
 saqc/lib/ts_operators.py                     |  3 ---
 saqc/lib/types.py                            | 10 +---------
 saqc/parsing/environ.py                      |  2 --
 tests/core/test_core.py                      |  3 ++-
 tests/funcs/test_constants_detection.py      |  4 ++--
 tests/funcs/test_functions.py                |  5 ++---
 tests/funcs/test_generic_config_functions.py |  5 +++--
 tests/funcs/test_outlier_detection.py        |  4 ++--
 tests/funcs/test_pattern_rec.py              |  4 ++--
 tests/funcs/test_proc_functions.py           |  4 ++--
 tests/funcs/test_resampling.py               |  2 +-
 tests/fuzzy/lib.py                           |  4 ++--
 33 files changed, 81 insertions(+), 83 deletions(-)

diff --git a/saqc/__init__.py b/saqc/__init__.py
index a801471cf..254c45622 100644
--- a/saqc/__init__.py
+++ b/saqc/__init__.py
@@ -7,8 +7,25 @@
 
 """The System for automated Quality Control package."""
 
+__all__ = [
+    "BAD",
+    "DOUBTFUL",
+    "GOOD",
+    "UNFLAGGED",
+    "FILTER_ALL",
+    "FILTER_NONE",
+    "Flags",
+    "DictOfSeries",
+    "SaQC",
+    "DmpScheme",
+    "FloatScheme",
+    "PositionalScheme",
+    "SimpleScheme",
+    "AnnotatedFloatScheme",
+    "fromConfig",
+]
+
 from saqc.constants import BAD, DOUBTFUL, FILTER_ALL, FILTER_NONE, GOOD, UNFLAGGED
-from saqc.exceptions import ParsingError
 from saqc.core import Flags, DictOfSeries, SaQC
 from saqc.core.translation import (
     DmpScheme,
@@ -18,8 +35,6 @@ from saqc.core.translation import (
     AnnotatedFloatScheme,
 )
 from saqc.parsing.reader import fromConfig
-from saqc.version import __version__
-
 from . import _version
 
 __version__ = _version.get_versions()["version"]
diff --git a/saqc/__main__.py b/saqc/__main__.py
index d5da00363..be2263500 100644
--- a/saqc/__main__.py
+++ b/saqc/__main__.py
@@ -136,10 +136,10 @@ def main(
     config = str(config)
     cr = _ConfigReader(data=data, scheme=scheme)
     if config.endswith("json"):
-        f = None
-        if json_field is not None:
-            f = lambda j: j[str(json_field)]
-        cr = cr.readJson(config, unpack=f)
+        cr = cr.readJson(
+            config,
+            unpack=lambda j: j[str(json_field)] if json_field is not None else None,
+        )
     else:
         cr = cr.readCsv(config)
 
diff --git a/saqc/core/__init__.py b/saqc/core/__init__.py
index 1fbe7e27c..bd5ac9dc6 100644
--- a/saqc/core/__init__.py
+++ b/saqc/core/__init__.py
@@ -4,8 +4,19 @@
 # -*- coding: utf-8 -*-
 
 # isort: skip_file
+
+__all__ = [
+    "DictOfSeries",
+    "History",
+    "Flags",
+    "SaQC",
+    "flagging",
+    "processing",
+    "register",
+]
+
 from saqc.core.frame import DictOfSeries
 from saqc.core.history import History
-from saqc.core.flags import Flags, initFlagsLike
+from saqc.core.flags import Flags
 from saqc.core.register import flagging, processing, register
 from saqc.core.core import SaQC
diff --git a/saqc/core/core.py b/saqc/core/core.py
index c669da567..952b2ed8c 100644
--- a/saqc/core/core.py
+++ b/saqc/core/core.py
@@ -12,7 +12,7 @@ import warnings
 from copy import copy as shallowcopy
 from copy import deepcopy
 from functools import partial
-from typing import Any, Hashable, Iterable, MutableMapping
+from typing import Any, Hashable, Iterable
 
 import numpy as np
 import pandas as pd
@@ -332,7 +332,7 @@ class SaQC(FunctionsMixin):
     def _castData(self, data) -> DictOfSeries:
         if isinstance(data, pd.Series):
             if not isinstance(data.name, str):
-                raise ValueError(f"Cannot init from unnamed pd.Series")
+                raise ValueError("Cannot init from unnamed pd.Series")
             data = data.to_frame()
         if isinstance(data, pd.DataFrame):
             for idx in [data.index, data.columns]:
diff --git a/saqc/core/flags.py b/saqc/core/flags.py
index e597e0ee1..fc1684193 100644
--- a/saqc/core/flags.py
+++ b/saqc/core/flags.py
@@ -7,7 +7,6 @@
 from __future__ import annotations
 
 import typing
-import warnings
 from typing import DefaultDict, Dict, Iterable, Mapping, Tuple, Type, Union, overload
 
 import numpy as np
@@ -243,7 +242,7 @@ class Flags:
         if history.empty:
             return history
 
-        errm = f"History "
+        errm = "History "
         if colname:
             errm += f"of column {colname} "
 
diff --git a/saqc/core/translation/__init__.py b/saqc/core/translation/__init__.py
index 7549e43c5..1aaca2982 100644
--- a/saqc/core/translation/__init__.py
+++ b/saqc/core/translation/__init__.py
@@ -5,6 +5,16 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 
 # -*- coding: utf-8 -*-
+__all__ = [
+    "MappingScheme",
+    "TranslationScheme",
+    "DmpScheme",
+    "AnnotatedFloatScheme",
+    "FloatScheme",
+    "PositionalScheme",
+    "SimpleScheme",
+]
+
 from saqc.core.translation.basescheme import MappingScheme, TranslationScheme
 from saqc.core.translation.dmpscheme import DmpScheme
 from saqc.core.translation.floatscheme import AnnotatedFloatScheme, FloatScheme
diff --git a/saqc/core/translation/dmpscheme.py b/saqc/core/translation/dmpscheme.py
index fb68713d5..f80267c93 100644
--- a/saqc/core/translation/dmpscheme.py
+++ b/saqc/core/translation/dmpscheme.py
@@ -9,7 +9,6 @@
 from __future__ import annotations
 
 import json
-from functools import reduce
 
 import numpy as np
 import pandas as pd
@@ -18,7 +17,6 @@ from saqc import BAD, DOUBTFUL, GOOD, UNFLAGGED
 from saqc.core import Flags, History
 from saqc.core.frame import DictOfSeries
 from saqc.core.translation.basescheme import BackwardMap, ForwardMap, MappingScheme
-from saqc.lib.tools import getUnionIndex
 
 _QUALITY_CAUSES = [
     "",
diff --git a/saqc/funcs/changepoints.py b/saqc/funcs/changepoints.py
index ff706f691..b0ce725b3 100644
--- a/saqc/funcs/changepoints.py
+++ b/saqc/funcs/changepoints.py
@@ -13,13 +13,11 @@ import numpy as np
 import pandas as pd
 
 from saqc import BAD, UNFLAGGED
-from saqc.core import DictOfSeries, Flags, flagging, register
+from saqc.core import flagging, register
 from saqc.lib.checking import (
-    isInBounds,
     validateCallable,
     validateChoice,
     validateMinPeriods,
-    validateValueBounds,
     validateWindow,
 )
 
diff --git a/saqc/funcs/flagtools.py b/saqc/funcs/flagtools.py
index d7ea5015a..f57822e35 100644
--- a/saqc/funcs/flagtools.py
+++ b/saqc/funcs/flagtools.py
@@ -17,7 +17,6 @@ from typing_extensions import Literal
 
 from saqc import BAD, FILTER_ALL, UNFLAGGED
 from saqc.core import DictOfSeries, flagging, register
-from saqc.core.flags import Flags
 from saqc.core.history import History
 from saqc.lib.checking import validateChoice, validateWindow
 from saqc.lib.tools import (
@@ -446,7 +445,7 @@ class FlagtoolsMixin:
 
         fields, targets, broadcasting = multivariateParameters(field, target)
         meta = {
-            "func": f"transferFlags",
+            "func": "transferFlags",
             "args": (),
             "kwargs": {
                 "field": field,
diff --git a/saqc/funcs/generic.py b/saqc/funcs/generic.py
index ad8b20067..4973883db 100644
--- a/saqc/funcs/generic.py
+++ b/saqc/funcs/generic.py
@@ -267,7 +267,7 @@ class GenericMixin:
             )
 
         if not result.empty and not isAllBoolean(result):
-            raise TypeError(f"generic expression does not return a boolean array")
+            raise TypeError("generic expression does not return a boolean array")
 
         # update flags & data
         for i, col in enumerate(targets):
diff --git a/saqc/funcs/interpolation.py b/saqc/funcs/interpolation.py
index 481c87d72..65501df34 100644
--- a/saqc/funcs/interpolation.py
+++ b/saqc/funcs/interpolation.py
@@ -7,7 +7,6 @@
 # -*- coding: utf-8 -*-
 from __future__ import annotations
 
-import warnings
 from typing import TYPE_CHECKING, Callable, Tuple, Union
 
 import numpy as np
@@ -18,8 +17,6 @@ from saqc import UNFLAGGED
 from saqc.core import register
 from saqc.core.history import History
 from saqc.lib.checking import (
-    isValidChoice,
-    validateCallable,
     validateChoice,
     validateFuncSelection,
     validateMinPeriods,
diff --git a/saqc/funcs/noise.py b/saqc/funcs/noise.py
index 7e18add8f..db60bf214 100644
--- a/saqc/funcs/noise.py
+++ b/saqc/funcs/noise.py
@@ -13,16 +13,10 @@ from typing import TYPE_CHECKING, Callable, Literal
 
 import numpy as np
 import pandas as pd
-from scipy.stats import median_abs_deviation
 
 from saqc.constants import BAD
 from saqc.core.register import flagging
-from saqc.lib.checking import (
-    isCallable,
-    validateFuncSelection,
-    validateMinPeriods,
-    validateWindow,
-)
+from saqc.lib.checking import validateFuncSelection, validateMinPeriods, validateWindow
 from saqc.lib.tools import isunflagged, statPass
 from saqc.parsing.environ import ENV_OPERATORS
 
diff --git a/saqc/funcs/outliers.py b/saqc/funcs/outliers.py
index 5ea2e2dda..ab8782402 100644
--- a/saqc/funcs/outliers.py
+++ b/saqc/funcs/outliers.py
@@ -10,7 +10,7 @@ from __future__ import annotations
 
 import uuid
 import warnings
-from typing import TYPE_CHECKING, Callable, List, Optional, Sequence, Tuple
+from typing import TYPE_CHECKING, Callable, Sequence, Tuple
 
 import numpy as np
 import numpy.polynomial.polynomial as poly
@@ -27,7 +27,6 @@ from saqc.lib.checking import (
     validateChoice,
     validateFraction,
     validateFrequency,
-    validateFuncSelection,
     validateMinPeriods,
     validateValueBounds,
     validateWindow,
diff --git a/saqc/funcs/resampling.py b/saqc/funcs/resampling.py
index 168d16fc0..fb803e26c 100644
--- a/saqc/funcs/resampling.py
+++ b/saqc/funcs/resampling.py
@@ -7,11 +7,10 @@
 # -*- coding: utf-8 -*-
 from __future__ import annotations
 
-import re
 import typing
 import uuid
 import warnings
-from typing import TYPE_CHECKING, Callable, Union
+from typing import TYPE_CHECKING, Callable
 
 import numpy as np
 import pandas as pd
@@ -21,10 +20,9 @@ import saqc.constants
 from saqc.constants import UNFLAGGED
 from saqc.core import register
 from saqc.core.history import History
-from saqc.funcs.interpolation import DATA_REINDEXER
 from saqc.lib.checking import validateChoice, validateFuncSelection
 from saqc.lib.docs import DOC_TEMPLATES
-from saqc.lib.tools import filterKwargs, getFreqDelta
+from saqc.lib.tools import getFreqDelta
 from saqc.lib.ts_operators import isValid
 
 if TYPE_CHECKING:
@@ -288,10 +286,10 @@ class ResamplingMixin:
                 done = True
 
         if len(stack) == 0:
-            raise ValueError(f"Could not find no last reindexing to invert")
+            raise ValueError("Could not find no last reindexing to invert")
 
         reindex_method = METHODINVERTS.get(stack[-1], False)
-        if reindex_method == False:
+        if reindex_method is False:
             raise ValueError(f"cant invert {stack[-1]}")
         return reindex_method
 
diff --git a/saqc/funcs/residuals.py b/saqc/funcs/residuals.py
index 5ef4a6a40..0ba870798 100644
--- a/saqc/funcs/residuals.py
+++ b/saqc/funcs/residuals.py
@@ -7,7 +7,7 @@
 # -*- coding: utf-8 -*-
 from __future__ import annotations
 
-from typing import TYPE_CHECKING, Callable, Optional, Union
+from typing import TYPE_CHECKING, Callable
 
 import numpy as np
 import pandas as pd
diff --git a/saqc/funcs/rolling.py b/saqc/funcs/rolling.py
index dfcdfd23c..77a9d9985 100644
--- a/saqc/funcs/rolling.py
+++ b/saqc/funcs/rolling.py
@@ -14,12 +14,7 @@ import pandas as pd
 
 import saqc
 from saqc.core import DictOfSeries, Flags, register
-from saqc.lib.checking import (
-    validateCallable,
-    validateFuncSelection,
-    validateMinPeriods,
-    validateWindow,
-)
+from saqc.lib.checking import validateFuncSelection, validateMinPeriods, validateWindow
 from saqc.lib.tools import getFreqDelta
 
 if TYPE_CHECKING:
diff --git a/saqc/funcs/scores.py b/saqc/funcs/scores.py
index f72e2362f..aacc76eb3 100644
--- a/saqc/funcs/scores.py
+++ b/saqc/funcs/scores.py
@@ -7,14 +7,13 @@
 # -*- coding: utf-8 -*-
 from __future__ import annotations
 
-from typing import TYPE_CHECKING, Callable, Optional, Sequence, Tuple, Union
+from typing import TYPE_CHECKING, Callable, Optional, Sequence, Tuple
 
 import numpy as np
 import pandas as pd
 from sklearn.neighbors import LocalOutlierFactor
 from typing_extensions import Literal
 
-from saqc import UNFLAGGED
 from saqc.core import register
 from saqc.lib.checking import (
     validateChoice,
@@ -25,7 +24,7 @@ from saqc.lib.checking import (
 from saqc.lib.docs import DOC_TEMPLATES
 from saqc.lib.tools import getApply, toSequence
 from saqc.lib.ts_operators import kNN
-from saqc.parsing.environ import ENV_OPERATORS, ENV_TRAFOS
+from saqc.parsing.environ import ENV_OPERATORS
 
 if TYPE_CHECKING:
     from saqc import SaQC
diff --git a/saqc/funcs/tools.py b/saqc/funcs/tools.py
index 453d28d88..5038df629 100644
--- a/saqc/funcs/tools.py
+++ b/saqc/funcs/tools.py
@@ -9,7 +9,6 @@ from __future__ import annotations
 
 import pickle
 import tkinter as tk
-import warnings
 from typing import TYPE_CHECKING
 
 import matplotlib as mpl
diff --git a/saqc/funcs/transformation.py b/saqc/funcs/transformation.py
index 2b2d6db44..cfc4d226a 100644
--- a/saqc/funcs/transformation.py
+++ b/saqc/funcs/transformation.py
@@ -7,7 +7,7 @@
 # -*- coding: utf-8 -*-
 from __future__ import annotations
 
-from typing import TYPE_CHECKING, Callable, Optional, Union
+from typing import TYPE_CHECKING, Callable
 
 import numpy as np
 import pandas as pd
diff --git a/saqc/lib/plotting.py b/saqc/lib/plotting.py
index 5dd0e944b..41a5b5a53 100644
--- a/saqc/lib/plotting.py
+++ b/saqc/lib/plotting.py
@@ -9,7 +9,6 @@
 from __future__ import annotations
 
 import itertools
-from collections import OrderedDict
 
 import matplotlib as mpl
 import matplotlib.pyplot as plt
diff --git a/saqc/lib/tools.py b/saqc/lib/tools.py
index 72c201c8f..7fd671036 100644
--- a/saqc/lib/tools.py
+++ b/saqc/lib/tools.py
@@ -442,7 +442,7 @@ def getApply(in_obj, apply_obj, attr_access="__name__", attr_or="apply") -> pd.S
         try:
             # let's try to run it somewhat optimized
             out = getattr(in_obj, attr_or)(apply_obj, raw=True)
-        except:
+        except Exception:
             # did't work out, fallback
             out = getattr(in_obj, attr_or)(apply_obj)
 
diff --git a/saqc/lib/ts_operators.py b/saqc/lib/ts_operators.py
index c983a314f..4b0c4ad44 100644
--- a/saqc/lib/ts_operators.py
+++ b/saqc/lib/ts_operators.py
@@ -9,10 +9,7 @@
 """
 The module gathers all kinds of timeseries tranformations.
 """
-import re
 import sys
-import warnings
-from typing import Literal, Union
 
 import numpy as np
 import numpy.polynomial.polynomial as poly
diff --git a/saqc/lib/types.py b/saqc/lib/types.py
index 8b5b6e5fa..c5e784527 100644
--- a/saqc/lib/types.py
+++ b/saqc/lib/types.py
@@ -8,20 +8,12 @@
 from __future__ import annotations
 
 import abc
-from typing import Any, Dict, TypeVar, Union
+from typing import TypeVar, Union
 
 import numpy as np
 import pandas as pd
 from typing_extensions import Protocol
 
-__all__ = [
-    "T",
-    "ArrayLike",
-    "CurveFitter",
-    "ExternalFlag",
-    "OptionalNone",
-]
-
 T = TypeVar("T")
 ArrayLike = TypeVar("ArrayLike", np.ndarray, pd.Series, pd.DataFrame)
 
diff --git a/saqc/parsing/environ.py b/saqc/parsing/environ.py
index a3095b363..d494ed666 100644
--- a/saqc/parsing/environ.py
+++ b/saqc/parsing/environ.py
@@ -7,8 +7,6 @@
 # -*- coding: utf-8 -*-
 
 import numpy as np
-import pandas as pd
-import scipy.stats as st
 
 import saqc.lib.ts_operators as ts_ops
 from saqc import BAD, DOUBTFUL, FILTER_ALL, FILTER_NONE, GOOD, UNFLAGGED
diff --git a/tests/core/test_core.py b/tests/core/test_core.py
index 4109eb6e4..b5062f33f 100644
--- a/tests/core/test_core.py
+++ b/tests/core/test_core.py
@@ -13,7 +13,8 @@ import pandas as pd
 import pytest
 
 from saqc import BAD, FILTER_ALL, FILTER_NONE, UNFLAGGED, SaQC
-from saqc.core import DictOfSeries, Flags, flagging, initFlagsLike, processing, register
+from saqc.core import DictOfSeries, Flags, flagging, processing, register
+from saqc.core.flags import initFlagsLike
 from saqc.lib.types import OptionalNone
 from tests.common import initData
 
diff --git a/tests/funcs/test_constants_detection.py b/tests/funcs/test_constants_detection.py
index 8cbf3290d..a6ec79792 100644
--- a/tests/funcs/test_constants_detection.py
+++ b/tests/funcs/test_constants_detection.py
@@ -9,8 +9,8 @@
 import numpy as np
 import pytest
 
-from saqc import BAD, UNFLAGGED
-from saqc.core import SaQC, initFlagsLike
+from saqc import BAD, UNFLAGGED, SaQC
+from saqc.core.flags import initFlagsLike
 from tests.common import initData
 
 
diff --git a/tests/funcs/test_functions.py b/tests/funcs/test_functions.py
index d956e39b1..8a3e14a53 100644
--- a/tests/funcs/test_functions.py
+++ b/tests/funcs/test_functions.py
@@ -10,9 +10,8 @@ import numpy as np
 import pandas as pd
 import pytest
 
-import saqc
-from saqc import BAD, DOUBTFUL, UNFLAGGED, SaQC
-from saqc.core import DictOfSeries, initFlagsLike
+from saqc import BAD, DOUBTFUL, UNFLAGGED, DictOfSeries, SaQC
+from saqc.core.flags import initFlagsLike
 from tests.common import initData
 from tests.fixtures import char_dict, course_1  # noqa, todo: fix fixtures
 
diff --git a/tests/funcs/test_generic_config_functions.py b/tests/funcs/test_generic_config_functions.py
index f19342a39..d9af808da 100644
--- a/tests/funcs/test_generic_config_functions.py
+++ b/tests/funcs/test_generic_config_functions.py
@@ -12,8 +12,9 @@ import numpy as np
 import pandas as pd
 import pytest
 
-from saqc import BAD, UNFLAGGED, SaQC
-from saqc.core import DictOfSeries, Flags, initFlagsLike, register
+from saqc import BAD, UNFLAGGED, DictOfSeries, Flags, SaQC
+from saqc.core import register
+from saqc.core.flags import initFlagsLike
 from saqc.funcs.generic import _execGeneric
 from saqc.parsing.reader import _ConfigReader
 from saqc.parsing.visitor import ConfigFunctionParser
diff --git a/tests/funcs/test_outlier_detection.py b/tests/funcs/test_outlier_detection.py
index 81bd0ec28..61953bcd0 100644
--- a/tests/funcs/test_outlier_detection.py
+++ b/tests/funcs/test_outlier_detection.py
@@ -13,8 +13,8 @@ import pandas as pd
 import pytest
 
 import saqc
-from saqc import BAD, UNFLAGGED
-from saqc.core import DictOfSeries, SaQC, initFlagsLike
+from saqc import BAD, UNFLAGGED, DictOfSeries, SaQC
+from saqc.core.flags import initFlagsLike
 from tests.fixtures import char_dict, course_1, course_2, course_3, course_4
 
 
diff --git a/tests/funcs/test_pattern_rec.py b/tests/funcs/test_pattern_rec.py
index 6b96ee0ca..b2be3a634 100644
--- a/tests/funcs/test_pattern_rec.py
+++ b/tests/funcs/test_pattern_rec.py
@@ -9,8 +9,8 @@
 import pandas as pd
 import pytest
 
-from saqc import BAD, UNFLAGGED, SaQC
-from saqc.core import DictOfSeries, initFlagsLike
+from saqc import BAD, UNFLAGGED, DictOfSeries, SaQC
+from saqc.core.flags import initFlagsLike
 from tests.common import initData
 
 
diff --git a/tests/funcs/test_proc_functions.py b/tests/funcs/test_proc_functions.py
index df960969b..b2f097060 100644
--- a/tests/funcs/test_proc_functions.py
+++ b/tests/funcs/test_proc_functions.py
@@ -14,8 +14,8 @@ import pandas as pd
 import pytest
 
 import saqc
-from saqc import UNFLAGGED, SaQC
-from saqc.core import DictOfSeries, initFlagsLike
+from saqc import UNFLAGGED, DictOfSeries, SaQC
+from saqc.core.flags import initFlagsLike
 from saqc.lib.ts_operators import linearInterpolation, polynomialInterpolation
 from tests.fixtures import char_dict, course_3, course_5  # noqa, todo: fix fixtures
 
diff --git a/tests/funcs/test_resampling.py b/tests/funcs/test_resampling.py
index b765c074f..f077c283b 100644
--- a/tests/funcs/test_resampling.py
+++ b/tests/funcs/test_resampling.py
@@ -14,7 +14,7 @@ import pandas as pd
 import pytest
 
 from saqc import SaQC
-from saqc.core import initFlagsLike
+from saqc.core.flags import initFlagsLike
 from saqc.funcs.resampling import (
     _aggregationGrouper,
     _constructAggregationReindexer,
diff --git a/tests/fuzzy/lib.py b/tests/fuzzy/lib.py
index a70a159f3..e0b30cac9 100644
--- a/tests/fuzzy/lib.py
+++ b/tests/fuzzy/lib.py
@@ -23,8 +23,8 @@ from hypothesis.strategies import (
 )
 from hypothesis.strategies._internal.types import _global_type_lookup
 
-from saqc import BAD
-from saqc.core import DictOfSeries, initFlagsLike
+from saqc import BAD, DictOfSeries
+from saqc.core.flags import initFlagsLike
 from saqc.core.register import FUNC_MAP
 
 MAX_EXAMPLES = 50
-- 
GitLab