Skip to content

brainets/hoi

Repository files navigation

Black Codecov JOSS

https://github.com/brainets/hoi/blob/main/docs/_static/hoi-logo.png

Description

HOI (Higher Order Interactions) is a Python package to go beyond pairwise interactions by quantifying the statistical dependencies between 2 or more units using information-theoretical metrics. The package is built on top of Jax allowing computations on CPU or GPU.

Installation

Dependencies

HOI requires :

  • Python (>= 3.8)
  • numpy(>=1.22)
  • scipy (>=1.9)
  • jax
  • pandas
  • scikit-learn
  • jax-tqdm
  • tqdm

User installation

To install Jax on GPU or CPU-only, please refer to Jax's documentation : https://jax.readthedocs.io/en/latest/installation.html

If you already have a working installation of NumPy, SciPy and Jax, the easiest way to install hoi is using pip:

pip install -U hoi

You can also install the latest version of the software directly from Github :

pip install git+https://github.com/brainets/hoi.git

For developers

For developers, you can install it in develop mode with the following commands :

git clone https://github.com/brainets/hoi.git
cd hoi
pip install -e .['full']

The full installation of HOI includes additional packages to test the software and build the documentation :

  • pytest
  • pytest-cov
  • codecov
  • xarray
  • sphinx!=4.1.0
  • sphinx-gallery
  • pydata-sphinx-theme
  • sphinxcontrib-bibtex
  • numpydoc
  • matplotlib
  • flake8
  • pep8-naming
  • black

Help and Support

Documentation

Communication

For questions, please use the following link : https://github.com/brainets/hoi/discussions

Acknowledgments

HOI was mainly developed during the Google Summer of Code 2023 (https://summerofcode.withgoogle.com/archive/2023/projects/z6hGpvLS)