Skip to main content

kooplearn logo

Docs CI codecov PyPI version Python versions License

kooplearn is a Python library to learn evolution operators — also known as Koopman or Transfer operators — from data. kooplearn models can:

  1. Predict the evolution of states and observables.
  2. Estimate the eigenvalues and eigenfunctions of the learned evolution operators.
  3. Compute the dynamic mode decomposition of states and observables.
  4. Learn neural-network representations $x_t \mapsto \varphi(x_t)$ for evolution operators.

Why Choosing kooplearn?

  1. It is easy to use and strictly adheres to the scikit-learn API.

  2. Kernel estimators are state-of-the-art:

  3. Includes representation-learning losses (implemented both in Pytorch and JAX) to train neural-network Koopman embeddings.

  4. Offers a collection of datasets for benchmarking evolution-operator learning algorithms.

Installation

To install the core version of kooplearn:

pip

pip install kooplearn

uv

uv add kooplearn

To enable neural-network representations using kooplearn.torch or kooplearn.jax:

pip

# Torch
pip install "kooplearn[torch]"
# JAX
pip install "kooplearn[jax]"

uv

# Torch
uv add "kooplearn[torch]"
# JAX
uv add "kooplearn[jax]"

From source

For development, clone the repository and install the package with all optional extras and dependency groups:

git clone https://github.com/Machine-Learning-Dynamical-Systems/kooplearn.git
cd kooplearn
uv sync --all-extras --all-groups

With pip>=25.1, the equivalent editable install is:

python -m pip install -U pip
python -m pip install -e ".[torch,jax]" --group dev --group docs --group examples

Testing

Run the default test suite from the repository root with:

uv run pytest

After installing with pip, use:

python -m pytest

Contributing

We welcome contributions from the community. See CONTRIBUTING.md for development setup, testing, issue reports, and pull request guidance.

License

This project is licensed under the MIT License.

Main contributors

kooplearn is an joint effort between teams at the Italian Institute of Technology in Genoa and the École polytechnique in Paris. The main contributors to the project are (in alphabetical order):

  • Vladimir Kostic
  • Karim Lounici
  • Giacomo Meanti
  • Erfan Mirzaei
  • Pietro Novelli
  • Daniel Ordoñez-Apraez
  • Grégoire Pacreau
  • Massimiliano Pontil
  • Giacomo Turri

The mantainer of this repo is Pietro Novelli.

Citing kooplearn

@article{kooplearn,
title={kooplearn: A scikit-learn compatible library of algorithms for evolution operator learning},
author={Giacomo Turri and Grégoire Pacreau and Giacomo Meanti and Timothée Devergne and Daniel Ordoñez-Apraez and Erfan Mirzaei and Bruno Belucci and Karim Lounici and Vladimir R. Kostic and Massimiliano Pontil and Pietro Novelli},
year={2026},
eprint={2512.21409},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2512.21409}, 
}

We hope you find kooplearn useful for your dynamical systems analysis. If you encounter any issues or have suggestions for improvements, please don't hesitate to raise an issue. Happy coding!

Metadata

Release files for kooplearn 2.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kooplearn 2.0.3
File Size Uploaded Provenance Actions
kooplearn-2.0.3.tar.gz 44.1 MB Without provenance Details for kooplearn-2.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kooplearn 2.0.3
File Interpreter ABI Platform Actions
kooplearn-2.0.3-py3-none-any.whl Python 3 none any Details for kooplearn-2.0.3-py3-none-any.whl

Total release size: 44.2 MB

Release files / kooplearn-2.0.3.tar.gz

Download URL kooplearn-2.0.3.tar.gz
Size 44.1 MB
Tags Source
SHA-256 checksum
How to use checksums
e691dfe16fb15349eca526b3c1fc60754b8341840a08107d2b4a1d2577364e18
BLAKE2b-256 checksum
How to use checksums
5d7210bdfdc740da080b77704a677a3033f49464a0d51521d6bd68ed91b4649d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / kooplearn-2.0.3-py3-none-any.whl

Download URL kooplearn-2.0.3-py3-none-any.whl
Size 90.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8187bbc9dcc773699c9fb8b35c4f6277ba05463c10f6c5d5ae60dd1433ab6512
BLAKE2b-256 checksum
How to use checksums
a0b37c51321575d50cca04c51745e2b4b582e80fdf87e1de392d685c4f0aba87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for kooplearn 2.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page