Installation

PyPI

Before you install ESPEI via PyPI, be aware that pycalphad and emcee must be compiled and pycalphad requires an external dependency of Ipopt.

pip install espei

After installation, you must turn off dask’s work stealing. Change the work stealing setting to distributed.scheduler.work-stealing: False in dask’s configuration. See configuration below for more details.

Development versions

You may install ESPEI however you like, but here we suggest using Anaconda to download all of the required dependencies. This method installs ESPEI with Anaconda, removes specifically the ESPEI package, and replaces it with the package from GitHub.

git clone https://github.com/phasesresearchlab/espei.git
cd espei
conda install espei
conda remove --force espei
pip install -e .

Upgrading ESPEI later requires you to run git pull in this directory.

After installation, you must turn off dask’s work stealing. Change the work stealing setting to distributed.scheduler.work-stealing: False in dask’s configuration. See configuration below for more details.

Configuration

ESPEI uses dask-distributed to parallelize ESPEI.

After installation, you must turn off dask’s work stealing! Change the your dask configuration file to look something like:

distributed:
  version: 2
  scheduler:
    work-stealing: False

The configuration file paths can be found by running from espei.utils import get_dask_config_paths; get_dask_config_paths() in a Python interpreter. If multiple configurations are found, the latter configurations take precendence over the former, so check them from last to first. See the dask-distributed documentation for more.