openTSNE is a modular Python implementation of t-Distributed Stochasitc Neighbor Embedding (t-SNE) [1], a popular dimensionality-reduction algorithm for visualizing high-dimensional data sets. openTSNE incorporates the latest improvements to the t-SNE algorithm, including the ability to add new data points to existing embeddings [2], massive speed improvements [3] [4] [5], enabling t-SNE to scale to millions of data points and various tricks to improve global alignment of the resulting visualizations [6].
A visualization of 44,808 single cell transcriptomes obtained from the mouse retina [7] embedded using the multiscale kernel trick to better preserve the global aligment of the clusters.
Installation
openTSNE can be installed on all supported versions of Python.
Conda
openTSNE can be easily installed from conda-forge with
conda install --channel conda-forge opentsne
PyPi
openTSNE is also available through pip and can be installed with
pip install opentsne
Installing from source
If you wish to install openTSNE from source, please run
pip install .
in the root directory to install the appropriate dependencies and compile the necessary binary files.
Please note that openTSNE requires a C/C++ compiler to be available on the system.
In order for openTSNE to utilize multiple threads, the C/C++ compiler must support OpenMP. In practice, almost all compilers implement this with the exception of older version of clang on OSX systems.
To squeeze the most out of openTSNE, you may also consider installing FFTW3 prior to installation. FFTW3 implements the Fast Fourier Transform, which is heavily used in openTSNE. If FFTW3 is not available, openTSNE will use numpy’s implementation of the FFT, which is slightly slower than FFTW. The difference is only noticeable with large data sets containing millions of data points.
A hello world example
Getting started with openTSNE is very simple. First, we’ll load up some data using scikit-learn
from sklearn import datasets
iris = datasets.load_iris()
x, y = iris["data"], iris["target"]
then, we’ll import and run
from openTSNE import TSNE
embedding = TSNE().fit(x)
Citation
If you make use of openTSNE for your work we would appreciate it if you would cite the paper
@article{Policar2024,
title={openTSNE: A Modular Python Library for t-SNE Dimensionality Reduction and Embedding},
author={Poli{\v c}ar, Pavlin G. and Stra{\v z}ar, Martin and Zupan, Bla{\v z}},
journal={Journal of Statistical Software},
year={2024},
volume={109},
number={3},
pages={1–30},
doi={10.18637/jss.v109.i03},
url={https://www.jstatsoft.org/index.php/jss/article/view/v109i03}
}
openTSNE implements two efficient algorithms for t-SNE. Please consider citing the original authors of the algorithm that you use. If you use FIt-SNE (default), then the citation is [5] below, but if you use Barnes-Hut the citations are [3] and [4].
References
Release files for openTSNE 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| opentsne-1.0.4.tar.gz | 252.5 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| opentsne-1.0.4-cp314-cp314-win_amd64.whl | CPython 3.14 | CPython 3.14 | Windows x86-64 | Details |
| opentsne-1.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| opentsne-1.0.4-cp314-cp314-macosx_10_15_universal2.whl | CPython 3.14 | CPython 3.14 | macOS 10.15+ universal2 (ARM64, x86-64) | Details |
| opentsne-1.0.4-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| opentsne-1.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| opentsne-1.0.4-cp313-cp313-macosx_10_13_universal2.whl | CPython 3.13 | CPython 3.13 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| opentsne-1.0.4-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| opentsne-1.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| opentsne-1.0.4-cp312-cp312-macosx_10_13_universal2.whl | CPython 3.12 | CPython 3.12 | macOS 10.13+ universal2 (ARM64, x86-64) | Details |
| opentsne-1.0.4-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| opentsne-1.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| opentsne-1.0.4-cp311-cp311-macosx_10_12_universal2.whl | CPython 3.11 | CPython 3.11 | macOS 10.12+ universal2 (ARM64, x86-64) | Details |
| opentsne-1.0.4-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| opentsne-1.0.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| opentsne-1.0.4-cp310-cp310-macosx_10_12_universal2.whl | CPython 3.10 | CPython 3.10 | macOS 10.12+ universal2 (ARM64, x86-64) | Details |
Total release size: 24.5 MB
Release files / opentsne-1.0.4.tar.gz
| Download URL | opentsne-1.0.4.tar.gz |
|---|---|
| Size | 252.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e90bf612be94fcbe06e3cab9531a58e4824661f38dd7c2e934569820d15c82ab
|
|
BLAKE2b-256 checksum How to use checksums |
9d164c73977c4702c6a9452248d4562ba61579a215bc09e4c50b795de65fbbca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp314-cp314-win_amd64.whl
| Download URL | opentsne-1.0.4-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 448.7 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1676c4e16c62cdf2ce4e3c75a91dbd2572f7c814675e13d825be8559aecb3d7c
|
|
BLAKE2b-256 checksum How to use checksums |
5ba0e0633cbccf94a5a7e88bc63cb2ee39c8a618f8b1f573102420d22d8a2729
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | opentsne-1.0.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1f76202a0d46c4dad19555d12af94cffc95c66f654d4d104a51ff42fc4eacd0d
|
|
BLAKE2b-256 checksum How to use checksums |
1e840a21d042f284e9687273280a7c90d2bdc58981f48f36750f3fca0add3646
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | opentsne-1.0.4-cp314-cp314-macosx_10_15_universal2.whl |
|---|---|
| Size | 976.1 kB |
| Tags | CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
50fb43e2677490dc87355116a355fca09e86e9d4a45dd8cbcfcb01612c836295
|
|
BLAKE2b-256 checksum How to use checksums |
66cfbabb54029f28b4fb82c5245a8ecdcc5ec40eb0aac94290bfb704311f6ac4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp313-cp313-win_amd64.whl
| Download URL | opentsne-1.0.4-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 437.5 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f681ed5957e99af9500538384bfc15b50697f99c7cd057cfe8863d50248cc228
|
|
BLAKE2b-256 checksum How to use checksums |
e654f2ebcceade78726cda5cbfa96c3f3fc322df213ecb517263bf90b7d65e9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | opentsne-1.0.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0d3bd0e2bc9f557ce75ab4b19038480364a60fc9ffcd2362838ff854bc2a0331
|
|
BLAKE2b-256 checksum How to use checksums |
2189cb521035739b4ff900cfb0530dcb70c1d689800f05bf966f67caf54e944b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | opentsne-1.0.4-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 974.3 kB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
9c594f6224f6b4cf98988651aabe68e0ffd408822559f1450ee870f8e496a233
|
|
BLAKE2b-256 checksum How to use checksums |
97c37df65a76da64cd157af1a62679ac0ff76dd36398faeb7cc56cd46634ea09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp312-cp312-win_amd64.whl
| Download URL | opentsne-1.0.4-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 438.3 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3a28e474804bf3b56ec6f2574eacaa3ffa5efc2dd30b642aa9907b31a982dcc1
|
|
BLAKE2b-256 checksum How to use checksums |
35727806a5ef1cb922cac2a5aef75dc3aa947009880fe81ece15c02670e49db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | opentsne-1.0.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
610626be6ff6062b96e1b122ff219fbeb34957578a0f0f420aa3cc3505ab3547
|
|
BLAKE2b-256 checksum How to use checksums |
70b80f757c94ea08ce907beaa223be700bdf2ea0378563326489aa7b2c2f7dc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | opentsne-1.0.4-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 982.3 kB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3787feeb58818569a5a8a09e12a63ba4dfc33bee89b221b530a11495c72d203c
|
|
BLAKE2b-256 checksum How to use checksums |
0ab1f64c27fea1cb6a70f9517e599dcf992223be6fbad7392daeb870db2d504b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp311-cp311-win_amd64.whl
| Download URL | opentsne-1.0.4-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 437.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c6b862eacf4387f8e790d9d3bf48e2e86e8135f9fbf8ea58db6e593c48950ced
|
|
BLAKE2b-256 checksum How to use checksums |
e89e720bce1be767d0a7001dc731be2da0392fee835c8cbf6d6549de2c80aea7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | opentsne-1.0.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1563bbb017d1cfecc230ec1cc3adb33b3edf40f6b6444939645fe28611eb3853
|
|
BLAKE2b-256 checksum How to use checksums |
e3de4da97abd52d19e0f3d9b91b83a57b5d74ddd73b378d4ed032f41fea5ed1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp311-cp311-macosx_10_12_universal2.whl
| Download URL | opentsne-1.0.4-cp311-cp311-macosx_10_12_universal2.whl |
|---|---|
| Size | 977.2 kB |
| Tags | CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
50819514cf229b50f9cd3dcd7680ad48aca70deecad40baa05db132af42254f5
|
|
BLAKE2b-256 checksum How to use checksums |
da39dbab9b2ef432a9087d63b18efd8e2c12ec6ef8483e9ce46b9281ab58b9b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp310-cp310-win_amd64.whl
| Download URL | opentsne-1.0.4-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 438.8 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f2c4670461372880ecddbe839245faab30f2472d3d42ca0c52c6e302d4b459fa
|
|
BLAKE2b-256 checksum How to use checksums |
7c31216d09652027d04c4d73723d8d7aea0e4f0b7548a534d380bb3790dfec81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | opentsne-1.0.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5cb81cbcb40fb5f813e86c772197fee8a8a85e756ebe5b9f158614224d5cd616
|
|
BLAKE2b-256 checksum How to use checksums |
76bbc09e0ec0ddded578fc21174c66a14235c2333cd6e8cc31d6701dd23c0fa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / opentsne-1.0.4-cp310-cp310-macosx_10_12_universal2.whl
| Download URL | opentsne-1.0.4-cp310-cp310-macosx_10_12_universal2.whl |
|---|---|
| Size | 977.7 kB |
| Tags | CPython 3.10 macOS 10.12+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
b7923a4646dc2857668b600775cc8a44f6a9bf14f666e67c4d973d19cad1ff47
|
|
BLAKE2b-256 checksum How to use checksums |
edc02ed995afc5917c58bfeefdd65ea58c7d6fc90b0fe73b08ee5a3b8afa89a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|