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
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-nightly-20200213.5.tar.gz (112.5 kB view details)

Uploaded Source

Built Distributions

giotto_tda_nightly-20200213.5-cp38-cp38-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

giotto_tda_nightly-20200213.5-cp38-cp38-macosx_10_14_x86_64.whl (970.6 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

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

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

giotto_tda_nightly-20200213.5-cp37-cp37m-macosx_10_14_x86_64.whl (963.8 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

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

Uploaded CPython 3.6m Windows x86-64

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

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

giotto_tda_nightly-20200213.5-cp36-cp36m-macosx_10_14_x86_64.whl (963.3 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

Details for the file giotto-tda-nightly-20200213.5.tar.gz.

File metadata

  • Download URL: giotto-tda-nightly-20200213.5.tar.gz
  • Upload date:
  • Size: 112.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for giotto-tda-nightly-20200213.5.tar.gz
Algorithm Hash digest
SHA256 e15d71d811a82634e6000043a47d68a6aa93026e66ee8957a6d8ff4da235f19f
MD5 846b0e0365bf40d52d730f5b744a7e74
BLAKE2b-256 1c955e9b250f6eb0d8c67b7cf7580e3f6ece97a1651a989f87a376434e2692d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200213.5-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/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0eeb53c5df82f294d00bbe2103919044b770d5990c69e18f6dbe964e53a87a17
MD5 7acfce2562fed7594c3a2cd34684fb99
BLAKE2b-256 769fe7c8eef645d618aac8a73a8a82ec89e5b88ca08c17430bea124f872ed8e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200213.5-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.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fc5d07586e5a8e43d7fe81452f02ba7c7706ed96dfdb6ea662a12541a7af70f4
MD5 7e8ebefaa5eb1c7f15f47bbe420157f6
BLAKE2b-256 4fd161b640d693862ba35903b04a5c1c3664f05617b39ade4444123a5ced5421

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 16f17b9f29c46814b17afff9e51652f4f6b8f6d8eb28ef218d4c66c27824a625
MD5 b9b46e562a50539bfa32b16588e04a3d
BLAKE2b-256 ef1ca73d9006697fdbe5a9bf18b1b463f8444b7710d4d094f6d98f4d616abc60

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200213.5-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.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3a0545f4ae8cb9766663111d8d65f62d8d739b717e92fcad31a1eb71bbec7c7c
MD5 e52889b0150dea9ddc8a6e124e4ff15f
BLAKE2b-256 19dfc2066560356f321157b06c74f344c5a92ccb1feb9aeba456affe8b7f4f9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a5bd81150a81f1361cd2bd0f87dd24a7e47a94349b29e00680c4307d602a7320
MD5 604ce362861c0ad578b4461273ecb944
BLAKE2b-256 74caa23fd70d6e359932d094a31dad0f9cf9804b731a01d14c69b27de473d326

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7db2c7de36281e9b4190e0a32b043aed71676503a8107b59bedb7039d9dcea6e
MD5 9d938d7c7a59bf1fd08b3608691184ad
BLAKE2b-256 4b9f15bd9e9ece3e4477ff6879ed1980d1c59281612d795c63998ab255959772

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200213.5-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.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.8

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 8d0c1d1c08a2037a1df9d82593c1a06ef4c034c98c69399c0f923ba546ed992a
MD5 0b2fdb2b1945d7eeab86e2701e51829e
BLAKE2b-256 cf8a1ea5b52fdf3a845ece4316f49018beca243b75d7802187c20575ccd69779

See more details on using hashes here.

File details

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

File metadata

  • Download URL: giotto_tda_nightly-20200213.5-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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.10

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7ba987363aead5af0ca18d55d6688f11e9aa091c5e4fc78f8689c7dc91e88a6d
MD5 893c5fad22e62fcbb000f0a169986dde
BLAKE2b-256 a2644b8ce36ae15c440e02c8cf84a00455084ed5e08ab0d96d296681c1b240de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for giotto_tda_nightly-20200213.5-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d36f019f9e8022090d325f473dbe66b51fcce6a09e6b500a9a88770659463266
MD5 d7cc69ec68e7c7f93d98e4e9fc7cc7dc
BLAKE2b-256 8c09ee799ba5d72fdd57b169e05811b3e8e382b2eb6633fa628d3806f5eb4414

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