Dakota Reference Manual: pybind11

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
pybind11

Interface directly to a Python simulation via pybind11 - requires special Dakota build

## Specification

Alias: none

Argument(s): none

## Description

Dakota supports a library-linked interface to Python using the pybind11 C++ API, but it must be explicitly enabled when compiling Dakota from source. This is an emerging capability currently intended to work with a top-level Dakota Python module instantiated from Python, together with one or more registered Python callback functions. The name of the callback function used to map parameters to responses is the argument in the analysis_drivers specification. List data structures are passed to the specified Python callback function with responses expected to be populated therein.

Usage Tips This is a new capability which should be considered preliminary with limitations, e.g., poor handling of the Global Interpreter Lock can produce failures on Mac platforms.

## Examples

See `dakota_src/src/unit_test/test_dakota.py`