MacOS

Prerequisites for Arkouda can be installed using Homebrew or manually.

Clone Arkouda Repository

Download, clone, or fork the arkouda repo.

We encourage developers to fork the repo if they expect to make any changes to arkouda. They can then their fork and add the Bears-R-Us repo as a remote:

git clone https://github.com/YOUR_FORK/arkouda.git
git remote add upstream https://github.com/Bears-R-Us/arkouda.git

For users who aren’t intending to make any changes, cloning the arkouda repo should be enough

git clone https://github.com/Bears-R-Us/arkouda.git

Further instructions assume that the current directory is the top-level directory of the arkouda repo.

Python Environment - Anaconda

Arkouda provides 2 .yml files for configuration, one for users and one for developers. The .yml files are configured with a default name for the environment, which is used in the example interactions with conda below. To provide a different name for the environment, use the -n or --name parameters when calling conda env create.

# We recommend running the full Anaconda 
brew install --cask anaconda

# Note - the exact path may vary based on the most current release of Anaconda and your mac's chipset
# Run the script to install Anaconda.
/opt/homebrew/Caskroom/anaconda/2022.10/Anaconda3-2022.10-MacOSX-arm64.sh

# initialize conda
conda init

# User conda env
conda env create -f arkouda-env.yml
conda activate arkouda

# Developer conda env
conda env create -f arkouda-env-dev.yml
conda activate arkouda-dev

# Install the Arkouda Client Package and add it to your PYTHONPATH.
# For this to work properly you need to change directories to where arkouda lives
pip install -e . --no-deps
export PYTHONPATH="${PYTHONPATH}:${PWD}"

Updating Environment

As Arkouda progresses through its life-cycle, dependencies may change. As a result, it is recommended that you keep your development environment in sync with the latest dependencies. The instructions vary depending upon you preferred environment management tool.

Anaconda

If you provided a different name when creating the environment, replace arkouda-dev or arkouda with the name of your Conda environment.

# developer environment update
conda env update -n arkouda-dev -f arkouda-env-dev.yml

# user environment update
conda env update -n arkouda -f arkouda-env.yml

Install Chapel

It is recommended to compile Chapel from source. Alternatively, it can be installed via Homebrew.

Homebrew

Alternatively, you can use homebrew to install Chapel and all it’s supporting dependencies.

brew install chapel

Next Steps

We’ve installed Arkouda and its dependencies and built chapel with reasonable defautl environment variables. For more information on the options, a complete list of environment variables can be found at ENVIRONMENT.md.

Now you are ready to build the server! Follow the build instructions at BUILD.md.

We’ve set up chapel and arkouda to run locally with no communication! If you want to simulate running on a distributed machine follow the instructions at GASNet Development.