Skip to main content

A python package for processing eye movement data

Project description

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: 👉 :doc:user-guide/index

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

Quick Links

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.

Project details


Download files

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

Source Distribution

pymovements-0.27.0.tar.gz (202.2 kB view details)

Uploaded Source

Built Distribution

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

pymovements-0.27.0-py3-none-any.whl (309.0 kB view details)

Uploaded Python 3

File details

Details for the file pymovements-0.27.0.tar.gz.

File metadata

  • Download URL: pymovements-0.27.0.tar.gz
  • Upload date:
  • Size: 202.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pymovements-0.27.0.tar.gz
Algorithm Hash digest
SHA256 01262129e1aca0a612c60cd7cdf8dcec4607b826375479e1f1c147c3147486ea
MD5 9775fcb15745756da059baff922c63e8
BLAKE2b-256 0c5f8fa8d4ddab68725eb2f28e4264f44290bf98f12b6e94cb7435d94e2ed4ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymovements-0.27.0.tar.gz:

Publisher: publish.yml on pymovements/pymovements

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymovements-0.27.0-py3-none-any.whl.

File metadata

  • Download URL: pymovements-0.27.0-py3-none-any.whl
  • Upload date:
  • Size: 309.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pymovements-0.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a57698cec80135ae849cf5e895650ad310154452c6045849aecd40a5ada8f092
MD5 11ad9518d43962895f7e4c3e621638ef
BLAKE2b-256 cba7cbd4cd6853d75d1af5851c240f48e55891197f98b37cf8428c60d8892569

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymovements-0.27.0-py3-none-any.whl:

Publisher: publish.yml on pymovements/pymovements

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page