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

Uploaded CPython 3.8 Windows x86-64

giotto_tda_nightly-20200829.16-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.16-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.16-cp36-cp36m-manylinux2010_x86_64.whl (1.4 MB view details)

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

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200829.16-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.16-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 abc6056e0b05c87983a7ac0301f8c9a5848049495fea626388d6cedb88a8136d
MD5 496d7ae776707481e1a06b122259ecd5
BLAKE2b-256 345a1ca595e2e71e152e69b33b6a5dbea0f739fb6b8cb54f8af0972144e76c65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.16-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 083a76a78e0cae9628442e882a94507de921a843846506f0b9fd37b7d65b8844
MD5 0a067ac2f4ae044e44e8316ab9a3a0ee
BLAKE2b-256 0bbe089dc305adcb729e554c484dc251f44542e9645a2f55873a351a5cdf464a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.16-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4d05a4683fe5701c4f8ff880b1805057f89cc8ebd8c9ff5959d10283e136abda
MD5 f22e61f6b95b70f22cd31faff800e841
BLAKE2b-256 bb1062d2fe48b9ae0930e62ded8725dced93954c52f4f294aa9f74038062602b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200829.16-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e194705a04bfb5e948555d6cc069e99a158745be3636b64b246fa76729d829de
MD5 781b0c687f0250730b76c7d726b58366
BLAKE2b-256 f92328c82adaffd5f72b8fb2043054ada0e437f57944901f7bb754dca1242efc

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