31 optimizers, one API: swap algorithms without touching your experiment code
Hyperactive abstracts away the mess of hyperparameter tuning by separating what you optimize from how you optimize it.

What it does
Hyperactive is a Python library that wraps 31 optimization algorithms from three backends—its own GFO collection, Optuna, and scikit-learn—behind a single experiment-based interface. You define your objective and search space once, then swap hill climbing for Bayesian optimization or particle swarm by changing one line.
The interesting bit
The “experiment” abstraction is the quiet workhorse. Instead of rewriting boilerplate every time you switch from tuning an SVM to optimizing a PyTorch learning rate, you pass the same experiment object to any optimizer. The library also folds in first-class integrations for scikit-learn, sktime/skpro, and PyTorch, so “minimal setup” actually means minimal setup.
Key highlights
- 31 algorithms across GFO (21), Optuna (8), and sklearn (2) backends
- Native
OptCVandSklearnCvExperimentwrappers for scikit-learn pipelines - Time-series support via sktime/skpro with
ForecastingOptCV - Search spaces defined as plain NumPy arrays or Python lists—no custom DSL
- 5+ years of development with test coverage badges to match
Caveats
- The PyTorch example in the README is truncated mid-code-block, so the exact integration surface is unclear without reading the docs
- Only 550 stars despite the long development history, so community momentum is modest
Verdict
Worth a look if you’re tired of rewriting tuning boilerplate every time your optimizer of choice falls over. Skip it if you’re already happily married to Optuna or Ray Tune and don’t need the backend-agnostic abstraction.