Metadata-Version: 2.1
Name: ennemi
Version: 1.5.0
Summary: Non-linear correlation detection with mutual information
Home-page: https://polsys.github.io/ennemi/
Author: Petri Laarne
Author-email: petri.laarne@helsinki.fi
License: MIT
Project-URL: Documentation, https://polsys.github.io/ennemi/
Project-URL: Source, https://github.com/polsys/ennemi/
Project-URL: Issues, https://github.com/polsys/ennemi/issues
Project-URL: Zenodo, https://doi.org/10.5281/zenodo.3834018
Keywords: information-theory entropy mutual-information data-analysis scientific
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Typing :: Typed
Requires-Python: ~=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: numpy>=1.24
Requires-Dist: scipy~=1.10
Provides-Extra: dev
Requires-Dist: build~=1.2; extra == "dev"
Requires-Dist: pandas>=2.0; extra == "dev"
Requires-Dist: pytest~=8.0; extra == "dev"
Requires-Dist: mypy~=1.9; extra == "dev"

This package performs non-linear correlation analysis with mutual information (MI).
MI is an information-theoretical measure of dependency between two variables.
The package is designed for practical data analysis
with no theoretical background required.

**Features:**
- Non-linear correlation detection:
  - Mutual information between two variables, continous or discrete
  - Conditional MI with arbitrary-dimensional conditioning variables
  - Quick overview of many-variable datasets with pairwise MI estimation
- Practical data analysis:
  - Interfaces for evaluating multiple variable pairs and time lags with one call
  - Integrated with `pandas` data frames (optional)
  - Optimized and automatically parallelized estimation
  - Algorithms verified to work, so that you can focus on your data

This package depends only on NumPy and SciPy;
Pandas (2.x or newer) is suggested for more enjoyable data analysis.
Recent versions of NumPy 1.x and 2.x are supported.
Python 3.11+ on the latest macOS, Ubuntu and Windows versions
is officially supported.
Older `ennemi` versions have generally identical behavior if you need to run on older Python.

For more information on theoretical background and usage, please see the
[documentation](https://polsys.github.io/ennemi).
If you encounter any problems or have suggestions, please file an issue!

---

This package was initially developed at
[Institute for Atmospheric and Earth System Research (INAR)](https://www.helsinki.fi/en/inar-institute-for-atmospheric-and-earth-system-research),
University of Helsinki.
