Installation#

From PyPI#

pip install memory-esn

This pulls the runtime dependencies, numpy, scipy, scikit-learn, joblib and PyWavelets, and, when a C compiler is available, builds the Cython speed-up kernels.

Editable install (development)#

git clone https://github.com/your-org/memory-esn
cd memory-esn
pip install -e ".[dev,docs]"
python setup.py build_ext --inplace     # compile the Cython kernels in place

Optional Cython kernels#

The compiled kernels are optional. When they are not present, pure-NumPy fallbacks load automatically (with a one-time RuntimeWarning). Check which path is active:

import memory_esn as m
m.USING_CYTHON_RESERVOIR, m.USING_CYTHON_FRACDIFF, m.USING_CYTHON_MODWT
# (True, True, True) when the compiled extensions are built

The kernels are ABI-specific: rebuild them after changing Python version or editing a .pyx file with python setup.py build_ext --inplace.

Requirements#

Package

Purpose

numpy, scipy

arrays, BLAS, linear algebra

scikit-learn

RidgeCV readout (leave-one-out)

joblib

save() / load()

PyWavelets

MODWT wavelet filters (wESN)

Cython, a C compiler

optional, compiled kernels