bayesian-optimization
Bayesian Optimization package
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and uses permissive MIT licensing. It is well-suited for anyone optimizing expensive functions where reducing the number of evaluations matters. The dependency chain (numpy, scipy, scikit-learn) is standard and stable. Start with it if you need Bayesian optimization; the API is straightforward.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with pure Python wheels.
- Actively maintained as of 76 days ago, supports Python 3.9 through 3.14, and depends on well-established scientific libraries (numpy, scipy, scikit-learn).
License · maintenance · safety
permissive license (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and proprietary projects.
last release 2026-05-30 (76 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 789,659 downloads/mo, #5,053 on PyPI
Alternatives
Verify before relying
pip install bayesian-optimization
from bayesian_optimization import BayesianOptimization
def black_box_function(x, y):
return -x**2 - (y - 1)**2 + 1
optimizer = BayesianOptimization(
f=black_box_function,
pbounds={'x': (2, 4), 'y': (-3, 3)},
random_state=1,
)
optimizer.maximize(init_points=2, n_iter=3)
print(optimizer.max)- Whether the package handles multi-objective optimization or only single-objective maximization
- Performance characteristics on high-dimensional parameter spaces (scalability limits)
- Whether parallel or distributed evaluation of the objective function is supported
What it is and what it does
Bayesian Optimization is a constrained global optimization library that finds the maximum of an unknown function by constructing a posterior distribution (Gaussian process) of candidate functions and iteratively selecting the most promising parameter combinations to evaluate. It is designed for scenarios where evaluating the objective function is computationally expensive or time-consuming—such as hyperparameter tuning for machine learning models, experimental design, or simulation-based optimization.
The package works by fitting a Gaussian Process to previously observed function evaluations, then using an acquisition function (such as Upper Confidence Bound or Expected Improvement) to decide which parameters to try next. This approach reduces the number of function evaluations needed compared to grid search or random search. It supports bounded parameter spaces, random initialization phases to diversify exploration, and access to both the best result found and the full history of all trials.
Use it for
- Tune hyperparameters of machine learning models when cross-validation is expensive
- Optimize expensive simulations or physical experiments with limited budget for trials
- Find optimal configuration parameters for systems where evaluation is time-consuming
- Explore high-dimensional parameter spaces where grid or random search is infeasible
- Balance exploration vs. exploitation in sequential decision-making problems
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, installs with low friction, and uses permissive MIT licensing. It is well-suited for anyone optimizing expensive functions where reducing the number of evaluations matters. The dependency chain (numpy, scipy, scikit-learn) is standard and stable. Start with it if you need Bayesian optimization; the API is straightforward.
Install
bayesian-optimization on PyPI
Before you install
Low friction install with pure Python wheels. Actively maintained as of 76 days ago, supports Python 3.9 through 3.14, and depends on well-established scientific libraries (numpy, scipy, scikit-learn).
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and proprietary projects.
Quickstart
pip install bayesian-optimization
from bayesian_optimization import BayesianOptimization
def black_box_function(x, y):
return -x**2 - (y - 1)**2 + 1
optimizer = BayesianOptimization(
f=black_box_function,
pbounds={'x': (2, 4), 'y': (-3, 3)},
random_state=1,
)
optimizer.maximize(init_points=2, n_iter=3)
print(optimizer.max)
Verify before relying
- Whether the package handles multi-objective optimization or only single-objective maximization
- Performance characteristics on high-dimensional parameter spaces (scalability limits)
- Whether parallel or distributed evaluation of the objective function is supported
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagescoloramanumpypackagingscikit-learnscipy |
| Maintenance | Actively maintained 76 days since the last release |
| First released | |
| Downloads | 789,659 / month, #5,053 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: bayesian_optimization-3.3.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “gaussian process optimization”
- bayesian-optimizationBayesian optimization using Gaussian processes to find the maximum of…
- botorchBoTorch provides a modular, PyTorch-based framework for building…
- scikit-optimizeScikit-Optimize is a library for optimizing expensive, noisy…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also botorch · scikit-optimize · hyperopt · ax-platform · keras-tuner · ConfigSpace · lmfit · pymc · k-means-constrained · cma