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.7)

  • 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, J. Mach. Learn. Res. 22.39 (2021): 1-6.

You can use the following BibTeX entry:

@article{giotto-tda,
  author  = {Guillaume Tauzin and Umberto Lupo and Lewis Tunstall and Julian Burella P\'{e}rez and Matteo Caorsi and Anibal M. Medina-Mardones and Alberto Dassatti and Kathryn Hess},
  title   = {giotto-tda: A Topological Data Analysis Toolkit for Machine Learning and Data Exploration},
  journal = {Journal of Machine Learning Research},
  year    = {2021},
  volume  = {22},
  number  = {39},
  pages   = {1-6},
  url     = {http://jmlr.org/papers/v22/20-325.html}
}

Community

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

Contacts

maintainers@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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

giotto_tda_nightly-20220818.20-cp39-cp39-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9Windows x86-64

giotto_tda_nightly-20220818.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

giotto_tda_nightly-20220818.20-cp39-cp39-macosx_10_16_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9macOS 10.16+ x86-64

giotto_tda_nightly-20220818.20-cp38-cp38-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8Windows x86-64

giotto_tda_nightly-20220818.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

giotto_tda_nightly-20220818.20-cp38-cp38-macosx_10_16_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8macOS 10.16+ x86-64

giotto_tda_nightly-20220818.20-cp37-cp37m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.7mWindows x86-64

giotto_tda_nightly-20220818.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

giotto_tda_nightly-20220818.20-cp37-cp37m-macosx_10_16_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.7mmacOS 10.16+ x86-64

File details

Details for the file giotto_tda_nightly-20220818.20-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f5229d038bf277b17cb886004d6aea9b9d94dd33170ac1ece68290b7d57fb3ce
MD5 a3ff6e2a8d8a7adad31f87740d3c3c00
BLAKE2b-256 94a74bdf1f9008ce793b4455e0f30e1b1e5e2f2dc6b2489ff0c793df1829c69d

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b232bac7b94c5cbce2559654728af35a037e81b3d939c188bdabf59239d8b4af
MD5 8cd74edac95872335b577df1afbd9e65
BLAKE2b-256 ea956b20a80a36461a737567fa80774a9d334ce088a9ec406151a5b163bc6988

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp39-cp39-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp39-cp39-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 add232186a5c514bb819cc131a33a99936dd59abe2720215f9dabf33f2c3b820
MD5 51661fa2d70582051adfad4d02963c25
BLAKE2b-256 01a8f7478760e75e5f356a5719b2bf534d7866661a63d0faf5c407d1ad16eedd

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7e4abb59d9fa274e54351e4e7480fe8f232edb10f5207117801524174bf1c2a2
MD5 45605b943c6f77924a35c2f5f3962dc1
BLAKE2b-256 5437a0d142ffc9e65d7774226330e11ddbd5fdbbd0ad62297cdd974a6c5740a0

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f445735c0b41b708a534795b909b29f49414196780ae0b25634a9fbdc8c368ce
MD5 14f8269b707eac52b4f04f12bc159a22
BLAKE2b-256 758cae6747654c87974647c6ff2945a3761fbb69ac6ec638a1a39f95d0710ad6

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp38-cp38-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp38-cp38-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 1fb1a9745066bca2f1c96910855a977bfdd1dafd9028dc5a28033eb68f166603
MD5 979e47a1bd38c789c635d081c08654cd
BLAKE2b-256 1bf5849e2e038729c3bf29cbaaba58822c067363e4ffe2913e500ecf48fad5a3

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 707a0e2b90128ed153a196f84beace45e48e353f58e6e89b17cb22f29f1791d8
MD5 e9d67f02240d24ddd7fbd6063b13814e
BLAKE2b-256 3b3cdf2d45bb718846f17e83261aa959a2076c9a9782b5e595364f70ac3bdc9f

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 302f9d88fe358aabc827bc0358521df2a8697fc0e44194cf680f1d27ec1a3d29
MD5 c5550918194b8e3a04a4fa13d81c79e4
BLAKE2b-256 0cfd86ceb83d7c0ad58d48bb08dae5338a3c3795f6709307f58c3026e8564d5a

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20220818.20-cp37-cp37m-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20220818.20-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 ebf11539154b6ead8f7fdcc8a823779c3590f8f9f0e954ce357af36365fc9e0f
MD5 89ac6ab51e3371e81fc4dcaa5fdb83bc
BLAKE2b-256 231e285665f83c4b89ec5e2f437627af9a0b1a8001f7a8cd8ab5c65125744808

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page