Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This repository is a README only repository for community contributed projects, forks, plugins, scripts, and videos using Pupil - open source eye tracking platform.


Want to add your project, fork, plugin, or script to this list? Fork this repo and make a Pull Request with a link and short description in the README file.

Want to add your demo video to this list? Make an issue with the Youtube link and the maintainers will add the video to this Youtube playlist.


Install instructions:

Pupil Detector Plugins

Requires Pupil v2.6 or higher.

Video Backends

  • RealSense D400 Source v1.22 - A port of the old realsense2 plugin (for RealSense D400 series cameras) to work with the new video source framework in Pupil Capture v1.22.
    • Up to Pupil Capture v2.2 (here)
    • From Pupil Capture v2.3 (here)
  • Pupil Video Backend - Streams Video from another computer through the network to your computer where pupil capture software is running.
  • Ximea Camera Plugin - A plugin to preview and record frames from Ximea Cameras using XiAPI.

Calibration Choreographies and Gazers

Minimal Examples

  • Custom Data example - Pupil Capture plugin that demonstrates how to publish custom data via the Network API and have it saved during a recording
  • Online Task Proxy - Example plugin that shows how to use the Task_Proxy class in Pupil Capture
  • Unix Time Sync - Example plugin that shows how to synchronize the Pupil clock to Unix time
  • Depth Frame Accessor - Example plugin that shows how to access the 16 bit depth data of Realsense frames in Capture
  • TaskLib Example - Example plugin that demonstrates basic task_lib usage.

Pupil Player Visualizations


Projects & Forks

  • PyPlr - Many-featured Python library for researching the pupillary light reflex with Pupil Core. Easily time-stamp any light stimulus with the World Camera.
  • Pupil Labs Motion Capture Trigger - Use a low-cost Arduino microcontroller to synchronise motion capture systems (e.g. Vicon/Qualisys) with the Pupil Core Mobile eye tracker.
  • Plugin to Perceive the Object in Focus - Real-time object-detection plugin that integrates eye-tracking (fixation data) to identify which object the user is currently fixated upon. An example of its potential is shown in controlling grasps of a robotic prosthetic hand. Part of the Therabotics Project
  • PolyMouse - PolyMouse is a fusion of gaze tracking and head tracking to achieve hands-free pointing. It does this by using eye gaze to quickly determine an imprecise area of interest and then uses small head movements to refine the position of the cursor onto a small target.
  • Asistiva - a set of tools for creating amazing web apps optimized to be used through different input methods (i.e. including eye-tracking, head-tracking, button-less mouse, adapted switches, etc).
  • Focal - Focal is an experimental eye-tracking musical expression controller which allows hands-free control over audio effects and synthesis parameters during performance. A see-through head-mounted display projects virtual dials and switches into the visual field.
  • Graph viz eye tracker - Creating a gaze-aided graph navigating application using Unity3D and Pupil-lab.
  • Optical Dimension Spatial Thinking - ODST - Gaze controlled interface using gaze data and voice recognition.
  • PupilCamC++ - Interface for capture of Pupil labs cameras with C++, primarily for windows
  • Pupil-lib Trial/Event Extraction Library - A flexible tool for conducting high precision event based research analysis with Pupil Labs eye trackers. See here for how to run an experiment that produces data compatible for this library. A Matlab version is also available.
  • Mobile Gaze Mapping - Automatic gaze mapping between world camera and a fixed reference stimulus. This tool provides automatic detection of a 2D target stimulus in a mobile eye-tracking recording, and translates recorded gaze data from the world camera to the fixed coordinate system of the stimulus itself.
  • JupilLabs - A Processing(Java) binding for extracting data from pupil-labs with jeromq and msgpack-java


Real-time Network API clients

Post-hoc Analyses

Small Examples

Demo Videos


Community contributed plugins and projects using Pupil




No releases published


No packages published