Skip to main content

Toolbox for Machine Learning using Topological Data Analysis.

Project description

https://raw.githubusercontent.com/giotto-ai/giotto-tda/master/doc/images/tda_logo.svg

Version Azure-build Azure-cov Azure-test Twitter-follow Slack-join

giotto-tda

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.

Project genesis

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.

License

giotto-tda is distributed under the AGPLv3 license. If you need a different distribution license, please contact the L2F team.

Documentation

Please visit https://giotto-ai.github.io/gtda-docs and navigate to the version you are interested in.

Installation

Dependencies

The latest stable version of giotto-tda requires:

  • Python (>= 3.6)
  • NumPy (>= 1.19.1)
  • SciPy (>= 1.5.0)
  • joblib (>= 0.16.0)
  • scikit-learn (>= 0.23.1)
  • pyflagser (>= 0.4.3)
  • python-igraph (>= 0.8.2)
  • plotly (>= 4.8.2)
  • ipywidgets (>= 7.5.1)

To run the examples, jupyter is required.

User installation

The simplest way to install giotto-tda is using pip

python -m 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

python -m 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.

Developer installation

Please consult the dedicated page for detailed instructions on how to build giotto-tda from sources across different platforms.

Contributing

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.

Testing

After developer installation, you can launch the test suite from outside the source directory

pytest gtda

Citing giotto-tda

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}
}

Community

giotto-ai Slack workspace: https://slack.giotto.ai/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for giotto-tda-nightly, version 20210709.4
Filename, size File type Python version Upload date Hashes
Filename, size giotto_tda_nightly-20210709.4-cp36-cp36m-macosx_10_15_x86_64.whl (1.2 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.5 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp36-cp36m-win_amd64.whl (1.3 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp37-cp37m-macosx_10_15_x86_64.whl (1.2 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.5 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp37-cp37m-win_amd64.whl (1.3 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp38-cp38-macosx_10_15_x86_64.whl (1.3 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.5 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp38-cp38-win_amd64.whl (1.3 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp39-cp39-macosx_10_15_x86_64.whl (1.3 MB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.5 MB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size giotto_tda_nightly-20210709.4-cp39-cp39-win_amd64.whl (1.3 MB) File type Wheel Python version cp39 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page