SaQC-Object methods
With !208 (merged) we got a module like structure into our test functions. This is good and intended but also sort of wordy at times. To make things a bit more convenient on the API/config side of things, I'd like to elevate some functions to the SaQC
-Object. I think all the 'easy' stuff like flagRange
would benefit from a direct access, so that we gain back saqc.flagRange()
(instead of always saqc.outliers.flagRange
). I would also suggest to bring some of the tools
functions higher up, as I think especially copy
and rename
are under used and could help solve quite a few of the usecases we either did (source-target) or planned to provide syntax/parameters for.
To sum things up, I suggest to:
- convert at most one function from every flagging module (saqc.func) to a
SaQC
-method. If they should also remain in there respective package (i.e. whetherflagRange
is available assaqc.flagRange
only or also assaqc.outliers.flagRange
) is up for discussion - move some/all function manipulating the 'shape' of
data
and/orflags
to theSaQC
Object (e.g.tools.copy
,tools.rename
) - maybe also convert index altering functions to
SaQC
-methods (maybe the functions infuncs.resampling
)
My main argument is: With !208 (merged) we got ordering, but lost usability/discoverability and as real-world usage is at least as important as conceptional clarity, I'd like to search for a nice middle ground.