aqua-blue


Nameaqua-blue JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryLightweight and basic reservoir computing library
upload_time2025-03-01 00:58:59
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords computing forecasting learning machine prediction reservoir series time
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # aqua-blue
Lightweight and basic reservoir computing library

[![PyPI version shields.io](https://img.shields.io/pypi/v/aqua-blue.svg)](https://pypi.python.org/pypi/aqua-blue/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/aqua-blue.svg)](https://pypi.python.org/pypi/aqua-blue/)

## 🌊 What is aqua-blue?

`aqua-blue` is a lightweight `python` library for reservoir computing (specifically [echo state networks](https://en.wikipedia.org/wiki/Echo_state_network)) depending only on `numpy`. `aqua-blue`'s namesake comes from:

- A blue ocean of data, aka a reservoir 💧
- A very fancy cat named Blue 🐾

## 📥 Installation

`aqua-blue` is on PyPI, and can therefore be installed with `pip`:

```bash
pip install aqua-blue
```

## 📝 Quickstart

```py
import numpy as np
import aqua_blue

# generate arbitrary two-dimensional time series
# y_1(t) = cos(t), y_2(t) = sin(t)
# resulting dependent variable has shape (number of timesteps, 2)
t = np.linspace(0, 4.0 * np.pi, 10_000)
y = np.vstack((2.0 * np.cos(t) + 1, 5.0 * np.sin(t) - 1)).T

# create time series object to feed into echo state network
time_series = aqua_blue.time_series.TimeSeries(dependent_variable=y, times=t)

# normalize
normalizer = aqua_blue.utilities.Normalizer()
time_series = normalizer.normalize(time_series)

# make model and train
model = aqua_blue.models.Model(
    reservoir=aqua_blue.reservoirs.DynamicalReservoir(
        reservoir_dimensionality=100,
        input_dimensionality=2
    ),
    readout=aqua_blue.readouts.LinearReadout()
)
model.train(time_series)

# predict and denormalize
prediction = model.predict(horizon=1_000)
prediction = normalizer.denormalize(prediction)
```

## 📃 License

`aqua-blue` is released under the MIT License.

---

![Blue](https://raw.githubusercontent.com/Chicago-Club-Management-Company/aqua-blue/refs/heads/main/assets/blue.jpg)

*Blue, the cat behind `aqua-blue`.*
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aqua-blue",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "computing, forecasting, learning, machine, prediction, reservoir, series, time",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/d1/04/fd709bb155154661d8ba6829e5c03cc51e08aa6aff01c5e78ec62833a8dd/aqua_blue-0.1.2.tar.gz",
    "platform": null,
    "description": "# aqua-blue\nLightweight and basic reservoir computing library\n\n[![PyPI version shields.io](https://img.shields.io/pypi/v/aqua-blue.svg)](https://pypi.python.org/pypi/aqua-blue/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/aqua-blue.svg)](https://pypi.python.org/pypi/aqua-blue/)\n\n## \ud83c\udf0a What is aqua-blue?\n\n`aqua-blue` is a lightweight `python` library for reservoir computing (specifically [echo state networks](https://en.wikipedia.org/wiki/Echo_state_network)) depending only on `numpy`. `aqua-blue`'s namesake comes from:\n\n- A blue ocean of data, aka a reservoir \ud83d\udca7\n- A very fancy cat named Blue \ud83d\udc3e\n\n## \ud83d\udce5 Installation\n\n`aqua-blue` is on PyPI, and can therefore be installed with `pip`:\n\n```bash\npip install aqua-blue\n```\n\n## \ud83d\udcdd Quickstart\n\n```py\nimport numpy as np\nimport aqua_blue\n\n# generate arbitrary two-dimensional time series\n# y_1(t) = cos(t), y_2(t) = sin(t)\n# resulting dependent variable has shape (number of timesteps, 2)\nt = np.linspace(0, 4.0 * np.pi, 10_000)\ny = np.vstack((2.0 * np.cos(t) + 1, 5.0 * np.sin(t) - 1)).T\n\n# create time series object to feed into echo state network\ntime_series = aqua_blue.time_series.TimeSeries(dependent_variable=y, times=t)\n\n# normalize\nnormalizer = aqua_blue.utilities.Normalizer()\ntime_series = normalizer.normalize(time_series)\n\n# make model and train\nmodel = aqua_blue.models.Model(\n    reservoir=aqua_blue.reservoirs.DynamicalReservoir(\n        reservoir_dimensionality=100,\n        input_dimensionality=2\n    ),\n    readout=aqua_blue.readouts.LinearReadout()\n)\nmodel.train(time_series)\n\n# predict and denormalize\nprediction = model.predict(horizon=1_000)\nprediction = normalizer.denormalize(prediction)\n```\n\n## \ud83d\udcc3 License\n\n`aqua-blue` is released under the MIT License.\n\n---\n\n![Blue](https://raw.githubusercontent.com/Chicago-Club-Management-Company/aqua-blue/refs/heads/main/assets/blue.jpg)\n\n*Blue, the cat behind `aqua-blue`.*",
    "bugtrack_url": null,
    "license": null,
    "summary": "Lightweight and basic reservoir computing library",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/Chicago-Club-Management-Company/aqua-blue"
    },
    "split_keywords": [
        "computing",
        " forecasting",
        " learning",
        " machine",
        " prediction",
        " reservoir",
        " series",
        " time"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f6b16850116c599648bf4d59dfc6b29a35d4b527497fbd52c12e29c9cc5bf7ad",
                "md5": "b1a259819fff7d08b4c8909aa5b3a50b",
                "sha256": "a87fff8e9b8b5ff5f6b2185bd404346d9e39c141269317381a01f78312be6b58"
            },
            "downloads": -1,
            "filename": "aqua_blue-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b1a259819fff7d08b4c8909aa5b3a50b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 8652,
            "upload_time": "2025-03-01T00:58:58",
            "upload_time_iso_8601": "2025-03-01T00:58:58.573577Z",
            "url": "https://files.pythonhosted.org/packages/f6/b1/6850116c599648bf4d59dfc6b29a35d4b527497fbd52c12e29c9cc5bf7ad/aqua_blue-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d104fd709bb155154661d8ba6829e5c03cc51e08aa6aff01c5e78ec62833a8dd",
                "md5": "bdb8c3f4ac2d45b090e3e656d56602ca",
                "sha256": "23c7ac063ea326024290aab9a14423c052f0b7c231d5bab5b83156ea254b8751"
            },
            "downloads": -1,
            "filename": "aqua_blue-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "bdb8c3f4ac2d45b090e3e656d56602ca",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 7932,
            "upload_time": "2025-03-01T00:58:59",
            "upload_time_iso_8601": "2025-03-01T00:58:59.829096Z",
            "url": "https://files.pythonhosted.org/packages/d1/04/fd709bb155154661d8ba6829e5c03cc51e08aa6aff01c5e78ec62833a8dd/aqua_blue-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-03-01 00:58:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Chicago-Club-Management-Company",
    "github_project": "aqua-blue",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "aqua-blue"
}
        
Elapsed time: 0.43646s