Metadata-Version: 2.4
Name: automato
Version: 0.1.0
Summary: Implementation of the AuToMATo clustering algorithm.
Author-email: m-a-huber <hubermarius@hotmail.com>
License-Expression: AGPL-3.0
Project-URL: Homepage, https://github.com/m-a-huber/AuToMATo
Project-URL: Issues, https://github.com/m-a-huber/AuToMATo/issues
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: gudhi>=3.11.0
Requires-Dist: igraph>=0.11.9
Requires-Dist: joblib>=1.5.1
Requires-Dist: numpy>=2.2.6
Requires-Dist: plotly>=6.2.0
Requires-Dist: scikit-learn>=1.7.1
Dynamic: license-file

Implementation of the AuToMATo clustering algorithm introduced in [<em>AuToMATo: An Out-Of-The-Box Persistence-Based Clustering Algorithm</em>](https://arxiv.org/abs/2408.06958).

---

__Example of running AuToMATo__

```
>>> from automato import Automato
>>> from sklearn.datasets import make_blobs
>>> X, y = make_blobs(centers=2, random_state=42)
>>> aut = Automato(random_state=42).fit(X)
>>> aut.n_clusters_
2
>>> (aut.labels_ == y).all()
True
```

---

__Requirements__

Required Python dependencies are specified in `pyproject.toml`. Provided that `uv` is installed, these dependencies can be installed by running `uv pip install -r pyproject.toml`. The environment specified in `uv.lock` can be recreated by running `uv sync`.

---

__Example of installing AuToMATo from source for `uv` users__

```
$ git clone github.com/m-a-huber/AuToMATo
$ cd AuToMATo
$ uv sync --no-dev
$ source .venv/bin/activate
$ python
>>> from automato import Automato
>>> ...
```
