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

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9 macOS 10.16+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8 macOS 10.16+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

giotto_tda_nightly-20220803.3-cp37-cp37m-macosx_10_16_x86_64.whl (999.3 kB view details)

Uploaded CPython 3.7m macOS 10.16+ x86-64

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3e6e686dee5343644d4443bf67c1318f2f187d6f0ebf0f1387bab0a3fa66f9b4
MD5 762f74c3b9b00b54132786e46fa4c385
BLAKE2b-256 15af632159748736293c4e1109027dff03188a0e632751d973d9922b625fc473

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 738e953208b321438408a2d59210b2553de153b0304c43af56b787fd188ae9ea
MD5 0f1185073aa2da68e32f0c51620e1af8
BLAKE2b-256 77aef26dbd51ccccd44338ae1fb46e872e65d26756c7b405162f4f6675e38e8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp39-cp39-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 f3fe55a0b2805291703e5eb79f358dbf56b9953f8e0589dd9baa383e4a3045bc
MD5 cfbc20863b5e6d6bb59cbf69be384c5c
BLAKE2b-256 ea490f23990eb9a80ae54ddd9e2b0d8e26ae98b8cb2f2011e45bb1698aa2cab1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b24e68d46a765d3a7b06355697db5ad339608bc264816a74ef7c085158ab8cbf
MD5 8f7318c8c547a20e615d89a52c60f6f3
BLAKE2b-256 415e8d05ffc9df476ba85a73bf330a4cec085b7d09c3b09cee8046a72869fb9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b9321f364622e5b87f633ea583735419e03cd7d57142b0aa55f3d253c59eb85
MD5 522e91d59f4abd883ab6676a273abc98
BLAKE2b-256 dca068fc5bd5226412eea831a4b181ce6db977ce228f0111178d0f075801f79f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp38-cp38-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 748ec3367893899a737e72db001dc7e6a91466279b8d568dc21ac529faccabe8
MD5 4bb49d2ec7e9310ff018ebbdde5290c1
BLAKE2b-256 c4b3f7a840c8d5e67fa3f8414674c662ba7c7b4507b0103bb1756750019f28dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ee3e26c7170a8b3ad80f61ec7305d3c0c25548566b366efe9d8303d521304956
MD5 a763214218c1f4b8b57f248c08584f1e
BLAKE2b-256 f47f8081842111a10ea7528c7527690099fbdb30479efda0af32b368b8264739

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0efc136e1cd64bd0b4f9d9639c5389499590def13ca94f00a06dc5fc5c894297
MD5 d7704d5e1f342b643ad8b6ac71d6dd35
BLAKE2b-256 15781dcebde2552b17695996f5c20faed465205b46b0ee63cc436a383a40c7d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20220803.3-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 f1aaa85b0276f0b65217c854865fdf8e7f1c35557ddd9ac1ba5be104d878c8d0
MD5 592acd8a33637e9abd08c32116684403
BLAKE2b-256 02293cae57f9b2f8abaf6b47985716c4ef9e78f2e38110674132f16ca91ebe39

See more details on using hashes here.

Supported by

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