https://github.com/cbueth/infomeasure
Python package for calculating various information measures, including entropy, mutual information, transfer entropy, and more, with support for both discrete and continuous variables.
https://github.com/cbueth/infomeasure
complex-networks conditional-probability data-science entropy entropy-measures information-theory machine-learning mathematical-modelling mutual-information numpy physics research statistical-analysis transfer-entropy
Last synced: about 1 month ago
JSON representation
Python package for calculating various information measures, including entropy, mutual information, transfer entropy, and more, with support for both discrete and continuous variables.
- Host: GitHub
- URL: https://github.com/cbueth/infomeasure
- Owner: cbueth
- License: agpl-3.0
- Created: 2024-06-05T07:31:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-31T13:38:27.000Z (4 months ago)
- Last Synced: 2025-06-08T06:17:28.735Z (4 months ago)
- Topics: complex-networks, conditional-probability, data-science, entropy, entropy-measures, information-theory, machine-learning, mathematical-modelling, mutual-information, numpy, physics, research, statistical-analysis, transfer-entropy
- Language: Python
- Homepage: https://infomeasure.readthedocs.io/
- Size: 2.78 MB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
Awesome Lists containing this project
README
[](https://infomeasure.readthedocs.io/)
[](https://pypi.org/project/infomeasure/)
[](https://pypi.org/project/infomeasure/)
[](https://anaconda.org/conda-forge/infomeasure)
[](https://pepy.tech/projects/infomeasure)[](https://arxiv.org/abs/2505.14696)
[](https://doi.org/10.5281/zenodo.15241810)
[](https://github.com/astral-sh/ruff)
[](CODE_OF_CONDUCT.md)[](https://gitlab.ifisc.uib-csic.es/carlson/infomeasure/-/commits/main)
[](https://gitlab.ifisc.uib-csic.es/carlson/infomeasure/-/jobs)Continuous and discrete entropy and information measures using different estimation
techniques.---
For details on how to use this package, see the
[Guide](https://infomeasure.readthedocs.io/en/latest/guide/) or
the [Documentation](https://infomeasure.readthedocs.io/).## Setup
This package can be installed from PyPI using pip:
```bash
pip install infomeasure
```This will automatically install all the necessary dependencies as specified in the
`pyproject.toml` file. It is recommended to use a virtual environment, e.g. using
`conda`, `mamba` or `micromamba` (they can be used interchangeably).
`infomeasure` can be installed from the `conda-forge` channel.```bash
conda create -n im_env -c conda-forge python
conda activate im_env
conda install -c conda-forge infomeasure
```## Development Setup
For development, we recommend using `micromamba` to create a virtual
environment (`conda` or `mamba` also work)
and installing the package in editable mode.
After cloning the repository, navigate to the root folder and
create the environment with the desired python version and the dependencies.```bash
micromamba create -n im_env -c conda-forge python
micromamba activate im_env
```To let `micromamba` handle the dependencies, use the `requirements` files
```bash
micromamba install -f requirements/build_requirements.txt \
-f requirements/linter_requirements.txt \
-f requirements/test_requirements.txt \
-f requirements/doc_requirements.txt
pip install --no-build-isolation --no-deps -e .
```Alternatively, if you prefer to use `pip`, installing the package in editable mode will
also install the
development dependencies.```bash
pip install -e ".[all]"
```Now, the package can be imported and used in the python environment, from anywhere on
the system if the environment is activated.
For new changes, the repository only needs to be updated, but the package does not need
to be reinstalled.## Set up Jupyter kernel
If you want to use `infomeasure` with its environment `im_env` in Jupyter, run:
```bash
pip install --user ipykernel
python -m ipykernel install --user --name=im_env
```This allows you to run Jupyter with the kernel `im_env` (Kernel > Change Kernel >
im_env)## Acknowledgments
This project has received funding from the European Research Council (ERC) under the
European Union's Horizon 2020 research and innovation programme (grant agreement No
851255).
This work was partially supported by the María de Maeztu project CEX2021-001164-M funded
by the MICIU/AEI/10.13039/501100011033 and FEDER, EU.