Metadata-Version: 2.1
Name: hoi
Version: 0.0.4
Summary: Higher Order Interactions
Home-page: https://github.com/brainets/hoi
Download-URL: https://github.com/brainets/hoi/archive/v0.0.4.tar.gz
Author: BraiNets
Author-email: e.combrisson@gmail.com
Maintainer: Etienne Combrisson
License: BSD 3-Clause License
Keywords: information-theory statistics higher-order-interactions
Platform: any
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
License-File: LICENSE
Requires-Dist: jax
Requires-Dist: jaxlib
Requires-Dist: numpy>=1.22
Requires-Dist: scipy>=1.9
Requires-Dist: scikit-learn
Requires-Dist: pandas
Requires-Dist: jax-tqdm
Requires-Dist: tqdm
Provides-Extra: test
Requires-Dist: jax; extra == "test"
Requires-Dist: jaxlib; extra == "test"
Requires-Dist: numpy>=1.22; extra == "test"
Requires-Dist: scipy>=1.9; extra == "test"
Requires-Dist: scikit-learn; extra == "test"
Requires-Dist: pandas; extra == "test"
Requires-Dist: jax-tqdm; extra == "test"
Requires-Dist: tqdm; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: codecov; extra == "test"
Requires-Dist: xarray; extra == "test"
Provides-Extra: doc
Requires-Dist: jax; extra == "doc"
Requires-Dist: jaxlib; extra == "doc"
Requires-Dist: numpy>=1.22; extra == "doc"
Requires-Dist: scipy>=1.9; extra == "doc"
Requires-Dist: scikit-learn; extra == "doc"
Requires-Dist: pandas; extra == "doc"
Requires-Dist: jax-tqdm; extra == "doc"
Requires-Dist: tqdm; extra == "doc"
Requires-Dist: sphinx!=4.1.0; extra == "doc"
Requires-Dist: sphinx-gallery; extra == "doc"
Requires-Dist: sphinx_design; extra == "doc"
Requires-Dist: sphinx-book-theme; extra == "doc"
Requires-Dist: sphinxcontrib-bibtex; extra == "doc"
Requires-Dist: sphinx_contributors; extra == "doc"
Requires-Dist: numpydoc; extra == "doc"
Requires-Dist: matplotlib; extra == "doc"
Requires-Dist: xgi; extra == "doc"
Provides-Extra: lint
Requires-Dist: jax; extra == "lint"
Requires-Dist: jaxlib; extra == "lint"
Requires-Dist: numpy>=1.22; extra == "lint"
Requires-Dist: scipy>=1.9; extra == "lint"
Requires-Dist: scikit-learn; extra == "lint"
Requires-Dist: pandas; extra == "lint"
Requires-Dist: jax-tqdm; extra == "lint"
Requires-Dist: tqdm; extra == "lint"
Requires-Dist: flake8; extra == "lint"
Requires-Dist: pep8-naming; extra == "lint"
Requires-Dist: black; extra == "lint"
Provides-Extra: full
Requires-Dist: jax; extra == "full"
Requires-Dist: jaxlib; extra == "full"
Requires-Dist: numpy>=1.22; extra == "full"
Requires-Dist: scipy>=1.9; extra == "full"
Requires-Dist: scikit-learn; extra == "full"
Requires-Dist: pandas; extra == "full"
Requires-Dist: jax-tqdm; extra == "full"
Requires-Dist: tqdm; extra == "full"
Requires-Dist: pytest; extra == "full"
Requires-Dist: pytest-cov; extra == "full"
Requires-Dist: codecov; extra == "full"
Requires-Dist: xarray; extra == "full"
Requires-Dist: sphinx!=4.1.0; extra == "full"
Requires-Dist: sphinx-gallery; extra == "full"
Requires-Dist: sphinx_design; extra == "full"
Requires-Dist: sphinx-book-theme; extra == "full"
Requires-Dist: sphinxcontrib-bibtex; extra == "full"
Requires-Dist: sphinx_contributors; extra == "full"
Requires-Dist: numpydoc; extra == "full"
Requires-Dist: matplotlib; extra == "full"
Requires-Dist: xgi; extra == "full"
Requires-Dist: flake8; extra == "full"
Requires-Dist: pep8-naming; extra == "full"
Requires-Dist: black; extra == "full"

.. -*- mode: rst -*-

|Black|_ |Codecov|_

.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
.. _Black: https://github.com/psf/black

.. |Codecov| image:: https://codecov.io/gh/brainets/hoi/graph/badge.svg?token=7PNM2VD994
.. _Codecov: https://codecov.io/gh/brainets/hoi


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

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 <https://github.com/google/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``:

.. code-block:: shell

    pip install -U hoi

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

.. code-block:: shell

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


For developers
++++++++++++++

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

.. code-block:: shell

    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
+++++++++++++

- Link to the documentation: https://brainets.github.io/hoi/
- Overview of the mathematical background : https://brainets.github.io/hoi/theory.html
- List of implemented HOI metrics : https://brainets.github.io/hoi/api/modules.html
- Examples : https://brainets.github.io/hoi/auto_examples/index.html

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)
