reservoirpy


Namereservoirpy JSON
Version 0.4.0 PyPI version JSON
download
home_pagehttps://github.com/reservoirpy/reservoirpy
SummaryA simple and flexible code for Reservoir Computing architectures like Echo State Networks.
upload_time2025-08-23 15:23:38
maintainerXavier Hinaut, Paul Bernard
docs_urlNone
authorXavier Hinaut
requires_python>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements joblib numpy scipy tqdm hyperopt matplotlib scikit-learn
Travis-CI No Travis.
coveralls test coverage
            <div align="center">
  <img src="static/rpy_banner_light.png#gh-light-mode-only">
  <img src="static/rpy_banner_dark.png#gh-dark-mode-only">

  **Simple and flexible library for Reservoir Computing architectures like Echo State Networks (ESN).**

  [![PyPI version](https://badge.fury.io/py/reservoirpy.svg)](https://badge.fury.io/py/reservoirpy)
  [![HAL](https://img.shields.io/badge/HAL-02595026-white?style=flat&logo=HAL&logoColor=white&labelColor=B03532&color=grey)](https://inria.hal.science/hal-02595026)
  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/reservoirpy)
  <br/>
  [![Downloads](https://static.pepy.tech/badge/reservoirpy)](https://pepy.tech/project/reservoirpy)
  [![Documentation Status](https://readthedocs.org/projects/reservoirpy/badge/?version=latest)](https://reservoirpy.readthedocs.io/en/latest/?badge=latest)
  [![Testing](https://github.com/reservoirpy/reservoirpy/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/reservoirpy/reservoirpy/actions/workflows/test.yml)
  [![codecov](https://codecov.io/gh/reservoirpy/reservoirpy/branch/master/graph/badge.svg?token=JC8R1PB5EO)](https://codecov.io/gh/reservoirpy/reservoirpy)
</div>



---

<p> <img src="static/googlecolab.svg" alt="Google Colab icon" width=32 height=32 align="left"><b>Tutorials:</b> <a href="https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/1-Getting_Started.ipynb">Open in Colab</a> </p>
<!--<p><img src="static/changelog.svg" alt="2" width =32 height=32 align="left"><b>Changelog:</b> https://github.com/reservoirpy/reservoirpy/releases</p>-->
<p> <img src="static/documentation.svg" alt="Open book icon" width=32 height=32 align="left"><b>Documentation:</b> <a href="https://reservoirpy.readthedocs.io/">https://reservoirpy.readthedocs.io/</a></p>
<!--<p> <img src="static/user_guide.svg" width=32 height=32 align="left"><b>User Guide:</b> https://reservoirpy.readthedocs.io/en/latest/user_guide/</a></p>-->

---

**Feature overview:**
- easy creation of [complex architectures](https://reservoirpy.readthedocs.io/en/latest/user_guide/model.html) with multiple reservoirs (e.g. *deep reservoirs*),
readouts
- [feedback loops](https://reservoirpy.readthedocs.io/en/latest/user_guide/advanced_demo.html#Feedback-connections)
- [offline and online training](https://reservoirpy.readthedocs.io/en/latest/user_guide/learning_rules.html)
- [parallel implementation](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.ESN.html)
- sparse matrix computation
- advanced learning rules (e.g. [*Intrinsic Plasticity*](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.IPReservoir.html), [*Local Plasticity*](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.LocalPlasticityReservoir.html) or [*NVAR* (Next-Generation RC)](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.NVAR.html))
- interfacing with [scikit-learn](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.ScikitLearnNode.html) models
- and many more!

Moreover, graphical tools are included to **easily explore hyperparameters**
with the help of the *hyperopt* library.

## Quick try ⚡

### Installation

```bash
pip install reservoirpy
```

### An example on chaotic timeseries prediction (Mackey-Glass)

For a general introduction to reservoir computing and ReservoirPy features, take
a look at the [tutorials](#tutorials)

```python
from reservoirpy.datasets import mackey_glass, to_forecasting
from reservoirpy.nodes import Reservoir, Ridge
from reservoirpy.observables import rmse, rsquare

### Step 1: Load the dataset

X = mackey_glass(n_timesteps=2000)  # (2000, 1)-shaped array
# create y by shifting X, and train/test split
x_train, x_test, y_train, y_test = to_forecasting(X, test_size=0.2)

### Step 2: Create an Echo State Network

# 100 neurons reservoir, spectral radius = 1.25, leak rate = 0.3
reservoir = Reservoir(units=100, sr=1.25, lr=0.3)
# feed-forward layer of neurons, trained with L2-regularization
readout = Ridge(ridge=1e-5)
# connect the two nodes
esn = reservoir >> readout

### Step 3: Fit, run and evaluate the ESN

esn.fit(x_train, y_train, warmup=100)
predictions = esn.run(x_test)

print(f"RMSE: {rmse(y_test, predictions)}; R^2 score: {rsquare(y_test, predictions)}")
# RMSE: 0.0020282; R^2 score: 0.99992
```


## More examples and tutorials 🎓

### Tutorials

- [**1 - Getting started with ReservoirPy**](./tutorials/1-Getting_Started.ipynb)
[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Getting_started-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/1-Getting_Started.ipynb)
- [**2 - Advanced features**](./tutorials/2-Advanced_Features.ipynb)
[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Advanced_features-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/2-Advanced_Features.ipynb)
- [**3 - General introduction to Reservoir Computing**](./tutorials/3-General_Introduction_to_Reservoir_Computing.ipynb)
[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Introduction_to_RC-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/3-General_Introduction_to_Reservoir_Computing.ipynb)
- [**4 - Understand and optimise hyperparameters**](./tutorials/4-Understand_and_optimize_hyperparameters.ipynb)
[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Hyperparameters-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/4-Understand_and_optimize_hyperparameters.ipynb)
- [**5 - Classification with reservoir computing**](./tutorials/5-Classification-with-RC.ipynb)
[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Classification-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/5-Classification-with-RC.ipynb)
- [**6 - Interfacing ReservoirPy with scikit-learn**](./tutorials/6-Interfacing_with_scikit-learn.ipynb)
[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_scikit--learn_interface-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/6-Interfacing_with_scikit-learn.ipynb)

### Examples

For advanced users, we also showcase partial reproduction of papers on reservoir computing to demonstrate some features of the library.

- [**Improving reservoir using Intrinsic Plasticity** (Schrauwen et al., 2008)](/examples/Improving%20reservoirs%20using%20Intrinsic%20Plasticity/Intrinsic_Plasiticity_Schrauwen_et_al_2008.ipynb)
- [**Interactive reservoir computing for chunking information streams** (Asabuki et al., 2018)](/examples/Interactive%20reservoir%20computing%20for%20chunking%20information%20streams/Chunking_Asabuki_et_al_2018.ipynb)
- [**Next-Generation reservoir computing** (Gauthier et al., 2021)](/examples/Next%20Generation%20Reservoir%20Computing/NG-RC_Gauthier_et_al_2021.ipynb)
- [**Edge of stability Echo State Network** (Ceni et al., 2023)](/examples/Edge%20of%20Stability%20Echo%20State%20Network/Edge_of_stability_Ceni_Gallicchio_2023.ipynb)


## Papers and projects using ReservoirPy

*If you want your paper to appear here, please contact us (see contact link below).*

- ( [HAL](https://inria.hal.science/hal-04354303) | [PDF](https://arxiv.org/pdf/2312.06695) | [Code](https://github.com/corentinlger/ER-MRL) ) Leger et al. (2024) *Evolving Reservoirs for Meta Reinforcement Learning.* EvoAPPS 2024
- ( [arXiv](https://arxiv.org/abs/2204.02484) | [PDF](https://arxiv.org/pdf/2204.02484) ) Chaix-Eichel et al. (2022) *From implicit learning to explicit representations.* arXiv preprint arXiv:2204.02484.
- ( [HTML](https://link.springer.com/chapter/10.1007/978-3-030-86383-8_6) | [HAL](https://hal.inria.fr/hal-03203374) | [PDF](https://hal.inria.fr/hal-03203374/document) ) Trouvain & Hinaut (2021) *Canary Song Decoder: Transduction and Implicit Segmentation with ESNs and LTSMs.* ICANN 2021
- ( [HTML](https://ieeexplore.ieee.org/abstract/document/9515607) ) Pagliarini et al. (2021) *Canary Vocal Sensorimotor Model with RNN Decoder and Low-dimensional GAN Generator.* ICDL 2021.
- ( [HAL](https://hal.inria.fr/hal-03244723/) | [PDF](https://hal.inria.fr/hal-03244723/document) ) Pagliarini et al. (2021) *What does the Canary Say? Low-Dimensional GAN Applied to Birdsong.* HAL preprint.
- ( [HTML](https://link.springer.com/chapter/10.1007/978-3-030-86383-8_7) | [HAL](https://hal.inria.fr/hal-03203318) | [PDF](https://hal.inria.fr/hal-03203318) ) Hinaut & Trouvain (2021) *Which Hype for My New Task? Hints and Random Search for Echo State Networks Hyperparameters.* ICANN 2021

## Awesome Reservoir Computing

We also provide a curated list of tutorials, papers, projects and tools for Reservoir Computing (not necessarily related to ReservoirPy) here!:

**https://github.com/reservoirpy/awesome-reservoir-computing**

## Contact
If you have a question regarding the library, please open an issue.

If you have more general question or feedback you can contact us by email to **xavier dot hinaut the-famous-home-symbol inria dot fr**.

## Citing ReservoirPy

Trouvain, N., Pedrelli, L., Dinh, T. T., Hinaut, X. (2020) *ReservoirPy: an efficient and user-friendly library to design echo state networks. In International Conference on Artificial Neural Networks* (pp. 494-505). Springer, Cham. ( [HTML](https://link.springer.com/chapter/10.1007/978-3-030-61616-8_40) | [HAL](https://hal.inria.fr/hal-02595026) | [PDF](https://hal.inria.fr/hal-02595026/document) )

If you're using ReservoirPy in your work, please cite our package using the following bibtex entry:

```
@incollection{Trouvain2020,
  doi = {10.1007/978-3-030-61616-8_40},
  url = {https://doi.org/10.1007/978-3-030-61616-8_40},
  year = {2020},
  publisher = {Springer International Publishing},
  pages = {494--505},
  author = {Nathan Trouvain and Luca Pedrelli and Thanh Trung Dinh and Xavier Hinaut},
  title = {{ReservoirPy}: An Efficient and User-Friendly Library to Design Echo State Networks},
  booktitle = {Artificial Neural Networks and Machine Learning {\textendash} {ICANN} 2020}
}
```


## Acknowledgement

<div align="left">
  <img src="./static/inria_red.svg" width=300><br>
</div>


This package is developed and supported by Inria at Bordeaux, France in [Mnemosyne](https://team.inria.fr/mnemosyne/) group. [Inria](https://www.inria.fr/en) is a French Research Institute in Digital Sciences (Computer Science, Mathematics, Robotics, ...).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/reservoirpy/reservoirpy",
    "name": "reservoirpy",
    "maintainer": "Xavier Hinaut, Paul Bernard",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "xavier.hinaut@inria.fr, paul.bernard@inria.fr",
    "keywords": null,
    "author": "Xavier Hinaut",
    "author_email": "xavier.hinaut@inria.fr",
    "download_url": "https://files.pythonhosted.org/packages/22/a3/66d59d7c5b122262a20ca1db80484c2e268efb33f9199e549d3aab0b1fa3/reservoirpy-0.4.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <img src=\"static/rpy_banner_light.png#gh-light-mode-only\">\n  <img src=\"static/rpy_banner_dark.png#gh-dark-mode-only\">\n\n  **Simple and flexible library for Reservoir Computing architectures like Echo State Networks (ESN).**\n\n  [![PyPI version](https://badge.fury.io/py/reservoirpy.svg)](https://badge.fury.io/py/reservoirpy)\n  [![HAL](https://img.shields.io/badge/HAL-02595026-white?style=flat&logo=HAL&logoColor=white&labelColor=B03532&color=grey)](https://inria.hal.science/hal-02595026)\n  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/reservoirpy)\n  <br/>\n  [![Downloads](https://static.pepy.tech/badge/reservoirpy)](https://pepy.tech/project/reservoirpy)\n  [![Documentation Status](https://readthedocs.org/projects/reservoirpy/badge/?version=latest)](https://reservoirpy.readthedocs.io/en/latest/?badge=latest)\n  [![Testing](https://github.com/reservoirpy/reservoirpy/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/reservoirpy/reservoirpy/actions/workflows/test.yml)\n  [![codecov](https://codecov.io/gh/reservoirpy/reservoirpy/branch/master/graph/badge.svg?token=JC8R1PB5EO)](https://codecov.io/gh/reservoirpy/reservoirpy)\n</div>\n\n\n\n---\n\n<p> <img src=\"static/googlecolab.svg\" alt=\"Google Colab icon\" width=32 height=32 align=\"left\"><b>Tutorials:</b> <a href=\"https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/1-Getting_Started.ipynb\">Open in Colab</a> </p>\n<!--<p><img src=\"static/changelog.svg\" alt=\"2\" width =32 height=32 align=\"left\"><b>Changelog:</b> https://github.com/reservoirpy/reservoirpy/releases</p>-->\n<p> <img src=\"static/documentation.svg\" alt=\"Open book icon\" width=32 height=32 align=\"left\"><b>Documentation:</b> <a href=\"https://reservoirpy.readthedocs.io/\">https://reservoirpy.readthedocs.io/</a></p>\n<!--<p> <img src=\"static/user_guide.svg\" width=32 height=32 align=\"left\"><b>User Guide:</b> https://reservoirpy.readthedocs.io/en/latest/user_guide/</a></p>-->\n\n---\n\n**Feature overview:**\n- easy creation of [complex architectures](https://reservoirpy.readthedocs.io/en/latest/user_guide/model.html) with multiple reservoirs (e.g. *deep reservoirs*),\nreadouts\n- [feedback loops](https://reservoirpy.readthedocs.io/en/latest/user_guide/advanced_demo.html#Feedback-connections)\n- [offline and online training](https://reservoirpy.readthedocs.io/en/latest/user_guide/learning_rules.html)\n- [parallel implementation](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.ESN.html)\n- sparse matrix computation\n- advanced learning rules (e.g. [*Intrinsic Plasticity*](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.IPReservoir.html), [*Local Plasticity*](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.LocalPlasticityReservoir.html) or [*NVAR* (Next-Generation RC)](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.NVAR.html))\n- interfacing with [scikit-learn](https://reservoirpy.readthedocs.io/en/latest/api/generated/reservoirpy.nodes.ScikitLearnNode.html) models\n- and many more!\n\nMoreover, graphical tools are included to **easily explore hyperparameters**\nwith the help of the *hyperopt* library.\n\n## Quick try \u26a1\n\n### Installation\n\n```bash\npip install reservoirpy\n```\n\n### An example on chaotic timeseries prediction (Mackey-Glass)\n\nFor a general introduction to reservoir computing and ReservoirPy features, take\na look at the [tutorials](#tutorials)\n\n```python\nfrom reservoirpy.datasets import mackey_glass, to_forecasting\nfrom reservoirpy.nodes import Reservoir, Ridge\nfrom reservoirpy.observables import rmse, rsquare\n\n### Step 1: Load the dataset\n\nX = mackey_glass(n_timesteps=2000)  # (2000, 1)-shaped array\n# create y by shifting X, and train/test split\nx_train, x_test, y_train, y_test = to_forecasting(X, test_size=0.2)\n\n### Step 2: Create an Echo State Network\n\n# 100 neurons reservoir, spectral radius = 1.25, leak rate = 0.3\nreservoir = Reservoir(units=100, sr=1.25, lr=0.3)\n# feed-forward layer of neurons, trained with L2-regularization\nreadout = Ridge(ridge=1e-5)\n# connect the two nodes\nesn = reservoir >> readout\n\n### Step 3: Fit, run and evaluate the ESN\n\nesn.fit(x_train, y_train, warmup=100)\npredictions = esn.run(x_test)\n\nprint(f\"RMSE: {rmse(y_test, predictions)}; R^2 score: {rsquare(y_test, predictions)}\")\n# RMSE: 0.0020282; R^2 score: 0.99992\n```\n\n\n## More examples and tutorials \ud83c\udf93\n\n### Tutorials\n\n- [**1 - Getting started with ReservoirPy**](./tutorials/1-Getting_Started.ipynb)\n[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Getting_started-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/1-Getting_Started.ipynb)\n- [**2 - Advanced features**](./tutorials/2-Advanced_Features.ipynb)\n[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Advanced_features-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/2-Advanced_Features.ipynb)\n- [**3 - General introduction to Reservoir Computing**](./tutorials/3-General_Introduction_to_Reservoir_Computing.ipynb)\n[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Introduction_to_RC-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/3-General_Introduction_to_Reservoir_Computing.ipynb)\n- [**4 - Understand and optimise hyperparameters**](./tutorials/4-Understand_and_optimize_hyperparameters.ipynb)\n[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Hyperparameters-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/4-Understand_and_optimize_hyperparameters.ipynb)\n- [**5 - Classification with reservoir computing**](./tutorials/5-Classification-with-RC.ipynb)\n[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_Classification-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/5-Classification-with-RC.ipynb)\n- [**6 - Interfacing ReservoirPy with scikit-learn**](./tutorials/6-Interfacing_with_scikit-learn.ipynb)\n[![Tutorial on Google Colab](https://img.shields.io/badge/Tutorial:_scikit--learn_interface-525252?style=flat&logo=googlecolab&logoColor=%23F9AB00)](https://colab.research.google.com/github/reservoirpy/reservoirpy/blob/master/tutorials/6-Interfacing_with_scikit-learn.ipynb)\n\n### Examples\n\nFor advanced users, we also showcase partial reproduction of papers on reservoir computing to demonstrate some features of the library.\n\n- [**Improving reservoir using Intrinsic Plasticity** (Schrauwen et al., 2008)](/examples/Improving%20reservoirs%20using%20Intrinsic%20Plasticity/Intrinsic_Plasiticity_Schrauwen_et_al_2008.ipynb)\n- [**Interactive reservoir computing for chunking information streams** (Asabuki et al., 2018)](/examples/Interactive%20reservoir%20computing%20for%20chunking%20information%20streams/Chunking_Asabuki_et_al_2018.ipynb)\n- [**Next-Generation reservoir computing** (Gauthier et al., 2021)](/examples/Next%20Generation%20Reservoir%20Computing/NG-RC_Gauthier_et_al_2021.ipynb)\n- [**Edge of stability Echo State Network** (Ceni et al., 2023)](/examples/Edge%20of%20Stability%20Echo%20State%20Network/Edge_of_stability_Ceni_Gallicchio_2023.ipynb)\n\n\n## Papers and projects using ReservoirPy\n\n*If you want your paper to appear here, please contact us (see contact link below).*\n\n- ( [HAL](https://inria.hal.science/hal-04354303) | [PDF](https://arxiv.org/pdf/2312.06695) | [Code](https://github.com/corentinlger/ER-MRL) ) Leger et al. (2024) *Evolving Reservoirs for Meta Reinforcement Learning.* EvoAPPS 2024\n- ( [arXiv](https://arxiv.org/abs/2204.02484) | [PDF](https://arxiv.org/pdf/2204.02484) ) Chaix-Eichel et al. (2022) *From implicit learning to explicit representations.* arXiv preprint arXiv:2204.02484.\n- ( [HTML](https://link.springer.com/chapter/10.1007/978-3-030-86383-8_6) | [HAL](https://hal.inria.fr/hal-03203374) | [PDF](https://hal.inria.fr/hal-03203374/document) ) Trouvain & Hinaut (2021) *Canary Song Decoder: Transduction and Implicit Segmentation with ESNs and LTSMs.* ICANN 2021\n- ( [HTML](https://ieeexplore.ieee.org/abstract/document/9515607) ) Pagliarini et al. (2021) *Canary Vocal Sensorimotor Model with RNN Decoder and Low-dimensional GAN Generator.* ICDL 2021.\n- ( [HAL](https://hal.inria.fr/hal-03244723/) | [PDF](https://hal.inria.fr/hal-03244723/document) ) Pagliarini et al. (2021) *What does the Canary Say? Low-Dimensional GAN Applied to Birdsong.* HAL preprint.\n- ( [HTML](https://link.springer.com/chapter/10.1007/978-3-030-86383-8_7) | [HAL](https://hal.inria.fr/hal-03203318) | [PDF](https://hal.inria.fr/hal-03203318) ) Hinaut & Trouvain (2021) *Which Hype for My New Task? Hints and Random Search for Echo State Networks Hyperparameters.* ICANN 2021\n\n## Awesome Reservoir Computing\n\nWe also provide a curated list of tutorials, papers, projects and tools for Reservoir Computing (not necessarily related to ReservoirPy) here!:\n\n**https://github.com/reservoirpy/awesome-reservoir-computing**\n\n## Contact\nIf you have a question regarding the library, please open an issue.\n\nIf you have more general question or feedback you can contact us by email to **xavier dot hinaut the-famous-home-symbol inria dot fr**.\n\n## Citing ReservoirPy\n\nTrouvain, N., Pedrelli, L., Dinh, T. T., Hinaut, X. (2020) *ReservoirPy: an efficient and user-friendly library to design echo state networks. In International Conference on Artificial Neural Networks* (pp. 494-505). Springer, Cham. ( [HTML](https://link.springer.com/chapter/10.1007/978-3-030-61616-8_40) | [HAL](https://hal.inria.fr/hal-02595026) | [PDF](https://hal.inria.fr/hal-02595026/document) )\n\nIf you're using ReservoirPy in your work, please cite our package using the following bibtex entry:\n\n```\n@incollection{Trouvain2020,\n  doi = {10.1007/978-3-030-61616-8_40},\n  url = {https://doi.org/10.1007/978-3-030-61616-8_40},\n  year = {2020},\n  publisher = {Springer International Publishing},\n  pages = {494--505},\n  author = {Nathan Trouvain and Luca Pedrelli and Thanh Trung Dinh and Xavier Hinaut},\n  title = {{ReservoirPy}: An Efficient and User-Friendly Library to Design Echo State Networks},\n  booktitle = {Artificial Neural Networks and Machine Learning {\\textendash} {ICANN} 2020}\n}\n```\n\n\n## Acknowledgement\n\n<div align=\"left\">\n  <img src=\"./static/inria_red.svg\" width=300><br>\n</div>\n\n\nThis package is developed and supported by Inria at Bordeaux, France in [Mnemosyne](https://team.inria.fr/mnemosyne/) group. [Inria](https://www.inria.fr/en) is a French Research Institute in Digital Sciences (Computer Science, Mathematics, Robotics, ...).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A simple and flexible code for Reservoir Computing architectures like Echo State Networks.",
    "version": "0.4.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/reservoirpy/reservoirpy/issues",
        "Documentation": "https://reservoirpy.readthedocs.io/en/latest/index.html",
        "Download": "https://github.com/reservoirpy/reservoirpy/v0.4.0.tar.gz",
        "Homepage": "https://github.com/reservoirpy/reservoirpy",
        "Release notes": "https://github.com/reservoirpy/reservoirpy/releases",
        "Source Code": "https://github.com/reservoirpy/reservoirpy"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "257faa43d0d260aa2d1bd56d58ddcdcbeb41bdb7658ae88c4a66a322dacb8219",
                "md5": "c084e75caed468a173f56787005c71bd",
                "sha256": "4f622a81dca1304b7aefdb44b0d40a5ed2309a20556fe986108c46f13b319cd4"
            },
            "downloads": -1,
            "filename": "reservoirpy-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c084e75caed468a173f56787005c71bd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 145850,
            "upload_time": "2025-08-23T15:23:36",
            "upload_time_iso_8601": "2025-08-23T15:23:36.065066Z",
            "url": "https://files.pythonhosted.org/packages/25/7f/aa43d0d260aa2d1bd56d58ddcdcbeb41bdb7658ae88c4a66a322dacb8219/reservoirpy-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "22a366d59d7c5b122262a20ca1db80484c2e268efb33f9199e549d3aab0b1fa3",
                "md5": "6a7bea667035535fa4ca37dfc1b9425f",
                "sha256": "a43f40074965bb467f1809ad6660d37d1f493affbb09030aba405e89ec456898"
            },
            "downloads": -1,
            "filename": "reservoirpy-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6a7bea667035535fa4ca37dfc1b9425f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 117235,
            "upload_time": "2025-08-23T15:23:38",
            "upload_time_iso_8601": "2025-08-23T15:23:38.002497Z",
            "url": "https://files.pythonhosted.org/packages/22/a3/66d59d7c5b122262a20ca1db80484c2e268efb33f9199e549d3aab0b1fa3/reservoirpy-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-23 15:23:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "reservoirpy",
    "github_project": "reservoirpy",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "joblib",
            "specs": [
                [
                    ">=",
                    "0.14.1"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.21.1"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.43.0"
                ]
            ]
        },
        {
            "name": "hyperopt",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "scikit-learn",
            "specs": [
                [
                    "<",
                    "1.7.0"
                ],
                [
                    ">=",
                    "0.24.2"
                ]
            ]
        }
    ],
    "lcname": "reservoirpy"
}
        
Elapsed time: 3.19947s