The current framework is built to be made usable with scikit-learn . This does have some limitations, all extra modules that are passed need to have a clone implemented. Also the train/test split that currently happens in cross validation, is not useful as there is no actual “fit” that is happening, the problem is more of a function optimisation rather than a hyperparameter search.
This problem could be more suitable to a framework like optuna/hyperopt.