Hyperopt is a Python library for serial and parallel optimization over awkward search spaces, which may include real-valued, discrete, and conditional dimensions.
Features
the objective function to minimize the space over which to search the database in which to store all the point evaluations of the search the search algorithm to use