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

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

giotto_tda_nightly-20200220.55-cp38-cp38-macosx_10_14_x86_64.whl (975.4 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

giotto_tda_nightly-20200220.55-cp37-cp37m-manylinux2010_x86_64.whl (1.5 MB view details)

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

giotto_tda_nightly-20200220.55-cp37-cp37m-macosx_10_14_x86_64.whl (968.5 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

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

Uploaded CPython 3.6m Windows x86-64

giotto_tda_nightly-20200220.55-cp36-cp36m-manylinux2010_x86_64.whl (1.5 MB view details)

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

giotto_tda_nightly-20200220.55-cp36-cp36m-macosx_10_14_x86_64.whl (968.1 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200220.55-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.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-20200220.55-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fe55493ddf7abf2263090c0d60324cabcccea0902556a002fc8ad1e4a0c8ead4
MD5 5be54535c7aa9256b334ea61ce3b860b
BLAKE2b-256 91d3ce41e987227f447101399ad7d72b45abf5c1fe7845442873094ca09c5a2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200220.55-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 87c0c28dc268e11dcd57ca2e6a472d61d486be66afdf52e6b5af3faf8fba879a
MD5 e7eef86a5bb7662745056beacfb855c1
BLAKE2b-256 5c4169e901dcb4641997d0ecc6278e1738490bc530183f5ab6cac5a3ff9af863

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200220.55-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 27be82fbcb8ec939fe0f8af92d29a980fb2e5189b06d84a90f943a0af773d978
MD5 0dc6c12cd6f66527e004149e25e423e1
BLAKE2b-256 cf1ec4fab63313274ce3a53175f4d322d29a3167cbc803304798314e2d13ebf6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200220.55-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-20200220.55-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e3f6b27c8a880ece082796ccd8a4fd7b717c8d72ae20c890c77437ce4c103ac1
MD5 3aa4404c2c5344d2cb5ad6f73c53b56d
BLAKE2b-256 10f7a5181d71014614949755c724e06c0daec0ef2ac3288b697c5b752e7712f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200220.55-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 264faccc809398286f0cf99198e145d743d771acfdb7a39f48b1a7329640d4ce
MD5 2f662fd3dff204cecba64afc0d29c095
BLAKE2b-256 95c14362af70093e19618997f5f2c14c508fa3ce73c915ef3e47e5ad256e97d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200220.55-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d18c1ae19f7cd22fa1284980c25282f988cb4c04b8e2d0978c8d8a4495265db4
MD5 395edf5d356a1c2335e064eae91a9c67
BLAKE2b-256 a8d0aa22e86b5d117ec1f05c6f895a355389b7a1aa16080a91bd4f6c5ccc554a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200220.55-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-20200220.55-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 eac280d57c0c373e54e97f3d819c12c6c2e19f5a1f2efa98c7ce7aece670b259
MD5 a7928c90af0d27b01cb5f09740426bf7
BLAKE2b-256 e2d684995a5036e3db13f6494d8e3501a2e75b7e23689eb48b97dc419f9adbe2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200220.55-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fb60f8c47772cac2d68124b9ef87a1ec4a91bf0a9eb40405719c9ec3909faa10
MD5 fdf2b107a1fdc35b5e4f0af7c8604390
BLAKE2b-256 12e5a6b7007d94aebda7e686dd50819b99076055b1427f2b603d10f253582bb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200220.55-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 70edc572768758cc7fc2ddc087f3d28aa27b7219b72410583b6e6d67d7e0ea78
MD5 fdcd4dda1a30e5c00c1269b7171e78b6
BLAKE2b-256 50e156ce55b46cf8fcf5619df1c8bd92dd44266df64d6acdc4f076ebbdbcbc8e

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