SaQC - Object Merge
During the workshop and based on !168 (closed) we developed a new idea for function chaining as proposed/requested in #118 (closed).
The basic idea is as follows: We expose a fork
-merge
workflow for SaQC
Objects, that allows to simply create object copies, work on such copies through the usual API, and later merge the relevant changes back. That way we don't have to implement workarounds and (likely) gain a lot of flexibility.
The following moving parts a necessary:
- A
merge
-method in the classSaQC
with the following basic signature:SaQC.merge(self: SaQC, other: SaQC) -> SaQC
- A way to only merge certain variables from
other
intoself
. This could be achived through additional parameters tomerge
(e.g.source
andtarget
) or through object assignments (e.g.self[["var1", "var2"]] = other[["var2", "tmp"]]
) - An extension of the config syntax. The following solution was discussed:
varname ; test #------ ; ---- var1 ; flagRange(var1) , flagRange(var2), flagGeneric(var1, func=((var1+var2)/2) < var2))
test
triggers afork
-merge
workflow implicitly. Currently such functionality is missing, as well as the possibility to explicitly passfield
arguments to tests through the config. I have not yet tried to implement this, but I am quit confident, that it will work out.
Any additional comment or things that I forget over the holiday season @luenensc and @palmb ?