.. _dependencies: Dependencies ============ Optimas relies on the following packages: * `jinja2 `_ - Needed to generate simulation scripts from templates. * `libEnsemble `_ - The backbone of optimas, orchestrates the concurrent evaluation of simulations, the resource detection and allocation, and the communication between simulations and manager. * `mpi4py `_ - Python bindings for MPI. Required for launching parallel simulations. * `pandas `_ - Enable output as pandas DataFrames. * `pydantic `_ - Input validation and object serialization. * (optional) `Ax `_ - Algorithms for Bayesian optimization. The installed dependencies will determine which generators are available for use. See table below for a summary. .. list-table:: Available generators and their dependencies :widths: 35 25 25 :header-rows: 1 * - Generator - ``pip install optimas`` - ``pip install 'optimas[all]'`` * - :class:`~optimas.generators.LineSamplingGenerator` - ✅ - ✅ * - :class:`~optimas.generators.GridSamplingGenerator` - ✅ - ✅ * - :class:`~optimas.generators.RandomSamplingGenerator` - ✅ - ✅ * - :class:`~optimas.generators.AxSingleFidelityGenerator` - ❌ - ✅ * - :class:`~optimas.generators.AxMultiFidelityGenerator` - ❌ - ✅ * - :class:`~optimas.generators.AxMultitaskGenerator` - ❌ - ✅ * - :class:`~optimas.generators.AxClientGenerator` - ❌ - ✅