Libraries

Scikit-TDA provides a complete suite of TDA tools designed for academic or industry uses.

To install the entire suite

>>> pip install scikit-tda

Below, you’ll find information on each individual package, along with resources to explore more. Each package is well tested, well documented, easy to install, and open for contributions. If you find any bugs in the code or documentation, please let us know on github.


logo for cec

Ripser.py

https://badge.fury.io/py/ripser.svg https://img.shields.io/pypi/dm/ripser https://codecov.io/gh/scikit-tda/ripser.py/branch/master/graph/badge.svg https://img.shields.io/badge/License-MIT-yellow.svg

Ripser.py is a lean persistent homology package for Python. Building on the blazing fast C++ Ripser package as the core computational engine, Ripser.py provides an intuitive interface for

  • computing persistence cohomology of sparse and dense data sets,

  • visualizing persistence diagrams,

  • computing lowerstar filtrations on images, and

  • computing representative cochains.

Installation is as easy as

>>> pip install ripser

Check out complete documentation for Ripser.py at ripser.scikit-tda.org and the source code at github.com/scikit-tda/ripser.py.


logo for cec

Kepler Mapper

https://badge.fury.io/py/kmapper.svg https://img.shields.io/pypi/dm/kmapper https://codecov.io/gh/scikit-tda/kepler-mapper/branch/master/graph/badge.svg https://img.shields.io/badge/License-MIT-yellow.svg

Kepler Mapper is a library implementing the Mapper algorithm in Python. Mapper can be used for visualization of the topological structures in a high-dimensional data point cloud data. Kepler Mapper leverages Scikit-Learn API compatible cluster and scaling algorithms to streamline the construction of the algorithm. The library also provides multiple visualization tools built on D3.js or Plotly.

Installation is as easy as

>>> pip install kmapper

Check out complete documentation for Kepler Mapper at kepler-mapper.scikit-tda.org and the source code at github.com/scikit-tda/kepler-mapper.


logo for cec

Persim

https://badge.fury.io/py/persim.svg https://img.shields.io/pypi/dm/persim https://codecov.io/gh/scikit-tda/persim/branch/master/graph/badge.svg https://img.shields.io/badge/License-MIT-yellow.svg

Once diagrams are constructed, the Persim package comes into play. This package houses many methods for comparison and analysis of persistence diagrams. It currently houses implementations of

  • Persistence Images

  • Diagram distances (Bottleneck distance, Sliced Wasserstein Kernel, Heat Kernel)

  • Diagram visualization

Installation is as easy as

>>> pip install persim

Check out complete documentation for Persim at persim.scikit-tda.org and the source code at github.com/scikit-tda/persim.


logo for cec

DREiMac

https://badge.fury.io/py/dreimac.svg https://img.shields.io/pypi/dm/dreimac https://codecov.io/gh/scikit-tda/dreimac/branch/master/graph/badge.svg https://img.shields.io/badge/License-MIT-yellow.svg

DREiMac is a library for topological data coordinatization, visualization, and dimensionality reduction. Currently, DREiMac is able to find topology-preserving representations of point clouds taking values in the circle, in higher dimensional tori, in the real and complex projective space, and in lens spaces.

Installation is as easy as

>>> pip install dreimac

Check out complete documentation for DREiMac at dreimac.scikit-tda.org and the source code at github.com/scikit-tda/dreimac.


logo for cec

CechMate

https://badge.fury.io/py/cechmate.svg https://img.shields.io/pypi/dm/cechmate https://codecov.io/gh/scikit-tda/cechmate/branch/master/graph/badge.svg https://img.shields.io/badge/License-MIT-yellow.svg

This library provides easy to use constructors for custom filtrations that are suitable for use with Phat. Phat currently provides a clean interface for persistence reduction algorithms for boundary matrices. This tool helps bridge the gap between data and boundary matrices. Currently, we support construction of

  • Alpha filtrations,

  • Rips filtrations, and

  • Cech filtrations, and

  • provide an easy interface for Phat.

Installation is as easy as

>>> pip install cechmate

Check out complete documentation for CechMate at cechmate.scikit-tda.org and the source code at github.com/scikit-tda/cechmate.


logo for cec

TaDAsets

https://badge.fury.io/py/tadasets.svg https://img.shields.io/pypi/dm/tadasets https://codecov.io/gh/scikit-tda/tadasets/branch/master/graph/badge.svg https://img.shields.io/badge/License-MIT-yellow.svg

This package provides some nice utilities for creating and loading data sets that are useful for Topological Data Analysis. Currently, we provide various synthetic data sets with particular topological features and various levels of noise and dimension. Currently includes

  • n-spheres,

  • torus,

  • swiss rolls, and

  • figure 8s.

Installation is as easy as

>>> pip install tadasets

Check out complete documentation for TaDAsets at tadasets.scikit-tda.org and the source code at github.com/scikit-tda/tadasets.