Installation and dependencies

TopOMetry requires some pre-existing libraries to power its scalability and flexibility. TopOMetry is implemented in python and builds complex, high-level models inherited from scikit-learn BaseEstimator, making it flexible and easy to apply and/or combine with different workflows on virtually any domain.

Prior to installing TopOMetry, make sure you have cmake, scikit-build and setuptools available in your system. If using Linux:

sudo apt-get install cmake
pip3 install scikit-build setuptools

TopOMetry uses either NMSlib or HNSWlib really fast approximate nearest-neighborhood search across different distance metrics. By default, it uses NMSlib. If your CPU supports advanced instructions, we recommend you install nmslib separately for better performance:

pip3 install --no-binary :all: nmslib

Alternatively, you can use HNSWlib for k-nearest-neighbor search backend:

pip3 install hnswlib

Then, you can install TopOMetry requirements:

pip3 install numpy pandas scipy numba torch matplotlib scikit-learn kneed pymde multicoretsne pacmap trimap ncvis

And finally install TopOMetry itself:

pip3 install topometry

Please open a note in the Issue tracker if you have any trouble with installation!