skillfed

scikit-optimize

Sequential model-based optimization toolbox.

scikit-optimize v0.10.2 810.5K downloads/30d#5,008 on PyPI24
Permissive license BSD 3-clause DORMANT released

What it is and what it does

Scikit-Optimize implements sequential model-based optimization for functions that are expensive to evaluate, noisy, or lack gradient information. It builds on numpy, scipy, and scikit-learn to provide methods like Gaussian process minimization that iteratively suggest promising parameter values, evaluate them, and refine the model. The library is designed for hyperparameter tuning, experimental design, and other settings where you need to find good inputs without access to derivatives or with high evaluation cost.

The package offers both high-level functions for simple use cases and lower-level Optimizer classes for fine-grained control over the optimization loop. It includes plotting utilities for visualizing the objective function landscape and optimization progress, available via an optional extra that adds matplotlib.

Use it for:

  • Tune machine learning model hyperparameters when grid or random search is too slow
  • Optimize expensive simulation or experimental parameters with noisy outcomes
  • Find optimal configurations for systems where each evaluation takes significant time or resources
  • Explore high-dimensional parameter spaces without gradient information
  • Visualize and understand objective function behavior across parameter ranges

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Scikit-Optimize is a library for optimizing expensive, noisy black-box functions using sequential model-based optimization methods, without requiring gradients.

Yes, with caution on maintenance. Scikit-Optimize is a solid, permissively licensed tool for black-box optimization with low install friction and no known vulnerabilities. However, the last release was 801 days ago and maintenance is dormant. If your use case is stable and you do not need recent dependency updates or bug fixes, it is safe to use; if you need active support or compatibility with the latest Python or dependency versions, verify that the fork's current state meets your needs before committing.

Install

scikit-optimize on PyPI

pip

pip install scikit-optimize

uv

uv add scikit-optimize

poetry

poetry add scikit-optimize

Installing scikit-optimize

Before you install

Low install friction with a pure-Python wheel distribution. Maintenance is dormant—the last release was 801 days ago, though the repository remains active and the maintainer has PyPI credentials. Dependencies are stable and well-established (joblib, numpy, scipy, scikit-learn).

License in practice

BSD 3-clause permissive license allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.

Quickstart

pip install scikit-optimize

import numpy as np
from scikit-optimize import gp_minimize

def f(x):
    return (numpy.sin(5 * x[0]) * (1 - numpy.tanh(x[0] ** 2)) +
            numpy.random.randn() * 0.1)

res = gp_minimize(f, [(-2.0, 2.0)])

Verify before relying

  • Whether the dormant maintenance status (801 days since last release) affects compatibility with recent Python or dependency versions
  • Current state of open issues and pull requests on the fork repository
  • Whether plotting functionality requires explicit installation of the [plots] extra

Package facts

License BSD 3-clause (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 6 — joblib, pyaml, numpy, scipy, scikit-learn, packaging
Maintenance dormant — 801 days since the last release
Last repo commit
First released
Downloads 810,537/month — #5,008 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: scikit_optimize-0.10.2-py2.py3-none-any.whl

Intended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development

Tags

black-box function optimizationbayesian optimization libraryexpensive function minimizationsequential model-based optimizationnoisy objective function tuninghyperparameter optimizationgaussian process optimization
optimizationhyperparameter-tuningbayesian-methods

More Software Development packages