Skip to main content

DaiSy Logo

DaiSy

The Library for Fast and Exact, Data Series and Vector Similarity Search

GitHub Stars

Exact similarity search over large collections of data series is a fundamental operation in modern applications, yet existing solutions are often fragmented, specialized, or tailored to specific execution environments. We present DaiSy (Data series similarity Search library), a unified library for exact data series and vector similarity search that integrates multiple state-of-the-art algorithms within a single, coherent framework. DaiSy is the first library to support exact similarity search across diverse execution environments, including implementations for disk-based, in-memory, GPU-accelerated, and distributed scalable similarity search. The library supports interfaces in both C++ and Python, enabling researchers and practitioners to easily integrate its functionality in a variety of tasks.

ALPHA VERSION: Currently, DaiSy is experimental. The library is still under active development. We welcome suggestions and bug reports.

How to Cite

DaiSy has been accepted for publication at SIGMOD Record! When using DaiSy, please cite the following artifacts:

@article{daisy2026preprint,
  title={DaiSy: A Library for Scalable Data Series Similarity Search},
  author={Del Gaudio, Francesca and Chatzakis, Manos and Ravendirane, Gayathiri and Peng, Botao and Palpanas, Themis},
  journal={arXiv preprint arXiv:2603.27719},
  year={2026}
}

@misc{daisy2026github,
  title        = {{The DaiSy Library for Fast and Exact, Data Series and Vector Similarity Search}},
  author       ={Francesca Del Gaudio, Manos Chatzakis, Gayathiri Ravendirane, Botao Peng, Panagiota Fatourou, Themis Palpanas},
  year         = {2026},
  howpublished = {\url{https://github.com/mchatzakis/daisy}}
}

Supported State-of-the-Art algorithms

We currently support several algorithms for exact similarity search, each optimized for specific use cases and environments. The following table summarizes the key features of each algorithm:

Algorithm Description
Bruteforce Naive parallel similarity search implementation
Lower Bound Bruteforce Optimized bruteforce with lower bounding for the distance calculations
MESSI In-memory parallel similarity search
PARIS Disk-based parallel similarity search
SING GPU-accelerated in-memory parallel similarity search
Odyssey Distributed and parallel in-memory similarity search
SOFA In-memory similarity search using Symbolic Fourier Approximation (SFA)
Hercules In-memory hierarchical similarity search using EAPCA and SAX-based pruning
DumpyOS In-memory scalable data series similarity search using an adaptive multi-ary iSAX index
FreSH In-memory lock-free parallel similarity search using an iSAX index (SRDS 2023)
COCONUT Sortable-SAX index built bottom-up; supports both static datasets and streaming (incremental) inserts (PVLDB 2018)

Quickstart

Dependencies

  • Operating System: Linux, macOS, or Windows
  • C++ Compiler: C++14 or higher (GCC 6+, Clang 3.4+, MSVC 2015+)
  • CMake: Version 3.15 or higher

Optionally,

  • Python: 3.10-3.12
  • MPI: Required for Odyssey distributed computing algorithm
  • CUDA: Required for SING GPU acceleration algorithm

Installation

To download DaiSy, use:

git clone https://github.com/MChatzakis/daisy.git

cd daisy
git submodule update --init --recursive

Based on the available hardware, you can specify the below arguments to enable/disable features.

Flag Description Default Dependencies
BUILD_PYTHON Enable Python bindings OFF Python 3.10+
BUILD_BENCHMARK Build benchmarking tools OFF GoogleBenchmark
BUILD_TESTS Build test suite OFF GoogleTest
BUILD_DEMO Build demonstration applications ON Core library
BUILD_ODYSSEY Enable MPI for distributed computing OFF OpenMPI/MPICH
BUILD_SING Enable CUDA for GPU acceleration OFF CUDA Toolkit
BUILD_COCONUT Enable the COCONUT sortable-SAX algorithm ON Core library
DEBUG_MSG Enable debug output OFF None
BUILD_SOFA Enable SOFA with SFA-Based indexing OFF FFTW3

To compile:

mkdir build && cd build

cmake ..
make

DaiSy with Python

If you intent to use only the Python interface, you can install the library directly from PyPI using pip:

pip install daisy-exact-search

If you want to use Odyssey, you will need to install mpi:

pip install daisy-exact-search[mpi]

Compatibility issues

Kindly note that we are aware for compatibility issues related to ARM processors (e.g., Apple MX processors). Due to pthread-barriers and SIMD being unavailable on ARM, we currently noticing compilations failling on ARM machines. We are currently working on possible solutions, however we recommend using DaiSy on non-ARM machines for the time being.

Others

We provide several usage examples in both C++ and Python under demos/, demonstrating how to utilize the library for various similarity search tasks. We provide several troubleshooting guides and extra resources in the docs/ directory. In this directory, we also provide useful information about how to contribute to the project, and how to implement new algorithms.

Acknowledgements

Work supported by EU Horizon projects ARMADA (101168951), TwinODIS (101160009), DataGEMS (101188416), and YΠAIΘA & NextGenerationEU project HARSH (YΠ3TA − 0560901) that is carried out within the framework of the National Recovery and Resilience Plan “Greece 2.0” with funding from the European Union – NextGenerationEU. Manos Chatzakis is supported with a PhD Scholarship from the Onassis Foundation. The logo of DaiSy was designed by Eva Chamilaki.

Metadata

Release files for daisy-exact-search 1.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for daisy-exact-search 1.0.9
File Size Uploaded
daisy_exact_search-1.0.9.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for daisy-exact-search 1.0.9
File Interpreter ABI Platform
daisy_exact_search-1.0.9-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details

Total release size: 2.5 MB

Release files / daisy_exact_search-1.0.9.tar.gz

Download URL daisy_exact_search-1.0.9.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
d3b346001c99c099acddc63dd87204f579d376f816934882574ad9a3040a7210
BLAKE2b-256 checksum
How to use checksums
f4f2e567c87a83916272e2d2de2b1aec11212aa1f31abecd6ed9a23155ab7420
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.12.13

Release files / daisy_exact_search-1.0.9-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL daisy_exact_search-1.0.9-cp312-cp312-manylinux_2_39_x86_64.whl
Size 1.4 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
d9cbadf7ab99c74ff24676519fa61146d9ae5813cb50161a9ffbd8c786b0d1a7
BLAKE2b-256 checksum
How to use checksums
d7cab4b6bf71740a84885ff131b90563534e0d7d1f1d4844f2c39aa2b79b675f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

1.0.9 This release

2 release files

1.0.8

1 release file

1.0.7

2 release files

1.0.6

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page