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.

Use cases

For a wide selection of use cases and application domains, you can visit this page.

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

  • 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 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/

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-20200902.10-cp38-cp38-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

giotto_tda_nightly-20200902.10-cp38-cp38-manylinux2010_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

giotto_tda_nightly-20200902.10-cp38-cp38-macosx_10_14_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

giotto_tda_nightly-20200902.10-cp37-cp37m-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.7m Windows x86-64

giotto_tda_nightly-20200902.10-cp37-cp37m-manylinux2010_x86_64.whl (1.4 MB view details)

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

giotto_tda_nightly-20200902.10-cp37-cp37m-macosx_10_14_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

giotto_tda_nightly-20200902.10-cp36-cp36m-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.6m Windows x86-64

giotto_tda_nightly-20200902.10-cp36-cp36m-manylinux2010_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

giotto_tda_nightly-20200902.10-cp36-cp36m-macosx_10_14_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200902.10-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cccda8f36990d370df484457deb46d28576c80678674443a80d6d05737b93ee0
MD5 867625b5369dcdedbc1d14a44e207314
BLAKE2b-256 3959e3f93e1b8e281cd13fd6e0f72f815fe4b89c209a9ac26f8568cc0c7b2ae2

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20200902.10-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 768687716be9df1f1e2a4307d9669c07b8d3e8bedc283df5ce335f5b8ae49ca1
MD5 beb3aa3b4ecd0bb56fe92bb97a0a7372
BLAKE2b-256 11d2ec86b05ac930a210b899bc0b3d7ff81979a3b694e8e3a894a30b5398a785

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20200902.10-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7ed654c35311439985878e8b82838c07ede6595a84ea5238e57bc9590afbd4de
MD5 6881754f8aa27ec66e0823cab382cc67
BLAKE2b-256 e8ad34be7c38af4d148ae0fd93e3a8c01d376855b8b966ddc176fab20f0d9dd4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200902.10-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b14e12a510d57529028f7f0eae6bda2a34060a434021d048e9937da6c30e9f87
MD5 8bbe70af4bf9657663738ef237ea6e44
BLAKE2b-256 dc9a9bb97f9fa2e40cdba679f57ca938c1af50911a58d092c96ccbb95b5edfe0

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20200902.10-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5fe4b9b4035b5c35d077f331c09c163b9f6b3cb8f40bdb10acbe6ae35c466b08
MD5 860876b6a439fe15e490d0c253f9366b
BLAKE2b-256 6c054481fd4f10a44db9c607ed493a95dbdbaeb64742fbd499bedc93d00a80ec

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20200902.10-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 51b97047d9d5df9010b2233cf0b01fcb0a120a3086a38eafd84f795d2d9d9077
MD5 d62b4685d3f16a184c337916b3e22343
BLAKE2b-256 5c97ae3418a3d0e298f2889ab44f6dc2b19320234d0e0fd5daa4fd940effe12b

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20200902.10-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: giotto_tda_nightly-20200902.10-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.8

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a33868671f81b85e7fb4b6fdca9e2e86567a560caad0947518d92f219eb0a44d
MD5 ae55a2a73493da5469fc0ad7191e2dc6
BLAKE2b-256 4a60d445c7137b1ec08474c07034a6b1a5d48fa5c82c12bb376a7928c92faad8

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20200902.10-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 327a412b94cfc59e81407c838c4afaceeff813cfa028b9670e76429cd1bddf8a
MD5 636a2307d0f29cf4ac0c2c1b8669215f
BLAKE2b-256 f5989af8af8df60c2e4cbe9c2adc87355f400bc24327de10475ea8291d885155

See more details on using hashes here.

File details

Details for the file giotto_tda_nightly-20200902.10-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for giotto_tda_nightly-20200902.10-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a65b5dbd60d807c1d495560a4b0c959649ca55d10eb7775810575e4ff2ec1b4a
MD5 9d9d6267abf63e83e1f0492edef0fe99
BLAKE2b-256 7a84de0b47d167a23e5c3bf68104ea86c38b71bc3be804cffecdc4597855f4b7

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