Metadata-Version: 2.4
Name: mini-vec2vec
Version: 0.1.1
Summary: Python implementation of the mini-vec2vec paper
Project-URL: Homepage, https://github.com/sw241395/mini-vec2vec
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: numpy>=2.4.4
Requires-Dist: scikit-learn>=1.8.0
Requires-Dist: scipy>=1.17.1
Requires-Dist: tqdm>=4.67.3
Description-Content-Type: text/markdown

# mini-vec2vec

This is a python package implementation of the [mini-vec2vec: Scaling Universal Geometry Alignment with Linear Transformations](https://arxiv.org/abs/2510.02348) paper.

This is **not** the official python implementation that is used in the paper, that code can be found [here](https://github.com/guy-dar/mini-vec2vec). All credit goes to `guy-dar`, this just takes his work but puts it into a package. 

## Install

```bash
pip install mini-vec2vec
```

## Contribute

Create a venv and install the dev dependencies. (I have used UV to create this package)

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install uv
uv sync
uvx pre-commit install
```

### Testing

```bash
uv pip install -e .
uv run pytest
```

--- 

## TODO:

* Docs ([zensical](https://github.com/zensical/zensical))
* Code Improvements:
    * Make some of the hard coded values variables
* Performance Improvements:
    * Use float32 numpy arrays
    * Use `from scipy.optimize import linear_sum_assignment` rather than QAP or reduce number of QAP loops
    * `MiniBatchKMeans` instead of `Kmeans`
    * Concatenate rather than vstack
* Add in original Vec2Vec method
