Skip to main content

Carolina

License PyPI - Python Version PyPI version Platform

Carolina is a pyDAKOTA fork maintained by Equinor. Its raison d'être is to have easier building of a Python Dakota wrapper, without any MPI support. Carolina supports Python version 3.11, 3.12, 3.13 and 3.14.

Installation

For Linux and MacOS:

pip install carolina

Otherwise, build Carolina youself as described below.

Building and installing Carolina

In order to build Carolina, Boost, including Boost.Python, and Dakota must be installed. This requires CMake and a C/C++ compiler. It is recommended to check the build scripts at .github/workflows/bundle_with_dakota_* where the full installation is described. The installation will likely vary across different operating systems. Roughly speaking, the following steps must be done:

  1. Install CMAKE

  2. Install Boost with correct python version (NOTE: you may need to edit the python version into the project-config.jam if on MacOS, see the excerpt from the MacOS install script below)

    python_version=$(python --version | sed -E 's/.*([0-9]+\.[0-9]+)\.([0-9]+).*/\1/')
    python_bin_include_lib="    using python : $python_version : $(python -c "from sysconfig import get_paths as gp; g=gp(); print(f\"$(which python) : {g['include']} : {g['stdlib']} ;\")")"
    sed -i '' "s|.*using python.*|$python_bin_include_lib|" project-config.jam
    
  3. Install dakota

    • after downloading, replace <DAKOTA_VERSION> with the dakota version, for example 6.18
    • In order to install Dakota to a specific folder, use -DCMAKE_INSTALL_PREFIX="<INSTALL_DIR>" as part of the cmake invocation.
    cd dakota-<DAKOTA_VERSION>-public-src-cli
    mkdir -p build
    cd build
    cmake \
        -DCMAKE_CXX_STANDARD=14 \
        -DBUILD_SHARED_LIBS=ON \
        -DDAKOTA_PYTHON_DIRECT_INTERFACE=ON \
        -DDAKOTA_PYTHON_DIRECT_INTERFACE_NUMPY=ON \
        -DDAKOTA_DLL_API=OFF \
        -DHAVE_X_GRAPHICS=OFF \
        -DDAKOTA_ENABLE_TESTS=OFF \
        -DDAKOTA_ENABLE_TPL_TESTS=OFF \
        -DCMAKE_BUILD_TYPE='Release' \
        -DDAKOTA_NO_FIND_TRILINOS:BOOL=TRUE \
        ..
    make -j4 install
    

    This step is the one that might be the most tricky to get working on your local OS. It expects a number of packages to be found, including libgfortran, eigen, lapack, numpy, and for the appropriate libraries to be on LD_LIBRARY_PATH(linux)/DYLD_LIBRARY_PATH(MacOS). Build errors often arise from (1) the package not being installed or (2) library folders/files of the installed package not being on the library path (LD_LIBRARY_PATH for linux or DYLD_LIBRARY_PATH for MacOS).

  4. After installing Dakota, it is possible to run pip install . as it will look for the following environment variables:

  • The BOOST_ROOT environment variable can be set to the location of the boost library containing the folders include and lib, if they are not already included globally.

  • The BOOST_PYTHON can be set if a given version of boost_python is needed. For instance if Python 3.8 is to be used:

        export BOOST_PYTHON=boost_python38
    

    By default the installation script will try to guess the boost_python version from the minor version of Python, i.e. for Python 3.10, it will try boost_python310.

  • It also expects dakota binary executable to be on the system PATH. To verify this, see if you can type dakota in the terminal and run it without errors. Then, try start up python and see if you can import dakota. If these two "tests" pass, you should be able to install Carolina.

Carolina can then be installed with:

    pip install .

The library can then be tested by entering the tests directory and execute:

    pytest

In the case of testing newer versions of Dakota, scripts can be found in the script folder.

Carolina requires Dakota 6.18, but will work with older versions as well. Pathes can be reverted to allow for building against versions prior to 6.13 or 6.16.

From Dakota version 6.13 a different set of boost libraries is needed: instead of boost_signals, boost_program_options is used. From Dakota version 6.16 a small change was made in the Python interface. From Dakota version 6.18 a file was removed from the source and build script was altered.

Metadata

Release files for carolina 2.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for carolina 2.0.5
File
carolina-2.0.5-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
carolina-2.0.5-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
carolina-2.0.5-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
carolina-2.0.5-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
carolina-2.0.5-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
carolina-2.0.5-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details

Total release size: 177.8 MB

Release files / carolina-2.0.5-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL carolina-2.0.5-cp314-cp314-manylinux_2_28_x86_64.whl
Size 35.8 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5cbbffc60af44ee4472978882a2435499f209e36a5c093bc5e35e157571c43e6
BLAKE2b-256 checksum
How to use checksums
ef8044eddce1afc27a219d9452be06dc37f1d57f4c6295f673742f18a1c358a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / carolina-2.0.5-cp314-cp314-macosx_15_0_arm64.whl

Download URL carolina-2.0.5-cp314-cp314-macosx_15_0_arm64.whl
Size 23.5 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
f256740ad3ef7848a98bc748a4378efbae9eefd2b5c0674dad8c88010a965fa2
BLAKE2b-256 checksum
How to use checksums
b36149bf3b740d949a16b5db7d21d44287011f5a11e00897cd635d9f12a5a7af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / carolina-2.0.5-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL carolina-2.0.5-cp313-cp313-manylinux_2_28_x86_64.whl
Size 35.8 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f1a4a864e27113f4cfb9250bb0cb17cc1c92a716779007d6cbcab8efce6b3db6
BLAKE2b-256 checksum
How to use checksums
fb90da5163de81918d2c242c478179a10317165e81437dc093b58974ce56a11c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / carolina-2.0.5-cp313-cp313-macosx_15_0_arm64.whl

Download URL carolina-2.0.5-cp313-cp313-macosx_15_0_arm64.whl
Size 23.5 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
480d3725cf1801902793a6cf07d1714afc0ff95f04cd79a4a5e442612a86b471
BLAKE2b-256 checksum
How to use checksums
ba0f0e830a6f13e925c42c686edeb9024173fd5e66c87084b32b9c59c1ba01b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / carolina-2.0.5-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL carolina-2.0.5-cp312-cp312-manylinux_2_28_x86_64.whl
Size 35.8 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dd74806ae4ef1c3e68daa4966d9606d8745c7607610157e17b39084e0be2b818
BLAKE2b-256 checksum
How to use checksums
734cbd24ec0d05b3c3e53ba9c6891ed3cee64ccf8df7bb4bfb3f3279ad0a81f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / carolina-2.0.5-cp312-cp312-macosx_15_0_arm64.whl

Download URL carolina-2.0.5-cp312-cp312-macosx_15_0_arm64.whl
Size 23.5 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
c9abd6c673a3651bf46ef70208bc542a3b4a80265a761e2576fcecc2925b2c2b
BLAKE2b-256 checksum
How to use checksums
e9f53bc7cfbf808b6bbfab8a2f7c92d0ede321905a4800747d748747d70ab467
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

2.0.5 This release

6 release files

2.0.4

8 release files

2.0.3

8 release files

2.0.2

6 release files

2.0.0

4 release files

1.0.16

4 release files

1.0.12

6 release files

1.0.9

6 release files

1.0.8

6 release files

1.0

6 release files

0.0.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page