SkillAgentSearch skills...

Topologyx

Topological Data Analysis Routines

Install / Use

/learn @merylldindin/Topologyx

README

<a href="https://merylldindin.com"> <img src="https://cdn.merylldindin.com/github/topologyx.webp" alt="topologyx" width="100%"> </a> <div align="center"> <a href="https://github.com/merylldindin/topologyx/graphs/contributors" target="_blank"> <img src="https://img.shields.io/github/contributors/merylldindin/topologyx.svg?style=for-the-badge" alt="contributors"/> </a> <a href="https://github.com/merylldindin/topologyx/stargazers" target="_blank"> <img src="https://img.shields.io/github/stars/merylldindin/topologyx.svg?style=for-the-badge" alt="stars"/> </a> <a href="https://github.com/merylldindin/topologyx/issues" target="_blank"> <img src="https://img.shields.io/github/issues/merylldindin/topologyx.svg?style=for-the-badge" alt="issues"/> </a> <a href="https://pypi.python.org/pypi/topologyx" target="_blank"> <img src="https://img.shields.io/pypi/v/topologyx.svg?style=for-the-badge" alt="pypi version"/> </a> <a href="https://github.com/merylldindin/topologyx/blob/main/LICENSE" target="_blank"> <img src="https://img.shields.io/github/license/merylldindin/topologyx.svg?style=for-the-badge" alt="license"/> </a> </div> <div align="center"> <p align="center"> <h2> Topology Data Analysis Routines </h2> <a href="https://github.com/merylldindin/topologyx/issues"> Report Bug </a> </p> </div>

<summary>Table of Contents</summary>

<ol> <li><a href="#about-topologyx">About TopologyX</a></li> <li><a href="#built-with">Built With</a></li> <li><a href="#get-started">Get Started</a></li> </ol>

About TopologyX

Topological Data Analysis, also abbreviated TDA, is a recent field that emerged from various works in applied topology and computational geometry. It aims at providing well-founded mathematical, statistical, and algorithmic methods to exploit the topological and underlying geometric structures in data. My aim is to develop some tools in this repository that may be applied to data science in general. Some of them have already proven useful for classification tasks.

Read more about applied TDA:

Built With

Get Started

pip install topologyx
# or with uv
uv add topologyx

How To Use

from topologyx.filtrations import Filtration

filtration = Filtration(data, use_alpha=False)
filtration.build_persistence_diagram(filtration_type=FiltrationType.SIMPLE, dimension=0)
from topologyx.clustering import TomatoClustering

tomato = TomatoClustering(data)
_ = tomato.estimate_clusters(visualize=True)
_ = tomato.fit_predict(n_clusters=3, visualize=True)

Local Installation

git clone https://github.com/merylldindin/topologyx
# install dependencies
make setup

Using Examples

Examples are provided as Marimo notebooks - reactive Python notebooks that are git-friendly (pure .py files). Launch the example server with:

make marimo

Filtration of a 3D shape: examples/filtrations.py demonstrates how to handle three-dimensional shapes using height as a filtration function, showing persistence diagrams, Betti curves, and persistence landscapes.

ToMaTo clustering: examples/clustering.py showcases TDA's strength for clustering - detecting centroids and recording relationships between points across various data distributions.

View on GitHub
GitHub Stars150
CategoryData
Updated1mo ago
Forks30

Languages

Python

Security Score

100/100

Audited on Jan 25, 2026

No findings