Skip to main content

Toolbox for Machine Learning using Topological Data Analysis.

Project description

https://www.giotto.ai/static/vector/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.

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

  • NumPy (>= 1.17.0)

  • SciPy (>= 0.17.0)

  • joblib (>= 0.11)

  • 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

Note: the above may fail on old versions of pip. We recommend upgrading pip to a recent version.

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 below) is that the former is shipped with pre-compiled wheels (similarly to the stable release) and hence does not require any C++ dependencies.

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 boost

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
pip install -e ".[tests, doc]"

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 Distribution

giotto-tda-0.1.4.tar.gz (99.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

giotto_tda-0.1.4-cp38-cp38-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8Windows x86-64

giotto_tda-0.1.4-cp38-cp38-manylinux2010_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

giotto_tda-0.1.4-cp38-cp38-macosx_10_13_x86_64.whl (944.7 kB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

giotto_tda-0.1.4-cp37-cp37m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.7mWindows x86-64

giotto_tda-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

giotto_tda-0.1.4-cp37-cp37m-macosx_10_13_x86_64.whl (937.9 kB view details)

Uploaded CPython 3.7mmacOS 10.13+ x86-64

giotto_tda-0.1.4-cp36-cp36m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.6mWindows x86-64

giotto_tda-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

giotto_tda-0.1.4-cp36-cp36m-macosx_10_13_x86_64.whl (937.5 kB view details)

Uploaded CPython 3.6mmacOS 10.13+ x86-64

giotto_tda-0.1.4-cp35-cp35m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.5mWindows x86-64

giotto_tda-0.1.4-cp35-cp35m-manylinux2010_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

giotto_tda-0.1.4-cp35-cp35m-macosx_10_13_x86_64.whl (937.5 kB view details)

Uploaded CPython 3.5mmacOS 10.13+ x86-64

File details

Details for the file giotto-tda-0.1.4.tar.gz.

File metadata

  • Download URL: giotto-tda-0.1.4.tar.gz
  • Upload date:
  • Size: 99.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto-tda-0.1.4.tar.gz
Algorithm Hash digest
SHA256 7b2b2e5c0083802129a08c971da589bbb292638c8ac8020ba211d097bae5cc9d
MD5 8f27db0de7506cd659d07cf91eca9905
BLAKE2b-256 fd95ca76736aaa15e94780458242f08fa44239f976163000b56cdbb9ebaba03f

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.0 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.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for giotto_tda-0.1.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 05af7050d3b8a0c2873720554af1cf1d4f048f480aaf88f24fee2fcc8e09cd4d
MD5 f3bb4b42c0f043d9751e80f4200d0556
BLAKE2b-256 48fb94c4e67b9eb958c87adba67b1ae5e37263a39de3fa96de4c0391dd237f1d

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 978863e278fcf26e97f63e9e540363aacc970b05c6f56180ceed901fa6e8a723
MD5 f6621018f9bce2a465818a0b8e4156b4
BLAKE2b-256 6002a4220a2629baadd5e929725c491fe741c1f17a3b3df6b74d0afd1c85a4f9

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp38-cp38-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 944.7 kB
  • Tags: CPython 3.8, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 15e1a1c80a3dfdf0a911cc658c946a9ccd441f3df70e0965a5ae2012328464d0
MD5 760c5e025c96f9e14bdaee65fbe47834
BLAKE2b-256 c94149828130dcb6c3955bea589db56a8a0ac6c6061b9c868015ec86b08e97e8

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.0 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.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for giotto_tda-0.1.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8e710b89d406b15a5162ac5c64e4b9c5f25b6cfee6e28a74ac62b4371d0f2b87
MD5 0e679fc87d00b5b75e316988ba98900d
BLAKE2b-256 5e231d62cb87c047c6d4ca01d88033cf33e774f2526c907a22b472aadc8c6f84

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f1f197d04ba78b244919f654bd274b0804df8ebac09792562a44d1c550078230
MD5 75cdfa2d89ca9ad77b05f1cc14dc4dc3
BLAKE2b-256 be36a2e6f208cef20633c9738ea16a88effab6e3d75fed67f3102abc856f901a

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp37-cp37m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 937.9 kB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2e4ed94c0958f6ec5232916ff3c21021c7ac98f5b28162594147e8ed9ad78c8f
MD5 f328bc9b2894208620344d452f0ceada
BLAKE2b-256 73589ca21d257cd2a14b1015840e9c5a3c9efb30123cebb817c28f05fc95ba97

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.0 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.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for giotto_tda-0.1.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 fc62847a599426ea2d9eb90a9772f125956399a7a16d92607656889674584945
MD5 37fa0b7adea3230f1a265cae4616c9c6
BLAKE2b-256 dd32ea98539a1eee807abcb164f8a3cba299adf5ea33b3ad8b8bb8b5459b449c

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a8134d7f67527a4d8ba08469fff8f4e3314d82f726fc68326bec343ccb0379c6
MD5 ec6445303e0ce5daaf92949482129182
BLAKE2b-256 e0e39c916865a12cc367aefe5f929d20dd80cc1da5a1110623f3a205cf3cce98

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 937.5 kB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4b769cde99da81aa2a9958654e4068ec3c6af4feae6e78f8a23bac733754e8da
MD5 d705d75e3f25950c523be906242c5c69
BLAKE2b-256 0c4568cd3dfe37d1d430845ff3cf1b68c3002143c6ef19961c38a6a3e8c70e6e

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for giotto_tda-0.1.4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 45ec6505176f195bbcfee356ca292aabd7265efce61142f09fa030f6ef4f5cbc
MD5 bbadfb97fe33fd9977b6744d826bcba8
BLAKE2b-256 af3cad161507de0bfb2846ddd146a50075816e0fa4ca2c00f37ca9dce5b0464a

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 75634192e9eee2c87b76a5f6d9f4a252aafd3228e4655ac67d6b162375a543e4
MD5 6e2f746a5b6abf2e8e4cae920edcbdea
BLAKE2b-256 120823e58108011dc7b4224943fdb9b6710f299252d8609f1f46d3f0b6b721b8

See more details on using hashes here.

File details

Details for the file giotto_tda-0.1.4-cp35-cp35m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: giotto_tda-0.1.4-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 937.5 kB
  • Tags: CPython 3.5m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for giotto_tda-0.1.4-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 126f5cee22b0602f1621f57d5bb173d87666013551b05362ec83e279e32932ba
MD5 be31c438a3e8b8288fab4233a918594f
BLAKE2b-256 95a2833d5c77564f0e4de1990535965e75f7888c67714df59056716e8e205b6d

See more details on using hashes here.

Supported by

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