skillfed

carolina

Python wrapper around Dakota

carolina v2.0.5 95.4K downloads/30d#13,267 on PyPI
Permissive license Apache-2.0 Active released

What it is and what it does

Carolina provides a Python interface to Dakota, a Sandia National Laboratories toolkit for design optimization, parameter studies, and uncertainty quantification. It is a maintained fork of pyDAKOTA by Equinor, designed to simplify wrapping Dakota in Python without requiring MPI support. The package depends on numpy and requires Dakota and Boost libraries to be pre-installed on your system.

You use Carolina when you need to run Dakota-based workflows—such as design space exploration, sensitivity analysis, or surrogate model construction—from within Python code. The installation requires careful setup of system dependencies (Boost, Dakota, CMake, C/C++ compiler), but once configured, it allows direct Python access to Dakota's optimization and UQ algorithms. It supports Python 3.12, 3.13, and 3.14.

Use it for:

  • Run design optimization studies where Dakota explores parameter spaces to find optimal designs
  • Perform uncertainty quantification and sensitivity analysis on computational models
  • Build surrogate models or metamodels from expensive simulation runs
  • Conduct parameter studies to understand how model outputs vary across input ranges
  • Integrate Dakota-based workflows into larger Python data science or engineering pipelines

Worth the install?

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

Carolina is a Python wrapper around Dakota, a design optimization and uncertainty quantification toolkit, enabling Python developers to use Dakota's capabilities without MPI support.

Yes, if you already use Dakota and want a Python interface without MPI overhead, and you are willing to manage system dependencies (Boost, Dakota, compilers). No, if you need a lightweight, pure-Python optimization library or lack the system-level build infrastructure. The package is actively maintained and has no known vulnerabilities, but installation complexity is the primary barrier.

Install

carolina on PyPI

pip

pip install carolina

uv

uv add carolina

poetry

poetry add carolina

Installing carolina

Before you install

Medium install friction: requires pre-installed Boost (with Boost.Python) and Dakota libraries, plus CMake and a C/C++ compiler. Pre-built wheels are available for Python 3.12, 3.13, and 3.14 on Linux and macOS, but building from source involves complex multi-step compilation. Package is actively maintained.

License in practice

Apache-2.0 is permissive, allowing commercial and private use with minimal restrictions; you must retain license notices in distributions.

Quickstart

pip install carolina
import carolina
# Use carolina to interface with Dakota for optimization or UQ tasks

Requires Dakota 6.18+ and Boost libraries to be installed and discoverable; dakota binary must be on system PATH; environment variables BOOST_ROOT and BOOST_PYTHON may need to be set depending on your system.

Verify before relying

  • Whether pre-built wheels work out-of-the-box or require additional system libraries beyond pip install
  • Specific Dakota versions tested and guaranteed to work beyond the stated 6.18 minimum
  • Performance characteristics or scalability limits for large parameter studies

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.12)
Install friction medium — platform-specific wheel
Runtime dependencies 1 — numpy
Maintenance actively maintained — 50 days since the last release
First released
Downloads 95,353/month — #13,267 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: carolina-2.0.5-cp312-cp312-macosx_15_0_arm64.whl; carolina-2.0.5-cp312-cp312-manylinux_2_28_x86_64.whl; carolina-2.0.5-cp313-cp313-macosx_15_0_arm64.whl; carolina-2.0.5-cp313-cp313-manylinux_2_28_x86_64.whl; carolina-2.0.5-cp314-cp314-macosx_15_0_arm64.whl; carolina-2.0.5-cp314-cp314-manylinux_2_28_x86_64.whl

Intended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

dakota python wrapperdesign optimization pythonuncertainty quantificationsensitivity analysisparameter study toolsurrogate modelingoptimization framework
optimizationuncertainty-quantificationdakota-wrapper

More Scientific/Engineering packages