carolina
Python wrapper around Dakota
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- 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.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is permissive, allowing commercial and private use with minimal restrictions; you must retain license notices in distributions.
last release 2026-06-25 (50 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 95,353 downloads/mo, #13,267 on PyPI
Alternatives
Verify before relying
pip install carolina
import carolina
# Use carolina to interface with Dakota for optimization or UQ tasks- 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
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 on it.
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
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.
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.
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
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 packagenumpy |
| 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 |
| Classifiers | Intended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.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
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 › “parameter study tool”
- carolinaCarolina is a Python wrapper around Dakota, a design optimization and…
- optuna-dashboardProvides a real-time web dashboard for visualizing and monitoring…
- fsrsImplements the Free Spaced Repetition Scheduler algorithm to…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also ropt-dakota · MAPIE · botorch · fckitlib · mpich · mpi4py · whylogs-sketching · casadi · AeroSandbox · impi-rt