Skip to main content

peyes

pEYES

A Python Package for Eye-Tracking Researchers

pEYES is a Python package that enables researchers to perform robust, quantitative comparisons of eye-movement (EM) detection algorithms, i.e., algorithms that classify raw gaze samples into events such as fixations and saccades. It provides implementations of several widely used algorithms and allows users to evaluate their performance against ground-truth, human-annotated datasets. The package simplifies the process of selecting an optimal algorithm by offering over 20 metrics to quantify performance, enhancing analysis reliability and reproducibility.

Using pEYES, Nir & Deouell (2026) compared seven detection algorithms against two human-annotated datasets and found that no single algorithm is universally optimal: performance varied by dataset, metric, and event type, though adaptive-threshold algorithms (e.g., Engbert's) were consistently among the top performers. For a detailed overview of the package's functionalities and the full comparison, please refer to the publication.

Overview

pEYES offers several core functionalities designed to facilitate the processing, analysis, and comparison of eye-tracking data:

  • Downloading & Parsing Datasets: Provides functions to easily download and parse publicly available, human-annotated eye-tracking datasets, streamlining the setup process for benchmarking algorithms.
  • Configuring & Running Detection Algorithms: Allows users to configure various eye-movement detection algorithms and apply them to either the built-in datasets or their own custom data.
  • Algorithm Comparison & Analysis: Offers tools to analyze the results of detection algorithms, compare their performance against human-annotated ground-truth data, or evaluate differences between multiple algorithms.
  • Visualization Tools: Includes visualization capabilities, such as generating fixation heatmaps and saccade trajectories, to help users intuitively interpret the results of different detection algorithms.

This functionality makes pEYES a versatile tool for researchers aiming to enhance the accuracy and reliability of their eye-tracking data analysis.

Installation Instructions

This package has been created and tested with python 3.12.

To install this package as a user, use

pip install peyes

To install this package as a developer, clone the repository and install it in editable mode:

git clone https://github.com/huji-hcnl/pEYES.git
cd pEYES
python -m venv env
env\Scripts\activate  # on Windows; use `source env/bin/activate` on macOS/Linux
pip install -e .

Upgrading from 0.1.0? Read CHANGELOG.md first: 0.2.0 is a correctness release, and some of its fixes change values that earlier versions returned.

Usage

This package is intended for scientific use, and is designed to be easy to use for anyone with basic python knowledge.
Most of the functions in this package are documented, and can be accessed by running:

import peyes
help(peyes)

For more detailed information, please refer to the user tutorials provided in the docs directory of this repository.

Citation & License

This package is distributed under the MIT License, but some of the datasets & detection algorithms that are implemented in this package are distributed under different licenses. Please refer to the documentation of the specific dataset or detection algorithm for more information.

If you use this package in your research, please cite Nir & Deouell (2026):

@article{nir2026systematic,
  title={Systematic classification differences across eye movement detection algorithms},
  author={Nir, Jonathan and Deouell, Leon Y},
  journal={Behavior Research Methods},
  volume={58},
  number={4},
  pages={109},
  year={2026},
  publisher={Springer}
}

If you use a specific dataset or detection algorithm that is implemented in this package, please also cite the original authors of that dataset or detection algorithm. The datasets' licenses and detectors' citations can be found in their respective documentation (retrieved using the dataset.load() call).

Acknowledgements

We are grateful for the support of the Center for Interdisciplinary Data Science Research (CIDR) at the Hebrew University of Jerusalem. In particular, we would like to thank Haimasree Bhattacharya from CIDR for her assistance in publishing this package.

Versioning

Nir & Deouell (2026) is based on pEYES v0.1.0. The current release, v0.2.0, includes bug fixes and efficiency improvements (see CHANGELOG.md for details) and does not change the paper's conclusions.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peyes-0.2.0.tar.gz (8.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peyes-0.2.0-py3-none-any.whl (94.7 kB view details)

Uploaded Python 3

File details

Details for the file peyes-0.2.0.tar.gz.

File metadata

  • Download URL: peyes-0.2.0.tar.gz
  • Upload date:
  • Size: 8.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for peyes-0.2.0.tar.gz
Algorithm Hash digest
SHA256 54448c5e5949ff36ff8b75f48b627cef3577fb79f690d998e1062aaf1e0c01ef
MD5 2b2b355ae5857242c19bc662be6d6748
BLAKE2b-256 52c13439c7ae40976b94afc377e84bd7aa8a409420250311727547ecdd290558

See more details on using hashes here.

File details

Details for the file peyes-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: peyes-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 94.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for peyes-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccad7d1c824c4e15718247cfe574e95aaee7117c7e0c384780791e9b75a04ca6
MD5 f6ebe53215d87b2b9245bf88fa1222ed
BLAKE2b-256 3daf0cbcb39f5f5c9ef30154c5c8c01b63496c3963105a03d93fe764c645c5d3

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.2

2 files

0.2.1

2 files

This release

0.2.0 This release

2 files

0.1.0

2 files

0.0.9.6

2 files

0.0.9.5

2 files

0.0.9.0

2 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