diff --git a/saqc/__init__.py b/saqc/__init__.py index 97de09a3958ccfba1254b72fb8840ad742d550f1..0c2bb6d4b68a2234e708e40fc693af29724a7826 100644 --- a/saqc/__init__.py +++ b/saqc/__init__.py @@ -3,7 +3,8 @@ __version__ = "1.4" -from saqc.core.core import SaQC +# import order: from small to big from saqc.common import * from saqc.flagger import * from saqc.core.register import register +from saqc.core.core import SaQC diff --git a/saqc/common.py b/saqc/common.py index 21010a0c678d5be5525e0e1599024bd4005682f0..9d4e3d504738717c230e30c9e445a04f2089ec72 100644 --- a/saqc/common.py +++ b/saqc/common.py @@ -1,8 +1,17 @@ #!/usr/bin/env python -from numpy import nan as _nan +__all__ = [ + "UNTOUCHED", + "UNFLAGGED", + "DOUBTFUL", + "BAD", + "GOOD", + "DOUBT", +] -UNTOUCHED = _nan +import numpy as np + +UNTOUCHED = np.nan UNFLAGGED = 0 DOUBTFUL = 25 BAD = 255 @@ -10,3 +19,5 @@ BAD = 255 # aliases GOOD = UNFLAGGED DOUBT = DOUBTFUL + + diff --git a/saqc/core/__init__.py b/saqc/core/__init__.py index 2f42342431e06979befbf39bbdf2e300b38ef2aa..097236acb6ecd8511ca716cb2b5206a8f00cdb80 100644 --- a/saqc/core/__init__.py +++ b/saqc/core/__init__.py @@ -1,5 +1,5 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- -from saqc.core.core import SaQC, logger from saqc.core.register import register +from saqc.core.core import SaQC, logger diff --git a/saqc/flagger/__init__.py b/saqc/flagger/__init__.py index e5a86852f8f1081755313450cc311398bda62957..bbf08253176273442cab40eaf62b886816403329 100644 --- a/saqc/flagger/__init__.py +++ b/saqc/flagger/__init__.py @@ -1,5 +1,5 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- -from .flags import Flagger, initFlagsLike from .history import History +from .flags import Flagger, initFlagsLike diff --git a/saqc/funcs/changepoints.py b/saqc/funcs/changepoints.py index b6e3f8aa435197e57e8b9f95ab6978d8b1126d90..f7234aa6f3a9e55cfabbdf03a21d008d3c27bbe4 100644 --- a/saqc/funcs/changepoints.py +++ b/saqc/funcs/changepoints.py @@ -11,6 +11,7 @@ from typing_extensions import Literal from dios import DictOfSeries +from saqc.common import * from saqc.core.register import register from saqc.lib.tools import customRoller from saqc.flagger import Flagger diff --git a/saqc/funcs/flagtools.py b/saqc/funcs/flagtools.py index 364256e2926c49ef87f5c092b34a838144c5631a..40efed0f373d5866c6f5c2241e651b3ccca76dd5 100644 --- a/saqc/funcs/flagtools.py +++ b/saqc/funcs/flagtools.py @@ -8,11 +8,11 @@ import pandas as pd from dios import DictOfSeries from saqc.common import * +from saqc.lib.types import * from saqc.core.register import register from saqc.flagger import Flagger - @register(masking='field', module="flagtools") def clearFlags(data: DictOfSeries, field: ColumnName, flagger: Flagger, **kwargs) -> Tuple[DictOfSeries, Flagger]: flagger = flagger.clearFlags(field, **kwargs) diff --git a/saqc/lib/types.py b/saqc/lib/types.py index 650bfb0e779397b26e12b24710536b7ec1df0a3c..9a437a2a91f4574031b084f69d3e9ab6a6099d98 100644 --- a/saqc/lib/types.py +++ b/saqc/lib/types.py @@ -1,5 +1,17 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- +__all__ = [ + 'T', + 'ArrayLike', + 'PandasLike', + 'DiosLikeT', + 'FuncReturnT', + 'FreqString', + 'ColumnName', + 'IntegerWindow', + 'TimestampColumnName', + 'CurveFitter', +] from typing import TypeVar, Union, NewType from typing_extensions import Protocol, Literal @@ -7,13 +19,14 @@ from typing_extensions import Protocol, Literal import numpy as np import pandas as pd from dios import DictOfSeries +from saqc import Flagger 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 = [dios.DictOfSeries, Flagger] +FuncReturnT = [DictOfSeries, Flagger] # we only support fixed length offsets FreqString = NewType("FreqString", Literal["D", "H", "T", "min", "S", "L", "ms", "U", "us", "N"])