Skip to main content

Toolbox for Machine Learning using Topological Data Analysis.

Project description

https://www.giotto.ai/static/vector/logo-tda.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 at business@l2f.ch.

Documentation

Getting started

To get started with giotto-tda, first follow the installations steps below. This blog post, and references therein, offer a friendly introduction to the topic of topological machine learning and to the philosophy behind giotto-tda.

Tutorials and use cases

Simple tutorials can be found in the examples folder. 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.17.0)

  • SciPy (>= 0.17.0)

  • joblib (>= 0.13)

  • scikit-learn (>= 0.22.0)

  • python-igraph (>= 0.7.1.post6)

  • matplotlib (>= 3.0.3)

  • plotly (>= 4.4.1)

  • ipywidgets (>= 7.5.1)

To run the examples, jupyter is required.

User installation

The simplest way to install giotto-tda is using pip

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

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.

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 see the CONTRIBUTING.rst file.

Developer installation

Installing both the PyPI release and source of giotto-tda in the same environment is not recommended since it is known to cause conflicts with the C++ bindings.

The developer installation requires three important C++ dependencies:

  • A C++14 compatible compiler

  • CMake >= 3.9

  • Boost >= 1.56

Please refer to your system’s instructions and to the CMake and Boost websites for definitive guidance on how to install these dependencies. The instructions below are unofficial, please follow them at your own risk.

Linux

Most Linux systems should come with a suitable compiler pre-installed. For the other two dependencies, you may consider using your distribution’s package manager, e.g. by running

sudo apt-get install cmake libboost-dev

if apt-get is available in your system.

macOS

On macOS, you may consider using brew (https://brew.sh/) to install the dependencies as follows:

brew install gcc cmake boost
Windows

On Windows, you will likely need to have Visual Studio installed. At present, it appears to be important to have a recent version of the VS C++ compiler. One way to check whether this is the case is as follows: 1) open the VS Installer GUI; 2) under the “Installed” tab, click on “Modify” in the relevant VS version; 3) in the newly opened window, select “Individual components” and ensure that v14.24 or above of the MSVC “C++ x64/x86 build tools” is selected. The CMake and Boost dependencies are best installed using the latest binary executables from the websites of the respective projects.

Source code

You can obtain the latest state of the source code with the command:

git clone https://github.com/giotto-ai/giotto-tda.git
To install:
cd giotto-tda
python -m pip install -e ".[dev]"

This way, you can pull the library’s latest changes and make them immediately available on your machine. Note: we recommend upgrading pip and setuptools to recent versions before installing in this way.

Testing

After installation, you can launch the test suite from outside the source directory:

pytest gtda

Changelog

See the RELEASE.rst file for a history of notable changes to giotto-tda.

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

Uploaded CPython 3.8 Windows x86-64

giotto_tda_nightly-20200302.12-cp38-cp38-manylinux2010_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

giotto_tda_nightly-20200302.12-cp38-cp38-macosx_10_14_x86_64.whl (979.8 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

giotto_tda_nightly-20200302.12-cp37-cp37m-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.7m Windows x86-64

giotto_tda_nightly-20200302.12-cp37-cp37m-manylinux2010_x86_64.whl (1.6 MB view details)

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

giotto_tda_nightly-20200302.12-cp37-cp37m-macosx_10_14_x86_64.whl (972.9 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

giotto_tda_nightly-20200302.12-cp36-cp36m-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.6m Windows x86-64

giotto_tda_nightly-20200302.12-cp36-cp36m-manylinux2010_x86_64.whl (1.6 MB view details)

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

giotto_tda_nightly-20200302.12-cp36-cp36m-macosx_10_14_x86_64.whl (972.5 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200302.12-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cd3f95abd81e030c065daac465d3b52ef2a2893c83f0e9b579dd0db88d14e9d6
MD5 bcc7ed103d230cc93db19716d186cf66
BLAKE2b-256 818bf78a8f86b6beb1ba91d693f5ec6bde9ed1d2ce103260dc2eff42d9de15c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 11b5deac00d2d919116922e15c38b06446dc4e6dde9bb1c66845b50527325ff2
MD5 4bfb2bf2e9600f33a1bdff65f638994b
BLAKE2b-256 41e281515d116aa383a916b7c35235c8f8934847b37c8e214a95afa8b4e6ae63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d69a9c6e4a1c7c66ef93c0b21b4b112839aed21d91fe9ae734970b7595198ef3
MD5 93b1267ba904d774cd4393574300db50
BLAKE2b-256 e4774319dfa42cde0ffd0b580c8c0f5bdc449102077aefe229d93b39a4e2dcbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200302.12-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8813ced85a37360ae29477005bf7b42244bdd47b1866a73d1a89f6dd399f7061
MD5 3a49fc87a0eca5ee3f0aca2243c2fb79
BLAKE2b-256 4aa5f548b2c09ac0834d696f73d738b0a6d046f308391cb8d14703b86dbc8bc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 616406de91351156ae6a5ff5990995be66f63cad6a2ce5c4954664fd46b3a97b
MD5 95386aacd1fdc7cf4e5c3c23e4da3c16
BLAKE2b-256 c415a294af5e07fc3bcdb12e03f9799725615b662bf2dbf7c6093d155668012b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 50a40dd85664787ce886313723183546ddb228584520af0709fbb8221e485161
MD5 10b00fd5d0498886b67edda9a1ee3b63
BLAKE2b-256 ed82d252e822ee41c43eb96a3fe7d500d92e5503de8c437f3cdbeda46a9d862d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200302.12-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 76d5f753c63a368ac264b7aab674422f1acc32fcb3b6c7a106086b3c1e70603f
MD5 a5a220bce439789b211636b6411369d9
BLAKE2b-256 efd7f261e4032e3fc1e9529e6ca4637a64dbafd7663aa3d0dd855ace40cef41b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 253525f70be1135c4d19034366885ebe0a20512eeee345226ffca64d564383ba
MD5 b562d98508d5f4ec1dcaf15966b5c82f
BLAKE2b-256 b7e9049ea0a730f2f996b0481d149fa0162ff657305a0efe39b312836886fa51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200302.12-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c693e3c008e79835a5e4d77c4f56865aab6205ce7cd1a04b22d97cb5f86a4934
MD5 d9d168b8d469d603558ee34348d8a234
BLAKE2b-256 aa062b36a9ddd78ff4c25f29e098cf3e320a54d8adbf4bf702e20652062df415

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