giotto-tda
is a high-performance topological machine learning toolbox in Python built on top of
scikit-learn
and is distributed under the GNU AGPLv3 license. It is part of the Giotto
family of open-source projects.
giotto-tda
is the result of a collaborative effort between L2F SA,
the Laboratory for Topology and Neuroscience at EPFL,
and the Institute of Reconfigurable & Embedded Digital Systems (REDS) of HEIG-VD.
giotto-tda
is distributed under the AGPLv3 license.
If you need a different distribution license, please contact the L2F team.
Please visit https://giotto-ai.github.io/gtda-docs and navigate to the version you are interested in.
For a wide selection of use cases and application domains, you can visit this page.
The latest stable version of giotto-tda
requires:
- Python (>= 3.6)
- NumPy (>= 1.17.0)
- SciPy (>= 0.17.0)
- joblib (>= 0.13)
- scikit-learn (>= 0.22.0)
- pyflagser (>= 0.4.0)
- python-igraph (>= 0.7.1.post6)
- plotly (>= 4.4.1)
- ipywidgets (>= 7.5.1)
To run the examples, jupyter is required.
The simplest way to install giotto-tda
is using pip
pip install -U giotto-tda
If necessary, this will also automatically install all the above dependencies. Note: we recommend
upgrading pip
to a recent version as the above may fail on very old versions.
Pre-release, experimental builds containing recently added features, and/or bug fixes can be installed by running
pip install -U giotto-tda-nightly
The main difference between giotto-tda-nightly
and the developer installation (see the section
on contributing, below) is that the former is shipped with pre-compiled wheels (similarly to the stable
release) and hence does not require any C++ dependencies. As the main library module is called gtda
in
both the stable and nightly versions, giotto-tda
and giotto-tda-nightly
should not be installed in
the same environment.
Please consult the dedicated page
for detailed instructions on how to build giotto-tda
from sources across different platforms.
We welcome new contributors of all experience levels. The Giotto
community goals are to be helpful, welcoming, and effective. To learn more about
making a contribution to giotto-tda
, please consult the relevant page.
After installation, you can launch the test suite from outside the source directory
pytest gtda
- Official source code repo: https://github.com/giotto-ai/giotto-tda
- Download releases: https://pypi.org/project/giotto-tda/
- Issue tracker: https://github.com/giotto-ai/giotto-tda/issues
If you use giotto-tda
in a scientific publication, we would appreciate citations to the following paper:
giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration, Tauzin et al, arXiv:2004.02551, 2020.
You can use the following BibTeX entry:
@misc{tauzin2020giottotda,
title={giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration},
author={Guillaume Tauzin and Umberto Lupo and Lewis Tunstall and Julian Burella Pérez and Matteo Caorsi and Anibal Medina-Mardones and Alberto Dassatti and Kathryn Hess},
year={2020},
eprint={2004.02551},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
giotto-ai Slack workspace: https://slack.giotto.ai/