Welcome to the pymovements documentation!#

pymovements


PyPI Latest Release Conda Latest Release PyPI status Python version Operating System License Test Status Documentation Status codecov PyPI Downloads Binder

pymovements is an open-source python package for processing eye movement data. It provides a simple interface to download publicly available datasets, preprocess gaze data, detect oculomotoric events and render plots to visually analyze your results.

Getting Started#

If you are new to pymovements or to eye-tracking data analysis, we recommend starting with the User Guide, which introduces the concepts, data structures, and workflows used throughout the library: 👉 User Guide

Quick example#

For a minimal example of loading and processing eye-tracking data with pymovements:

import pymovements as pm

dataset = pm.Dataset(
    'JuDo1000',  # choose a public dataset from our dataset library
    path='data/judo100',  # setup your local dataset path
)
dataset.download()  # download a public dataset from our dataset library
dataset.load()  # load the dataset

Transform coordinates and calculate velocities:

dataset.pix2deg()  # transform pixel coordinates to degrees of visual angle
dataset.pos2vel()  # transform positional data to velocity data

Detect oculomotoric events:

dataset.detect('ivt')  # detect fixation using the I-VT algorithm
dataset.detect('microsaccades')  # detect saccades using the microsaccades algorithm

Contributing#

We welcome any sort of contribution to pymovements!

For a detailed guide, please refer to our CONTRIBUTING.md first.

If you have any questions, please open an issue or write to us at pymovements@python.org

Citing#

If you use pymovements for a scientific publication, we would appreciate citations to the published software and the following paper:

  • pymovements on Zenodo. Please find us on Zenodo and replace with the citation for the version you are using. You can replace the full author list from there with “The pymovements project team” like in the example below.

    @software{pymovements,
      author    = {The pymovements project team},
      title     = {pymovements: A Python Package for Processing Eye Movement Data},
      month     = apr,
      year      = 2026,
      publisher = {Zenodo},
      version   = {v0.26.2},
      doi       = {10.5281/zenodo.19486286},
      url       = {https://doi.org/10.5281/zenodo.19486286},
    }
    
  • pymovements: A Python Package for Processing Eye Movement Data <pymovementsPaper

    @inproceedings{pymovementsPaper,
      author    = {
        Krakowczyk, Daniel G. and Reich, David R. and Chwastek, Jakob and Jakobi, Deborah N.
        and Prasse, Paul and SĂĽss, Assunta and Turuta, Oleksii and Kasprowski, Pawe\l{}
        and J\"{a}ger, Lena A.
      },
      title     = {pymovements: A Python Package for Processing Eye Movement Data},
      year      = {2023},
      isbn      = {9798400701504},
      publisher = {Association for Computing Machinery},
      address   = {New York, NY, USA},
      url       = {https://doi.org/10.1145/3588015.3590134},
      doi       = {10.1145/3588015.3590134},
      booktitle = {Proceedings of the 2023 Symposium on Eye Tracking Research and Applications},
      articleno = {53},
      numpages  = {2},
      location  = {Tubingen, Germany},
      series    = {ETRA '23}
    }
    

In case you want to cite specific parts of the package, like our dataset library or data quality reports, please consider citing our other publications listed on our citing page.