Skip to content

Remove public make_algorithm and make_tool instances

Niklas Stefan Nolte requested to merge NN_enableOverwritingOutputs into master

Since the beginning of time, one could enjoy all the features of the moore algorithm wrapper by importing from PyConf.Algorithms instead of Configurables.
When calling this wrapper, one could overwrite default behaviour by just giving kwargs of ones liking.

>>> from PyConf.Algorithms import Gaudi__Examples__IntDataProducer as IDP
>>> x = IDP(OutputLevel=50)
>>> x.properties
OrderedDict([('OutputLevel', 50)])

However, if one tried the same thing with the keywords outputs or input(output)_transform, one would get a failure, because they were explicitly forwarded in make_algorithm.

This critical bug will be resolved with this MR. 🏆

Because objects imported from Algorithms can now be configured with all Algorithm arguments, there's no need for make_algorithm to be public, so this is hidden in the Algorithms module and all uses from Moore have been converted to using PyConf.Algorithms. Same goes for Tools and make_tools.

Edited by Alex Pearce

Merge request reports