Requirements

Dependency List

The installation instructions for the dependencies listed here may vary depending on your preferred operating system. Refer to the Installation Section for more information.

  • Chapel 2.1.0 or later

  • cmake>=3.13.4

  • zeromq>=4.2.5

  • hdf5

  • python>=3.9

  • iconv

  • idn2

  • Arrow

Python Dependencies

The following python packages are required by the Arkouda client package.

  • python>=3.9,<3.12.4

  • numpy>=1.24.1,<2.0

  • pandas>=1.4.0,!=2.2.0

  • pyzmq>=20.0.0

  • typeguard==2.10.0

  • tabulate

  • pyfiglet

  • versioneer

  • matplotlib>=3.3.2

  • h5py>=3.7.0

  • hdf5>=1.12.2

  • pip

  • types-tabulate

  • pytables>=3.8.0

  • pyarrow

  • libiconv

  • libidn2

  • jupyter

  • scipy<=1.13.1

  • pytest>=6.0

  • pytest-env

  • chapel-py (to be installed manually, as it is shipped with Chapel)

Developer Specific

The dependencies listed here are only required if you will be doing development for Arkouda.

  • pexpect

  • Sphinx>=5.1.1

  • sphinx-argparse

  • sphinx-autoapi

  • sphinx-design

  • sphinx-autodoc-typehints

  • sphinx-autopackagesummary

  • furo

  • myst-parser

  • linkify-it-py

  • typed-ast

  • flake8

  • mypy>=0.931

  • black

  • isort

  • pytest-json-report

  • pytest-benchmark

  • mathjax

  • pandas-stubs

  • types-python-dateutil

Installing/Updating Python Dependencies

Dependencies can be installed using Anaconda (Recommended) or pip.

Using Anaconda

Arkouda provides 2 files for installing dependencies, one for users and one for developers.

  • Users Environment YAML: arkouda-env.yml

  • Developer Environment YAML: arkouda-env-dev.yml

When running the commands below, replace <env_name> with the name you want to give/have given your conda environment. Replace <yaml_file> with the file appropriate to your interaction with Arkouda.

# Creating a new environment with dependencies installed
conda env create -n <env_name> -f <yaml_file>

# Updating env using the yaml 
conda env update -n <env_name> -f <yaml_file> --prune 
# Only use the --prune option if you want to remove packages that are no longer requirements for arkouda.

Using Pip

When you pip install Arkouda, dependencies should be installed as well. However, dependencies may change during the life-cycle of Arkouda, so here we detail how to update dependencies when using pip for package management.

# navigate to arkouda directory
cd <path_to_arkouda>/arkouda

# Update Dependencies
pip install --upgrade --upgrade-strategy eager -e .

# Updating Developer Dependencies
pip install --upgrade --upgrade-strategy eager -e .[dev]