Coding Sprint Descriptions and Software Links

1) Ripser applied to cyclo-octane molecule and optical image patches

Leader: Henry Adams,

At this beginner’s table, we will use the Ripser software package to compute the persistent homology of point cloud datasets (including the cyclo-octane molecule and optical image patches); a beginner’s version of Ripser can be run in one’s browser ( without downloading any software.


2) Hypothesis testing for TDA

Leader: Jessi Cisewski-Kehe

We will be using R to investigate how to use persistent homology summaries to compare different sets of data. We will explore simple datasets composed of data sampled on circles, and then consider more complicated datasets with web-like spatially complex features (similar to the large-scale structure of the Universe or fibrin networks).

Related talk on Saturday morning: TDA Inference for Spatially Complex Data


3) R package TDA

Leader: Jisu Kim,

This table will let the participants get familiar with the R package TDA. I will begin from the installation and follow the tutorial so that the participants can reproduce the topological data analysis results.


4) UMAP Development

Leader: Leland McInnes

The primary focus of this table will be on trying to get the latest version of UMAP ready for release. The sprint will focus on implementation of features, and writing documentation, especially use-cases demonstrating UMAP’s features.
Familiarity with Python is helpful. Documentation will be written using Jupyter notebooks.


Installation assistance will be provided.

5) Bug hunt for Scikit-TDA

Leader: Nathaniel Saul

There are outstanding issues that could  be resolved by someone with basic Python and TDA experience. An interesting issue to be resolved is to extend the functionality of persistence images.


  • Python
  • scikit-tda which can be installed using the pip command “pip install scikit-tda”

6) Example Generation Hackathon in Scikit-TDA

Leader: Christopher Traile

The group will work on adding to the examples posted at the Scikit-TDA web site.
The software is written in Python and can be installed via pip; see above.


  • Python
  • scikit-tda which can be installed using the pip command “pip install scikit-tda”

7) Introductory TDA in R with TDAstats

Leader: Raoul Wadhwa

We will begin by going through tutorials on computing and visualizing persistent homology with Vietoris-Rips complexes and discussing input formats depending on how users conceptualize them (e.g. distance matrix for network scientists, point cloud for topologists, etc.). We will then use real datasets (e.g. handwritten digits/letters) to see how TDA can be used to analyze them and perform classification tasks. Users can also bring their own datasets and learn how TDAstats can be used to effectively analyze them. Basic R knowledge would be helpful, but is not required; since this is a beginner table, I would be happy to provide R assistance for participants with programming experience in other languages.

Keywords: Vietoris-Rips, simplicial complex, TDAstats, R, beginner


  • R
  • Rstudio (recommended, but not essential)
  • TDAstats package: install from within R using the command `install.packages(“TDAstats”)`

Notes on getting software: Python, R, and beyond

Many of the coding sprints use Python or R or both.

One way to get both Python and R, along with Jupyter notebooks, JupyterLab, and the integrated development environments (IDEs) Spyder for Python and RStudio for R, is to install the free, downloadable Anaconda Python/R distribution from with versions for macOS, Windows and Linux.

Alternatively, R can be got from its home site and the CRAN repository mentioned there, and one can add RStudio, a popular IDE for R with a free downloadable version available from again for Windows, macOS and Linux.