Skip to main content

PupEyes: Your Buddy for Pupil Size and Eye Movement Data Analysis

Project description

PupEyes: Your Buddy for Pupil Size and Eye Movement Data Analysis

Python Version License Jupyter Book Badge GitHub issues Github All Releases ReadtheDocs

PupEyes

Overview

PupEyes is a Python package for preprocessing and visualizing eye movement data. It handles pupil size preprocessing and supports interactive visualization of pupil size and fixation data. It was designed to streamline data preparation so you can analyze your data with ease and confidence.

Tutorials and API Reference

Preprint

Higlights

Best practices

The pupil data preprocessing pipeline is desgined based on the best practices available.

Pandas integration

Raw data is cleaned and prepared as a pandas dataframe, allowing you to enjoy the vast data analysis and manipulation methods offered by the pandas ecosystem.

Interactive interface

Multiple interactive visualizations using Plotly Dash allow you understand your data better.

Pupil Viewer: Examining Pupil Preprocessing Steps

Fixation Viewer: Visualize Fixation Patterns

AOI Drawing Tool: Flexibly Define AOIs

Installation

pip install pupeyes

or install the latest development version from Github

pip install git+https://github.com/HanZhang-psych/pupeyes.git

Documentation

Tutorials and API reference are available at Read the Docs.

Docker Container

Try PupEyes in a virtual environment!

# Clone the repository
git clone https://github.com/HanZhang-psych/pupeyes.git
cd pupeyes

# Start the Docker container
./start-pupeyes.sh start

# Access Jupyter Lab at http://localhost:8888

For detailed Docker instructions, see DOCKER_README.md.

Compatibility

While some PupEyes features are specific to Eyelink eye-trackers, many tools are compatible with any eye movement data.

Contributing

Please report bugs if you notice any. See the Contributing Guidelines for details on how to submit pull requests, report issues, and contribute to the project.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details.

Citation

If you use PupEyes in your research, please cite our preprint

@misc{zhang_pupeyes_2025,
	title = {{PupEyes}: An Interactive Python Library for Pupil Size and Eye Movement Data Processing},
	url = {https://osf.io/h95ma_v1},
	doi = {10.31234/osf.io/h95ma_v1},
	shorttitle = {{PupEyes}},
	publisher = {{OSF}},
	author = {Zhang, Han and Jonides, John},
	urldate = {2025-04-16},
	date = {2025-04-07}
}

Changelog

See CHANGELOG.md for a list of changes in each release.


The project began as an attempt to formalize the eye-tracking processing scripts used in my past research. It then evolved into a much bigger project (as is always the case).

I hope PupEyes will be useful to the eye-tracking community!

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

pupeyes-0.3.3.tar.gz (91.6 kB view details)

Uploaded Source

Built Distribution

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

pupeyes-0.3.3-py3-none-any.whl (98.8 kB view details)

Uploaded Python 3

File details

Details for the file pupeyes-0.3.3.tar.gz.

File metadata

  • Download URL: pupeyes-0.3.3.tar.gz
  • Upload date:
  • Size: 91.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/24.6.0

File hashes

Hashes for pupeyes-0.3.3.tar.gz
Algorithm Hash digest
SHA256 52483a1303c99711d9ccc9402c1307747eb17104099dd70cae508aca8e607f03
MD5 c0dc42ac7a3e7a368a13c21bcb3f9483
BLAKE2b-256 d4ddc6620fe748a73f3b2bac3b7901fda1b56ce69df193659bfb8cdeba46a688

See more details on using hashes here.

File details

Details for the file pupeyes-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: pupeyes-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 98.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/24.6.0

File hashes

Hashes for pupeyes-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cb497699ef1762d89255665cf52f0e9175e25ac693d243d284de7d97f6411cc9
MD5 1149239d08a2b8f2a8111d447c6c0a6a
BLAKE2b-256 dfa9cd3bc4b206b0550cc192c10d64c17f529820175cf66deb5890fbf0c7ffcb

See more details on using hashes here.

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