From 85032515bc57ac22cb0a3631518e4d02931c11ff Mon Sep 17 00:00:00 2001
From: Bert Palm <bert.palm@ufz.de>
Date: Fri, 26 Mar 2021 00:09:28 +0100
Subject: [PATCH] moved flags.py and history.py to core

---
 saqc/__init__.py                             |  4 +---
 saqc/core/__init__.py                        |  1 +
 saqc/core/core.py                            |  2 +-
 saqc/{flagger => core}/flags.py              | 12 +++++-------
 saqc/{flagger => core}/history.py            |  0
 saqc/core/modules/breaks.py                  |  2 +-
 saqc/core/modules/changepoints.py            |  2 +-
 saqc/core/modules/constants.py               |  2 +-
 saqc/core/modules/curvefit.py                |  2 +-
 saqc/core/modules/flagtools.py               |  2 +-
 saqc/core/modules/generic.py                 |  3 ++-
 saqc/core/modules/interpolation.py           |  2 +-
 saqc/core/modules/outliers.py                |  2 +-
 saqc/core/modules/pattern.py                 |  2 +-
 saqc/core/modules/resampling.py              |  2 +-
 saqc/core/modules/residues.py                |  2 +-
 saqc/core/modules/scores.py                  |  2 +-
 saqc/core/modules/tools.py                   |  2 +-
 saqc/core/modules/transformation.py          |  2 +-
 saqc/core/reader.py                          |  6 ++----
 saqc/core/register.py                        |  5 ++---
 saqc/core/visitor.py                         |  1 -
 saqc/flagger/__init__.py                     |  5 -----
 saqc/funcs/breaks.py                         |  3 +--
 saqc/funcs/changepoints.py                   |  3 +--
 saqc/funcs/constants.py                      |  3 +--
 saqc/funcs/curvefit.py                       |  3 +--
 saqc/funcs/drift.py                          |  2 +-
 saqc/funcs/flagtools.py                      |  5 +----
 saqc/funcs/generic.py                        |  3 +--
 saqc/funcs/interpolation.py                  | 11 ++++-------
 saqc/funcs/outliers.py                       | 18 +++++-------------
 saqc/funcs/pattern.py                        |  3 +--
 saqc/funcs/resampling.py                     | 19 ++++++++-----------
 saqc/funcs/residues.py                       |  5 +----
 saqc/funcs/rolling.py                        |  4 +---
 saqc/funcs/scores.py                         |  7 ++-----
 saqc/funcs/tools.py                          |  5 +----
 saqc/funcs/transformation.py                 |  5 +----
 saqc/lib/plotting.py                         |  2 +-
 saqc/lib/tools.py                            |  2 +-
 saqc/lib/ts_operators.py                     |  3 ---
 saqc/lib/types.py                            |  7 ++++---
 tests/common.py                              |  2 +-
 tests/core/test_core.py                      |  2 +-
 tests/core/test_creation.py                  |  2 +-
 tests/flagger/test_flags.py                  |  2 +-
 tests/flagger/test_history.py                |  2 +-
 tests/funcs/test_constants_detection.py      |  2 +-
 tests/funcs/test_functions.py                |  2 +-
 tests/funcs/test_generic_config_functions.py |  2 +-
 tests/funcs/test_harm_funcs.py               |  2 +-
 tests/funcs/test_modelling.py                |  2 +-
 tests/funcs/test_pattern_rec.py              |  2 +-
 tests/funcs/test_proc_functions.py           |  2 +-
 tests/funcs/test_spikes_detection.py         |  2 +-
 tests/fuzzy/init.py                          |  2 +-
 tests/fuzzy/test_masking.py                  |  2 +-
 58 files changed, 79 insertions(+), 129 deletions(-)
 rename saqc/{flagger => core}/flags.py (99%)
 rename saqc/{flagger => core}/history.py (100%)
 delete mode 100644 saqc/flagger/__init__.py

diff --git a/saqc/__init__.py b/saqc/__init__.py
index d7155f47a..6262ae74d 100644
--- a/saqc/__init__.py
+++ b/saqc/__init__.py
@@ -5,6 +5,4 @@ __version__ = "1.4"
 
 # import order: from small to big
 from saqc.constants import *
-from saqc.flagger import *
-from saqc.core.register import register
-from saqc.core.core import SaQC
+from saqc.core import register, initFlagsLike, Flags, SaQC
diff --git a/saqc/core/__init__.py b/saqc/core/__init__.py
index 097236acb..0b4aacf33 100644
--- a/saqc/core/__init__.py
+++ b/saqc/core/__init__.py
@@ -2,4 +2,5 @@
 # -*- coding: utf-8 -*-
 
 from saqc.core.register import register
+from saqc.core.flags import Flags, initFlagsLike
 from saqc.core.core import SaQC, logger
diff --git a/saqc/core/core.py b/saqc/core/core.py
index 6d5ecbf16..2fe5c6e11 100644
--- a/saqc/core/core.py
+++ b/saqc/core/core.py
@@ -18,7 +18,7 @@ import timeit
 import inspect
 
 from saqc.constants import *
-from saqc.flagger import initFlagsLike, Flagger
+from saqc.core.flags import initFlagsLike, Flags as Flagger
 from saqc.core.lib import APIController, ColumnSelector
 from saqc.core.register import FUNC_MAP, SaQCFunction
 from saqc.core.modules import FuncModules
diff --git a/saqc/flagger/flags.py b/saqc/core/flags.py
similarity index 99%
rename from saqc/flagger/flags.py
rename to saqc/core/flags.py
index 63d3a505f..1d95adf31 100644
--- a/saqc/flagger/flags.py
+++ b/saqc/core/flags.py
@@ -2,12 +2,14 @@
 
 from __future__ import annotations
 
-import dios
-from saqc.constants import *
-from saqc.flagger.history import History
 import pandas as pd
+import dios
 from typing import Union, Dict, DefaultDict, Optional, Type, Tuple, Iterable
 
+from saqc.constants import *
+from saqc.core.history import History
+
+
 _VAL = Union[pd.Series, History]
 DictLike = Union[
     pd.DataFrame,
@@ -343,7 +345,3 @@ def initFlagsLike(
         result[k] = History(item)
 
     return Flags(result)
-
-
-# for now we keep this name
-Flagger = Flags
diff --git a/saqc/flagger/history.py b/saqc/core/history.py
similarity index 100%
rename from saqc/flagger/history.py
rename to saqc/core/history.py
diff --git a/saqc/core/modules/breaks.py b/saqc/core/modules/breaks.py
index b07edba09..6fab21ff3 100644
--- a/saqc/core/modules/breaks.py
+++ b/saqc/core/modules/breaks.py
@@ -6,8 +6,8 @@ import numpy as np
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc import Flagger
 from saqc.core.modules.base import ModuleBase
+from saqc.core import Flags as Flagger
 from saqc.lib.types import FreqString, IntegerWindow, ColumnName
 
 
diff --git a/saqc/core/modules/changepoints.py b/saqc/core/modules/changepoints.py
index 19ed26d29..7e5946cc6 100644
--- a/saqc/core/modules/changepoints.py
+++ b/saqc/core/modules/changepoints.py
@@ -8,7 +8,7 @@ from dios import DictOfSeries
 from typing_extensions import Literal
 
 from saqc.constants import *
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 from saqc.lib.types import FreqString, IntegerWindow
 
diff --git a/saqc/core/modules/constants.py b/saqc/core/modules/constants.py
index 22239aa09..6787b08ed 100644
--- a/saqc/core/modules/constants.py
+++ b/saqc/core/modules/constants.py
@@ -5,7 +5,7 @@ from typing import Tuple
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 from saqc.lib.types import FreqString, ColumnName
 
diff --git a/saqc/core/modules/curvefit.py b/saqc/core/modules/curvefit.py
index c24ce08b0..de43a906b 100644
--- a/saqc/core/modules/curvefit.py
+++ b/saqc/core/modules/curvefit.py
@@ -6,7 +6,7 @@ from dios import DictOfSeries
 from typing_extensions import Literal
 
 from saqc.constants import *
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 
 
diff --git a/saqc/core/modules/flagtools.py b/saqc/core/modules/flagtools.py
index 7cc2b1633..94b4748f8 100644
--- a/saqc/core/modules/flagtools.py
+++ b/saqc/core/modules/flagtools.py
@@ -7,7 +7,7 @@ import pandas as pd
 from dios.dios import DictOfSeries
 from typing_extensions import Literal
 
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.constants import *
 from saqc.core.modules.base import ModuleBase
 from saqc.lib.types import ColumnName
diff --git a/saqc/core/modules/generic.py b/saqc/core/modules/generic.py
index da80700c3..649f5aafb 100644
--- a/saqc/core/modules/generic.py
+++ b/saqc/core/modules/generic.py
@@ -7,7 +7,8 @@ import numpy as np
 import pandas as pd
 from dios import DictOfSeries
 
-from saqc import Flagger, BAD
+from saqc.constants import *
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 
 
diff --git a/saqc/core/modules/interpolation.py b/saqc/core/modules/interpolation.py
index c9aed6105..8df763b90 100644
--- a/saqc/core/modules/interpolation.py
+++ b/saqc/core/modules/interpolation.py
@@ -8,7 +8,7 @@ import pandas as pd
 from dios import DictOfSeries
 from typing_extensions import Literal
 
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.constants import *
 from saqc.core.modules.base import ModuleBase
 from saqc.funcs.interpolation import _SUPPORTED_METHODS
diff --git a/saqc/core/modules/outliers.py b/saqc/core/modules/outliers.py
index bf8152039..d202af9b9 100644
--- a/saqc/core/modules/outliers.py
+++ b/saqc/core/modules/outliers.py
@@ -9,7 +9,7 @@ from dios import DictOfSeries
 from typing_extensions import Literal
 
 from saqc.constants import *
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 from saqc.lib.types import IntegerWindow, FreqString, ColumnName
 
diff --git a/saqc/core/modules/pattern.py b/saqc/core/modules/pattern.py
index 38d083945..56db5f852 100644
--- a/saqc/core/modules/pattern.py
+++ b/saqc/core/modules/pattern.py
@@ -6,7 +6,7 @@ from typing import Sequence, Tuple
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 
 
diff --git a/saqc/core/modules/resampling.py b/saqc/core/modules/resampling.py
index 9822bbd8b..e5996987a 100644
--- a/saqc/core/modules/resampling.py
+++ b/saqc/core/modules/resampling.py
@@ -9,7 +9,7 @@ from dios import DictOfSeries
 from typing_extensions import Literal
 
 from saqc.constants import *
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 from saqc.funcs.interpolation import _SUPPORTED_METHODS
 
diff --git a/saqc/core/modules/residues.py b/saqc/core/modules/residues.py
index 877323546..d0a03bac9 100644
--- a/saqc/core/modules/residues.py
+++ b/saqc/core/modules/residues.py
@@ -8,7 +8,7 @@ from dios import DictOfSeries
 from typing_extensions import Literal
 
 from saqc.constants import *
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 
 
diff --git a/saqc/core/modules/scores.py b/saqc/core/modules/scores.py
index a36e73d88..eafc44d09 100644
--- a/saqc/core/modules/scores.py
+++ b/saqc/core/modules/scores.py
@@ -8,7 +8,7 @@ import pandas as pd
 from dios import DictOfSeries
 from typing_extensions import Literal
 
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 
 
diff --git a/saqc/core/modules/tools.py b/saqc/core/modules/tools.py
index 7d3c39859..16a19bc0e 100644
--- a/saqc/core/modules/tools.py
+++ b/saqc/core/modules/tools.py
@@ -6,7 +6,7 @@ from typing import Optional, Tuple
 from dios import DictOfSeries
 from typing_extensions import Literal
 
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 
 
diff --git a/saqc/core/modules/transformation.py b/saqc/core/modules/transformation.py
index f85053fc5..ff94e0bbd 100644
--- a/saqc/core/modules/transformation.py
+++ b/saqc/core/modules/transformation.py
@@ -6,7 +6,7 @@ from typing import Callable, Optional, Union, Tuple
 import pandas as pd
 from dios import DictOfSeries
 
-from saqc import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.modules.base import ModuleBase
 
 
diff --git a/saqc/core/reader.py b/saqc/core/reader.py
index 32d5b6985..e5aa0bce9 100644
--- a/saqc/core/reader.py
+++ b/saqc/core/reader.py
@@ -2,19 +2,17 @@
 # -*- coding: utf-8 -*-
 
 import ast
-from saqc.core.core import ColumnSelector
-
 import numpy as np
-
 import pandas as pd
 
+from saqc.core.core import ColumnSelector
 from saqc.core.config import Fields as F
 from saqc.core.visitor import ConfigFunctionParser
 from saqc.core.lib import ConfigController
 from saqc.core.register import FUNC_MAP
-
 from saqc.lib.tools import isQuoted
 
+
 COMMENT = "#"
 EMPTY = "None"
 
diff --git a/saqc/core/register.py b/saqc/core/register.py
index 8cd859530..c3b3945fa 100644
--- a/saqc/core/register.py
+++ b/saqc/core/register.py
@@ -1,6 +1,5 @@
 #!/usr/bin/env python
-import logging
-from typing import Dict, Optional, Union, Tuple, List
+from typing import Dict, Optional, Union, Tuple
 from typing_extensions import Literal
 from functools import wraps
 import dataclasses
@@ -11,8 +10,8 @@ import warnings
 
 from saqc.constants import *
 from saqc.core.lib import SaQCFunction
+from saqc.core.flags import initFlagsLike, Flags as Flagger
 from saqc.lib.types import FuncReturnT
-from saqc.flagger.flags import Flagger, initFlagsLike
 
 # NOTE:
 # the global SaQC function store,
diff --git a/saqc/core/visitor.py b/saqc/core/visitor.py
index c517261e0..0fadf4878 100644
--- a/saqc/core/visitor.py
+++ b/saqc/core/visitor.py
@@ -2,7 +2,6 @@
 # -*- coding: utf-8 -*-
 
 import ast
-
 import numpy as np
 import pandas as pd
 
diff --git a/saqc/flagger/__init__.py b/saqc/flagger/__init__.py
deleted file mode 100644
index bbf082531..000000000
--- a/saqc/flagger/__init__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /usr/bin/env python
-# -*- coding: utf-8 -*-
-
-from .history import History
-from .flags import Flagger, initFlagsLike
diff --git a/saqc/funcs/breaks.py b/saqc/funcs/breaks.py
index 8f10e9b72..aede9d631 100644
--- a/saqc/funcs/breaks.py
+++ b/saqc/funcs/breaks.py
@@ -20,8 +20,7 @@ from saqc.constants import *
 from saqc.lib.tools import groupConsecutives
 from saqc.lib.types import FreqString, ColumnName, IntegerWindow
 from saqc.funcs.changepoints import assignChangePointCluster
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 
 
 @register(masking='field', module="breaks")
diff --git a/saqc/funcs/changepoints.py b/saqc/funcs/changepoints.py
index 4ef620f54..7c37b9ca1 100644
--- a/saqc/funcs/changepoints.py
+++ b/saqc/funcs/changepoints.py
@@ -12,9 +12,8 @@ from typing_extensions import Literal
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
 from saqc.lib.tools import customRoller
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 from saqc.lib.types import ColumnName, FreqString, IntegerWindow
 
 logger = logging.getLogger("SaQC")
diff --git a/saqc/funcs/constants.py b/saqc/funcs/constants.py
index 5d0b30804..a6b99a07c 100644
--- a/saqc/funcs/constants.py
+++ b/saqc/funcs/constants.py
@@ -10,8 +10,7 @@ import pandas as pd
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 from saqc.lib.ts_operators import varQC
 from saqc.lib.tools import customRoller, getFreqDelta
 from saqc.lib.types import FreqString, ColumnName
diff --git a/saqc/funcs/curvefit.py b/saqc/funcs/curvefit.py
index f77b75346..d48d7ae4e 100644
--- a/saqc/funcs/curvefit.py
+++ b/saqc/funcs/curvefit.py
@@ -9,9 +9,8 @@ import pandas as pd
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
+from saqc.core import register, Flags as Flagger
 from saqc.lib.tools import getFreqDelta
-from saqc.flagger import Flagger
 from saqc.lib.ts_operators import (
     polyRollerIrregular,
     polyRollerNumba,
diff --git a/saqc/funcs/drift.py b/saqc/funcs/drift.py
index 2dd2fe7c4..0892673a8 100644
--- a/saqc/funcs/drift.py
+++ b/saqc/funcs/drift.py
@@ -15,7 +15,7 @@ from scipy.spatial.distance import pdist
 
 from saqc.constants import *
 from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import Flags as Flagger
 from saqc.funcs.resampling import shift
 from saqc.funcs.changepoints import assignChangePointCluster
 from saqc.funcs.tools import drop, copy
diff --git a/saqc/funcs/flagtools.py b/saqc/funcs/flagtools.py
index 56c6a689c..db0ce930d 100644
--- a/saqc/funcs/flagtools.py
+++ b/saqc/funcs/flagtools.py
@@ -2,15 +2,12 @@
 # -*- coding: utf-8 -*-
 from typing import Any, Tuple, Optional, Union
 from typing_extensions import Literal
-
 import pandas as pd
-
 from dios import DictOfSeries
 
 from saqc.constants import *
 from saqc.lib.types import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 import warnings
 
 
diff --git a/saqc/funcs/generic.py b/saqc/funcs/generic.py
index b8677f199..095ae1eea 100644
--- a/saqc/funcs/generic.py
+++ b/saqc/funcs/generic.py
@@ -11,9 +11,8 @@ import pandas as pd
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
+from saqc.core import register, initFlagsLike, Flags as Flagger
 from saqc.core.visitor import ENVIRONMENT
-from saqc.flagger import Flagger, initFlagsLike
 
 import operator as op
 
diff --git a/saqc/funcs/interpolation.py b/saqc/funcs/interpolation.py
index a7880f4b0..9f3b985d7 100644
--- a/saqc/funcs/interpolation.py
+++ b/saqc/funcs/interpolation.py
@@ -1,18 +1,15 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
-import warnings
-from typing import Tuple, Union, Optional, Any, Callable, Sequence
+from typing import Tuple, Union, Callable
 from typing_extensions import Literal
-
 import numpy as np
 import pandas as pd
-
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register, _isflagged
-from saqc.flagger import Flagger
-from saqc.flagger.history import applyFunctionOnHistory
+from saqc.core import register, Flags as Flagger
+from saqc.core.register import _isflagged
+from saqc.core.history import applyFunctionOnHistory
 from saqc.lib.ts_operators import interpolateNANs
 
 _SUPPORTED_METHODS = Literal[
diff --git a/saqc/funcs/outliers.py b/saqc/funcs/outliers.py
index d8b2fcd26..e6f804be8 100644
--- a/saqc/funcs/outliers.py
+++ b/saqc/funcs/outliers.py
@@ -3,26 +3,18 @@
 
 from typing import Optional, Union, Tuple, Sequence, Callable
 from typing_extensions import Literal
-
+import numba
 import numpy as np
 import numpy.polynomial.polynomial as poly
-from scipy.optimize import curve_fit
 import pandas as pd
-import numba
-
-from outliers import smirnov_grubbs
-
 from dios import DictOfSeries
+from outliers import smirnov_grubbs
+from scipy.optimize import curve_fit
 
 from saqc.constants import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
-from saqc.lib.tools import (
-    customRoller,
-    findIndex,
-    getFreqDelta
-)
+from saqc.core import register, Flags as Flagger
 from saqc.lib.types import ColumnName, FreqString, IntegerWindow
+from saqc.lib.tools import customRoller, findIndex, getFreqDelta
 from saqc.funcs.scores import assignKNNScore
 import saqc.lib.ts_operators as ts_ops
 
diff --git a/saqc/funcs/pattern.py b/saqc/funcs/pattern.py
index 6562fd0d3..a51a157a4 100644
--- a/saqc/funcs/pattern.py
+++ b/saqc/funcs/pattern.py
@@ -9,8 +9,7 @@ from mlxtend.evaluate import permutation_test
 from dios.dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 from saqc.lib.tools import customRoller
 
 
diff --git a/saqc/funcs/resampling.py b/saqc/funcs/resampling.py
index 0a796d726..466bcf382 100644
--- a/saqc/funcs/resampling.py
+++ b/saqc/funcs/resampling.py
@@ -1,25 +1,22 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from typing import Callable, Tuple, Optional, Union, Any, Sequence
+from typing import Callable, Tuple, Optional, Union
 from typing_extensions import Literal
-
-import numpy as np
 import logging
-
+import numpy as np
 import pandas as pd
-
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register, _isflagged
-from saqc.flagger.history import applyFunctionOnHistory
-from saqc.flagger.flags import Flagger
-from saqc.funcs.tools import copy, drop, rename
-from saqc.funcs.interpolation import interpolateIndex, _SUPPORTED_METHODS
+from saqc.core import register, Flags as Flagger
+from saqc.core.register import _isflagged
+from saqc.core.history import applyFunctionOnHistory
 from saqc.lib.tools import evalFreqStr, getFreqDelta
 from saqc.lib.ts_operators import shift2Freq, aggregate2Freq
-from saqc.lib.rolling import customRoller
+from saqc.funcs.tools import copy, drop, rename
+from saqc.funcs.interpolation import interpolateIndex, _SUPPORTED_METHODS
+
 
 logger = logging.getLogger("SaQC")
 
diff --git a/saqc/funcs/residues.py b/saqc/funcs/residues.py
index 0b0046bea..b58c0cdf3 100644
--- a/saqc/funcs/residues.py
+++ b/saqc/funcs/residues.py
@@ -3,14 +3,11 @@
 
 from typing import Tuple, Union, Optional, Callable
 from typing_extensions import Literal
-
 import numpy as np
-
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 from saqc.funcs.rolling import roll
 from saqc.funcs.curvefit import fitPolynomial
 
diff --git a/saqc/funcs/rolling.py b/saqc/funcs/rolling.py
index 6d58dfbc6..6990bb72f 100644
--- a/saqc/funcs/rolling.py
+++ b/saqc/funcs/rolling.py
@@ -2,14 +2,12 @@
 # -*- coding: utf-8 -*-
 
 from typing import Union, Callable
-
 import numpy as np
 import pandas as pd
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 from saqc.lib.tools import getFreqDelta
 
 
diff --git a/saqc/funcs/scores.py b/saqc/funcs/scores.py
index 1f5d0456e..f1690e0fa 100644
--- a/saqc/funcs/scores.py
+++ b/saqc/funcs/scores.py
@@ -2,17 +2,14 @@
 # -*- coding: utf-8 -*-
 from typing import Union, Tuple, Callable, Sequence, Optional
 from typing_extensions import Literal
-
 import numpy as np
 import pandas as pd
-
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
-from saqc.lib import ts_operators as ts_ops
+from saqc.core import register, Flags as Flagger
 from saqc.lib.tools import toSequence
+import saqc.lib.ts_operators as ts_ops
 
 
 @register(masking='all', module="scores")
diff --git a/saqc/funcs/tools.py b/saqc/funcs/tools.py
index c2a451b95..4ac072016 100644
--- a/saqc/funcs/tools.py
+++ b/saqc/funcs/tools.py
@@ -3,14 +3,11 @@
 
 from typing import Optional, Tuple
 from typing_extensions import Literal
-
 import numpy as np
-
 from dios import DictOfSeries
 
 from saqc.constants import *
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 from saqc.lib.tools import periodicMask
 
 
diff --git a/saqc/funcs/transformation.py b/saqc/funcs/transformation.py
index 6a176b4a9..fbda3ea6f 100644
--- a/saqc/funcs/transformation.py
+++ b/saqc/funcs/transformation.py
@@ -2,14 +2,11 @@
 # -*- coding: utf-8 -*-
 
 from typing import Optional, Callable, Tuple, Union
-
 import numpy as np
 import pandas as pd
-
 from dios import DictOfSeries
 
-from saqc.core.register import register
-from saqc.flagger import Flagger
+from saqc.core import register, Flags as Flagger
 
 
 @register(masking='field', module="transformation")
diff --git a/saqc/lib/plotting.py b/saqc/lib/plotting.py
index 5f79f28bb..0543110c1 100644
--- a/saqc/lib/plotting.py
+++ b/saqc/lib/plotting.py
@@ -9,7 +9,7 @@ import dios
 import matplotlib.pyplot as plt
 from typing import List, Dict, Optional
 from saqc.constants import *
-from saqc.flagger import Flagger
+from saqc.core import Flags as Flagger
 
 
 def __importHelper():
diff --git a/saqc/lib/tools.py b/saqc/lib/tools.py
index 6edfb0471..1f15df6d0 100644
--- a/saqc/lib/tools.py
+++ b/saqc/lib/tools.py
@@ -12,9 +12,9 @@ import pandas as pd
 from scipy import fft
 import logging
 import dios
-
 import collections
 from scipy.cluster.hierarchy import linkage, fcluster
+
 from saqc.lib.types import T
 
 # keep this for external imports
diff --git a/saqc/lib/ts_operators.py b/saqc/lib/ts_operators.py
index 37d8253ab..b22973074 100644
--- a/saqc/lib/ts_operators.py
+++ b/saqc/lib/ts_operators.py
@@ -5,14 +5,11 @@
 The module gathers all kinds of timeseries tranformations.
 """
 import logging
-
 import re
 from typing import Union
-
 import pandas as pd
 import numpy as np
 import numba as nb
-
 from sklearn.neighbors import NearestNeighbors
 from scipy.stats import iqr, median_abs_deviation
 import numpy.polynomial.polynomial as poly
diff --git a/saqc/lib/types.py b/saqc/lib/types.py
index 9a437a2a9..29830a869 100644
--- a/saqc/lib/types.py
+++ b/saqc/lib/types.py
@@ -15,18 +15,18 @@ __all__ = [
 
 from typing import TypeVar, Union, NewType
 from typing_extensions import Protocol, Literal
-
 import numpy as np
 import pandas as pd
 from dios import DictOfSeries
-from saqc import Flagger
+from saqc.core.flags import Flags
+
 
 T = TypeVar("T")
 ArrayLike = TypeVar("ArrayLike", np.ndarray, pd.Series, pd.DataFrame)
 PandasLike = TypeVar("PandasLike", pd.Series, pd.DataFrame, DictOfSeries)
 DiosLikeT = Union[DictOfSeries, pd.DataFrame]
 
-FuncReturnT = [DictOfSeries, Flagger]
+FuncReturnT = [DictOfSeries, Flags]
 
 # we only support fixed length offsets
 FreqString = NewType("FreqString", Literal["D", "H", "T", "min", "S", "L", "ms", "U", "us", "N"])
@@ -36,6 +36,7 @@ ColumnName = NewType("ColumnName", str)
 IntegerWindow = NewType("IntegerWindow", int)
 TimestampColumnName = TypeVar("TimestampColumnName", bound=str)
 
+
 # needed for deeper typy hinting magic
 class CurveFitter(Protocol):
     def __call__(self, data: np.ndarray, *params: float) -> np.ndarray:
diff --git a/tests/common.py b/tests/common.py
index e225b6410..eddda827d 100644
--- a/tests/common.py
+++ b/tests/common.py
@@ -7,7 +7,7 @@ import pandas as pd
 import dios
 
 from saqc.constants import *
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.core import initFlagsLike, Flags as Flagger
 
 
 TESTNODATA = (np.nan, -9999)
diff --git a/tests/core/test_core.py b/tests/core/test_core.py
index b9773a473..c13f8a5b8 100644
--- a/tests/core/test_core.py
+++ b/tests/core/test_core.py
@@ -7,7 +7,7 @@ import numpy as np
 import pandas as pd
 
 from saqc.constants import *
-from saqc.flagger import initFlagsLike
+from saqc.core import initFlagsLike
 from saqc.funcs import flagRange
 from saqc.lib import plotting as splot
 from saqc import SaQC, register
diff --git a/tests/core/test_creation.py b/tests/core/test_creation.py
index b16714c8e..295d2adfc 100644
--- a/tests/core/test_creation.py
+++ b/tests/core/test_creation.py
@@ -6,7 +6,7 @@ import dios
 
 
 def test_init():
-    from saqc import SaQC, Flagger
+    from saqc import SaQC, Flags as Flagger
 
     arr = np.array([
         [0, 1, 2],
diff --git a/tests/flagger/test_flags.py b/tests/flagger/test_flags.py
index db40b7e6c..d0d1585bc 100644
--- a/tests/flagger/test_flags.py
+++ b/tests/flagger/test_flags.py
@@ -5,7 +5,7 @@ import numpy as np
 import pandas as pd
 
 from saqc.constants import *
-from saqc.flagger.flags import Flags
+from saqc.core.flags import Flags
 
 from tests.flagger.test_history import (
     History,
diff --git a/tests/flagger/test_history.py b/tests/flagger/test_history.py
index 5a95585c0..c85eceddd 100644
--- a/tests/flagger/test_history.py
+++ b/tests/flagger/test_history.py
@@ -4,7 +4,7 @@ import pytest
 import numpy as np
 import pandas as pd
 
-from saqc.flagger.history import History
+from saqc.core.history import History
 
 # see #GH143 combined backtrack
 # (adjusted to current implementation)
diff --git a/tests/funcs/test_constants_detection.py b/tests/funcs/test_constants_detection.py
index da7b83836..6fcde58d1 100644
--- a/tests/funcs/test_constants_detection.py
+++ b/tests/funcs/test_constants_detection.py
@@ -6,7 +6,7 @@ import numpy as np
 
 from saqc.constants import *
 from saqc.funcs.constants import flagConstants, flagByVariance
-from saqc.flagger import initFlagsLike
+from saqc.core import initFlagsLike, Flags as Flagger
 
 from tests.common import initData
 
diff --git a/tests/funcs/test_functions.py b/tests/funcs/test_functions.py
index 47c8ae9d2..06eef82da 100644
--- a/tests/funcs/test_functions.py
+++ b/tests/funcs/test_functions.py
@@ -4,7 +4,7 @@
 import dios
 
 from saqc.constants import *
-from saqc.flagger import initFlagsLike
+from saqc.core import initFlagsLike
 from saqc.funcs.drift import flagDriftFromNorm, flagDriftFromReference, flagDriftFromScaledNorm
 from saqc.funcs.outliers import flagCrossStatistic, flagRange
 from saqc.funcs.flagtools import flagManual, forceFlags, clearFlags
diff --git a/tests/funcs/test_generic_config_functions.py b/tests/funcs/test_generic_config_functions.py
index fe8242cd2..5b3a28cb5 100644
--- a/tests/funcs/test_generic_config_functions.py
+++ b/tests/funcs/test_generic_config_functions.py
@@ -8,7 +8,7 @@ import pandas as pd
 import dios
 
 from saqc.constants import *
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.core import initFlagsLike, Flags as Flagger
 from saqc.core.visitor import ConfigFunctionParser
 from saqc.core.config import Fields as F
 from saqc.core.register import register
diff --git a/tests/funcs/test_harm_funcs.py b/tests/funcs/test_harm_funcs.py
index 052d5f8da..3f0140bd6 100644
--- a/tests/funcs/test_harm_funcs.py
+++ b/tests/funcs/test_harm_funcs.py
@@ -6,7 +6,7 @@ import numpy as np
 import pandas as pd
 import dios
 
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.core import initFlagsLike, Flags as Flagger
 from saqc.constants import BAD, UNFLAGGED
 from saqc.funcs.resampling import (
     linear,
diff --git a/tests/funcs/test_modelling.py b/tests/funcs/test_modelling.py
index 248c12246..95574936a 100644
--- a/tests/funcs/test_modelling.py
+++ b/tests/funcs/test_modelling.py
@@ -7,7 +7,7 @@
 import dios
 
 from saqc import BAD, UNFLAGGED
-from saqc.flagger import initFlagsLike
+from saqc.core import initFlagsLike
 from saqc.funcs.tools import mask
 from saqc.funcs.residues import calculatePolynomialResidues, calculateRollingResidues
 
diff --git a/tests/funcs/test_pattern_rec.py b/tests/funcs/test_pattern_rec.py
index b434e3c24..db3c50249 100644
--- a/tests/funcs/test_pattern_rec.py
+++ b/tests/funcs/test_pattern_rec.py
@@ -6,7 +6,7 @@ import pandas as pd
 import dios
 
 from saqc.constants import *
-from saqc.flagger import initFlagsLike
+from saqc.core import initFlagsLike
 from saqc.funcs.pattern import *
 from tests.common import initData
 
diff --git a/tests/funcs/test_proc_functions.py b/tests/funcs/test_proc_functions.py
index d9d137359..04739b40b 100644
--- a/tests/funcs/test_proc_functions.py
+++ b/tests/funcs/test_proc_functions.py
@@ -7,7 +7,7 @@
 import dios
 
 from saqc.constants import *
-from saqc.flagger import initFlagsLike
+from saqc.core import initFlagsLike
 from saqc.funcs.transformation import transform
 from saqc.funcs.drift import correctOffset
 from saqc.funcs.interpolation import interpolateByRolling, interpolateInvalid, interpolateIndex
diff --git a/tests/funcs/test_spikes_detection.py b/tests/funcs/test_spikes_detection.py
index faa256068..727ef4157 100644
--- a/tests/funcs/test_spikes_detection.py
+++ b/tests/funcs/test_spikes_detection.py
@@ -13,7 +13,7 @@ from saqc.funcs.outliers import (
     flagByGrubbs,
 )
 from saqc.constants import *
-from saqc.flagger import initFlagsLike
+from saqc.core import initFlagsLike
 
 
 @pytest.fixture(scope="module")
diff --git a/tests/fuzzy/init.py b/tests/fuzzy/init.py
index ad93f02c6..4096823b5 100644
--- a/tests/fuzzy/init.py
+++ b/tests/fuzzy/init.py
@@ -25,7 +25,7 @@ from saqc.constants import *
 from saqc.core.register import FUNC_MAP
 from saqc.core.lib import SaQCFunction
 from saqc.lib.types import FreqString, ColumnName, IntegerWindow
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.core import initFlagsLike, Flags as Flagger
 
 MAX_EXAMPLES = 50
 # MAX_EXAMPLES = 100000
diff --git a/tests/fuzzy/test_masking.py b/tests/fuzzy/test_masking.py
index cc7637099..9567ea7f8 100644
--- a/tests/fuzzy/test_masking.py
+++ b/tests/fuzzy/test_masking.py
@@ -8,7 +8,7 @@ import pandas as pd
 from hypothesis import given, settings
 
 from saqc.constants import *
-from saqc.flagger import Flagger
+from saqc.core import Flags as Flagger
 from saqc.core.register import _maskData, _unmaskData
 
 from tests.fuzzy.init import dataFieldFlagger, MAX_EXAMPLES
-- 
GitLab