{"id":13688843,"url":"https://github.com/aidos-lab/pytorch-topological","last_synced_at":"2025-04-05T16:06:24.560Z","repository":{"id":39139834,"uuid":"437561364","full_name":"aidos-lab/pytorch-topological","owner":"aidos-lab","description":"A topological machine learning framework based on PyTorch","archived":false,"fork":false,"pushed_at":"2024-08-22T09:05:32.000Z","size":322,"stargazers_count":167,"open_issues_count":10,"forks_count":22,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-29T15:07:38.027Z","etag":null,"topics":["deep-learning","pytorch","topological-data-analysis","topological-machine-learning"],"latest_commit_sha":null,"homepage":"https://pytorch-topological.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aidos-lab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-12T14:02:06.000Z","updated_at":"2025-03-18T10:28:31.000Z","dependencies_parsed_at":"2023-12-12T11:28:52.917Z","dependency_job_id":"1710b423-7c9c-4b83-8a74-6bdc300fe02e","html_url":"https://github.com/aidos-lab/pytorch-topological","commit_stats":{"total_commits":373,"total_committers":9,"mean_commits":41.44444444444444,"dds":0.07238605898123329,"last_synced_commit":"fa2017c6555f1d227a6acab6e6efa9c95edd50db"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidos-lab%2Fpytorch-topological","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidos-lab%2Fpytorch-topological/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidos-lab%2Fpytorch-topological/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidos-lab%2Fpytorch-topological/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aidos-lab","download_url":"https://codeload.github.com/aidos-lab/pytorch-topological/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361686,"owners_count":20926643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","pytorch","topological-data-analysis","topological-machine-learning"],"created_at":"2024-08-02T15:01:24.585Z","updated_at":"2025-04-05T16:06:24.523Z","avatar_url":"https://github.com/aidos-lab.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/aidos-lab/pytorch-topological/main/torch_topological.svg\" height=128 alt=\"`pytorch-topological` icon\" /\u003e\n\n# `pytorch-topological`: A topological machine learning framework for `pytorch`\n\n[![Documentation](https://readthedocs.org/projects/pytorch-topological/badge/?version=latest)](https://pytorch-topological.readthedocs.io/en/latest/?badge=latest) [![Maintainability](https://api.codeclimate.com/v1/badges/397f53d1968f01b86e74/maintainability)](https://codeclimate.com/github/aidos-lab/pytorch-topological/maintainability) ![GitHub contributors](https://img.shields.io/github/contributors/aidos-lab/pytorch-topological) ![PyPI - License](https://img.shields.io/pypi/l/torch_topological) ![PyPI](https://img.shields.io/pypi/v/torch_topological) [![Tests](https://github.com/aidos-lab/pytorch-topological/actions/workflows/run_tests.yaml/badge.svg)](https://github.com/aidos-lab/pytorch-topological/actions/workflows/run_tests.yaml)\n\n`pytorch-topological` (or `torch_topological`) is a topological machine\nlearning framework for [PyTorch](https://pytorch.org). It aims to\ncollect *loss terms* and *neural network layers* in order to simplify\nbuilding the next generation of topology-based machine learning tools.\n\n# Topological machine learning in a nutshell \n\n*Topological machine learning* refers to a new class of machine learning\nalgorithms that are able to make use of topological features in data\nsets. In contrast to methods based on a purely geometrical point of\nview, topological features are capable of focusing on *connectivity\naspects* of a data set. This provides an interesting fresh perspective\nthat can be used to create powerful hybrid algorithms, capable of\nyielding more insights into data.\n\nThis is an *emerging research field*, firmly rooted in computational\ntopology and topological data analysis. If you want to learn more about\nhow topology and geometry can work in tandem, here are a few resources\nto get you started:\n\n- Amézquita et al., [*The Shape of Things to Come: Topological Data Analysis and Biology,\n  from Molecules to Organisms*](https://doi.org/10.1002/dvdy.175), Developmental Dynamics\n  Volume 249, Issue 7, pp. 816--833, 2020.\n\n- Hensel et al., [*A Survey of Topological Machine Learning Methods*](https://www.frontiersin.org/articles/10.3389/frai.2021.681108/full),\n  Frontiers in Artificial Intelligence, 2021.\n\n# Installation and requirements\n\n`torch_topological` requires Python 3.9. More recent versions might work\nbut necessitate building some dependencies by yourself; Python 3.9\ncurrently offers the smoothest experience.\nIt is recommended to use the excellent [`poetry`](https://python-poetry.org) framework\nto install `torch_topological`:\n\n```\npoetry add torch-topological\n```\n\nAlternatively, use `pip` to install the package:\n\n```\npip install -U torch-topological\n```\n\n**A note on older versions.** Older versions of Python are not\nexplicitly supported, and things may break in unexpected ways.\nIf you want to use a different version, check `pyproject.toml`\nand adjust the Python requirement to your preference. This may\nor may not work, good luck!\n\n# Usage\n\n`torch_topological` is still a work in progress. You can [browse the documentation](https://pytorch-topological.readthedocs.io)\nor, if code reading is more your thing, dive directly into [some example\ncode](./torch_topological/examples).\n\nHere is a list of *other* projects that are using `torch_topological`:\n\n- [SHAPR](https://github.com/marrlab/SHAPR_torch), a method for for\n  predicting the 3D cell shape of individual cells based on 2D\n  microscopy images\n\nThis list is incomplete---you can help expanding it by using\n`torch_topological` in your own projects! :innocent:\n\n# Contributing\n\nCheck out the [contribution guidelines](CONTRIBUTING.md) or the [road\nmap](ROADMAP.md) of the project.\n\n# Acknowledgements\n\nOur software and research does not exist in a vacuum. `pytorch-topological` is standing\non the shoulders of proverbial giants. In particular, we want to thank the\nfollowing projects for constituting the technical backbone of the\nproject:\n\n| [`giotto-tda`](https://github.com/giotto-ai/giotto-tda)       | [`gudhi`](https://github.com/GUDHI/gudhi-devel)\u003cbr /\u003e       |\n|---------------------------------------------------------------|-------------------------------------------------------------|\n| \u003cimg src=\"logos/giotto.jpg\" height=128 alt=\"`giotto` icon\" /\u003e | \u003cimg src=\"logos/gudhi.png\" height=128 alt=\"`GUDHI` icon\" /\u003e |\n\nFurthermore, `pytorch-topological` draws inspiration from several\nprojects that provide a glimpse into the wonderful world of topological\nmachine learning:\n\n- [`difftda`](https://github.com/MathieuCarriere/difftda) by [Mathieu Carrière](https://github.com/MathieuCarriere)\n\n- [`Ripser`](https://github.com/Ripser/ripser) by [Ulrich Bauer](https://github.com/ubauer)\n\n- [`Teaspoon`](https://lizliz.github.io/teaspoon/) by [Elizabeth Munch](https://elizabethmunch.com/) and her team\n\n- [`TopologyLayer`](https://github.com/bruel-gabrielsson/TopologyLayer) by [Rickard Brüel Gabrielsson](https://github.com/bruel-gabrielsson)\n\n- [`topological-autoencoders`](https://github.com/BorgwardtLab/topological-autoencoders) by [Michael Moor](https://github.com/mi92), [Max Horn](https://github.com/ExpectationMax), and [Bastian Rieck](https://github.com/Pseudomanifold)\n\n- [`torchph`](https://github.com/c-hofer/torchph) by [Christoph Hofer](https://github.com/c-hofer) and [Roland Kwitt](https://github.com/rkwitt)\n\nFinally, `pytorch-topological` makes heavy use of [`POT`](https://pythonot.github.io), the Python Optimal Transport Library.\nWe are indebted to the many contributors of all these projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faidos-lab%2Fpytorch-topological","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faidos-lab%2Fpytorch-topological","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faidos-lab%2Fpytorch-topological/lists"}