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

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

giotto_tda_nightly-20200829.19-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-20200829.19-cp37-cp37m-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.7m Windows x86-64

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

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

giotto_tda_nightly-20200829.19-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-20200829.19-cp36-cp36m-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.6m Windows x86-64

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

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

giotto_tda_nightly-20200829.19-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-20200829.19-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: giotto_tda_nightly-20200829.19-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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 326022905e91236a20de538b4f4a9af99be7cb62f43723ac5368449b0c00ee69
MD5 cd392e077f21f684ccf268bd1fc41193
BLAKE2b-256 744ff9f23d4efe9146ae5e23a08819123d10f8429f4604a5708bc92c626b0198

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5e1de088ee09e5b45bf3c0d6d514a5a805185ff1244dff2bcb2393b8e76064c6
MD5 a1d74582c5a911df604d7dd330cb82d8
BLAKE2b-256 b9c624a86a9f138778a6005a022b66f7726be22df1ab353cbb5847e1924e823c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 fb83334c9da42995a288c41dbec10d8b106d38f1fc388cb41081b4ecba8bdc04
MD5 09e106df3a8c42b10014c14d6fe67548
BLAKE2b-256 5db5adf07e5b42d62773b29aa84974565dfaeca05379033bb99084c2189bc58f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200829.19-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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2d56340848f2850c3e96e5aa20b7ed1b7f10e1160dc24e9f1f774f38a408002f
MD5 398e0c8d3d0c0f81eefc3f0833683f70
BLAKE2b-256 15ac2437df65c5e1a394b483ce1f24a6b7b0eb9df6a8bff33bc561348a238eb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 03a49db606c5acb0e5c57f56fab59d08d1b63bd7af16f686fa67b910f178e212
MD5 28a8c52af5cbae95687e2bf0d333b7b0
BLAKE2b-256 ea0790a8a941205d048b568f59b98538083755a39582cdb99e68d3c93fe58cfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 685056e0698214d7641af97b939532a087c3c22dd9b3fd7191657172a7fbbce4
MD5 15c60cb8641bf9c75418e8ce7d6dbdae
BLAKE2b-256 318a15846f507baba7e4c0141dfb13176ea6b54d006c462ffd64461b104f5dbe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200829.19-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/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.8

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 53108dfb9a9b2fa7d8feb2df30ad4f4b81f26591f8e21e95a72183a4cb4c9e34
MD5 9095ac35310e76618f172af724188a59
BLAKE2b-256 815ff0328caba93b18a4c3b641f32fd345f2f6365f474813cf9dfdfacb9ea53f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 76964256922aa8761de9446fb712776f6b77fcdda62f54e1c578375d561649cc
MD5 944e94b49ed54fd622b3c45448437158
BLAKE2b-256 f233c4275a97dd522fc73f14b8c7881aa23a5ba92b311a10f54d7f76b9fe0984

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.19-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 764da4fd5f025560672a594bdd3878158ab4e035755e9280af541996e7210416
MD5 df3c2a90686bd72da0e94639a6b9579a
BLAKE2b-256 7431ee7d54c583e10916df232b3ca29cd3ccc536126a10a91568ef56e642c7da

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