Freedom251 › Eye Tracking Software
PyGaze

What PyGaze is
PyGaze is a free, open-source Python toolbox for running eye-tracking experiments. It places a consistent interface around stimulus-presentation packages and eye-tracker communication, and supports EyeLink, SMI, Tobii, and mouse-simulated tracking. Experiments can present stimuli through PsychoPy or PyGame. Its EyeTracker interface covers calibration, recording, gaze sampling, pupil-size retrieval, and fixation and saccade events. The gaze-contingent library includes forced retinal location, a gaze-following cursor, and areas of interest.
PyGaze runs on Linux, macOS, and Windows; downloads include pip instructions, source packages, and portable Windows environments. The about page recommends Python 2.X and describes an audience with minor to advanced programming skills. Tracker connections can require separate steps: PyLink is proprietary and requires registration with SR Research, while SMI and Tobii API downloads must be requested from their makers. Fresh gaze samples arrive at the tracker’s sampling rate; between them, PyGaze returns the newest available sample.
Who it suits
PyGaze suits people with minor to advanced programming skills who want to run eye-tracking experiments in Python. It is intended for users of Linux, macOS, or Windows and supports several named trackers as well as mouse simulation.
What it does well
- Free and open source.
- Supports EyeLink, SMI, Tobii, and mouse simulation.
- Works with PsychoPy and PyGame.
- Includes calibration, gaze sampling, and event functions.
- Offers gaze-contingent tools and areas of interest.
What to know first
- The about page recommends Python 2.X.
- PyLink requires SR Research registration.
- SMI and Tobii API downloads require requests to their makers.
- Fresh gaze samples arrive only at tracker sampling rate.
Limits
PyGaze supplies fresh gaze samples only at the eye tracker’s sampling rate; between fresh samples, it returns the newest available sample. PyLink is proprietary and requires registration with SR Research, while SMI and Tobii API downloads must be requested from their makers.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| PyGaze | Open-source eye-tracking toolbox · Python package and source downloads | Free |
As pygaze.org lists them, read 5 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the PyGaze website.
- Choose pip installation, a source package, or a portable Windows environment.
- Install on Windows, Linux, or macOS.
- Use the tracker documentation to arrange access to any required PyLink, SMI, or Tobii API.
- Connect a supported tracker or use the dummy mouse-simulated mode.
PyGaze is a free, open-source Python toolbox for building eye-tracking experiments. It suits researchers and experiment designers who are comfortable programming and need one interface for visual stimuli, tracker input, and gaze-contingent behavior. The main choice is between its broad experiment controls and the programming, Python-version, and hardware setup it demands.
Overview
PyGaze puts stimulus presentation and eye-tracker communication behind a uniform syntax. In practice, that can reduce the need to learn a separate control layer for every supported tracker while keeping experiments programmable. It is therefore a better fit for custom studies than for users seeking a point-and-click experiment builder.
The project is aimed at people with minor to advanced programming skills, preferably using Python 2.X. That recommendation is a significant practical constraint for teams standardizing on newer Python environments. PyGaze is free to use, with source and package downloads rather than a paid service tier.
Key features
Stimulus presentation works through PsychoPy and PyGame integrations. This gives developers two established ways to control what participants see, while the shared PyGaze syntax keeps tracker calls in the same experiment code.
The EyeTracker interface covers calibration, recording, gaze sampling, pupil-size retrieval, and fixation and saccade event functions. That range supports studies that need both raw gaze information and higher-level eye-movement events, instead of requiring separate interfaces for each operation.
Supported tracking options include EyeLink, SMI, Tobii, and a dummy mouse-simulated mode. The dummy mode is useful for developing or demonstrating experiment logic without live eye-tracker input; hardware workflows require the relevant vendor connection. PyLink is proprietary and requires registration with SR Research, while SMI and Tobii API downloads must be requested from their manufacturers.
Gaze-contingent tools include forced retinal location, a gaze-following cursor, and areas of interest. These are directly relevant to experiments whose display changes according to where a participant looks, rather than merely recording gaze after the fact.
Sampling behavior matters for timing-sensitive designs: PyGaze provides fresh samples only at the tracker's sampling rate and returns the newest available sample between fresh samples. It cannot create higher-frequency gaze data than the attached tracker supplies.
Pricing
| Plan | Price | Includes |
|---|---|---|
| PyGaze | free | Open-source eye-tracking toolbox; Python package and source downloads |
There is no paid upgrade, seat charge, quota, or free-trial period in the published plan. The free package suits academic, exploratory, and development work that can accommodate its programming model. The cost advantage does not remove integration work: tracker-specific software access and vendor registration can still be required.
Platforms
PyGaze supports Windows, Linux, and macOS. Download instructions cover pip installation on Windows, Linux, and Mac OS X, alongside source packages and portable Windows environments. The cross-platform options help teams use the same toolbox across operating systems, although tracker and API requirements remain part of each setup.
Who it's for
Choose PyGaze for a coded eye-tracking study that combines PsychoPy or PyGame stimuli with EyeLink, SMI, Tobii, or simulated input. It is especially suitable when gaze-contingent behavior, pupil measurements, or fixation and saccade events are central to the design.
It is a poor fit for users who want a visual study builder, have little programming experience, or need a modern Python-first workflow without accommodating the Python 2.X recommendation. Teams should also confirm access to their tracker's proprietary or requested APIs before committing.
Pros and cons
Pros
- Unified Python interface: stimulus and tracker control share one syntax, reducing integration changes across supported hardware.
- Broad experiment coverage: calibration, recording, sampling, pupil size, fixation, saccades, and gaze-contingent tools cover common research requirements.
- Free and open source: there is no software-plan cost, and package, source, and portable Windows downloads are provided.
- Simulation option: mouse-based dummy tracking lets developers exercise experiment logic without a live tracker.
Cons
- Programming required: the intended audience ranges from minor to advanced programmers, so non-coders will find no ready-made workflow.
- Python 2.X recommendation: this can complicate adoption in environments built around current Python versions.
- Vendor dependencies: EyeLink, SMI, and Tobii integrations may require registration or API requests outside PyGaze.
- Tracker-limited freshness: samples are fresh only at the eye tracker's rate, limiting designs that expect faster gaze updates.
Alternatives
Eye Tracking Software is the broader category to browse when you want to compare tools rather than commit to a Python toolbox.
GazePlotter is a free, open-source GNU GPL v3 option spanning Android, iOS, Linux, macOS, web, and Windows, making it preferable when wider platform coverage matters.
GazeRecorder offers free non-commercial use across Android, iOS, web, and Windows, a better match for browser or mobile-oriented recording under that usage condition.
Labvanced suits researchers wanting a web-capable freemium platform with a free tier capped at 300 MB, 10 recordings, and one active recruiting link, plus a trial.
Hawkeye is aimed at iOS and web users who can work within a free plan of one project and five sessions or pay for a monthly Starter plan.
iTrace is a free MIT-licensed Python package for Linux, self-hosted, and web deployments.
Chiasm is a paid web/API alternative with pay-per-use and monthly plans, appropriate when participant-minute billing fits better than a local toolbox.
OGAMA is free, open-source Windows freeware for users who prefer a Windows-focused application.
OpenGazer is free, open-source Linux software that requires a webcam and Linux build dependencies, suited to webcam-based gaze tracking rather than dedicated hardware integration.
Verdict
PyGaze is a strong choice for programmers building custom, gaze-responsive experiments across supported trackers and operating systems, especially when avoiding software licensing fees matters. Choose it for the unified interface and substantial eye-tracking functions; look elsewhere if you need a visual authoring environment, current-Python convenience, or tracker setup without vendor-specific dependencies.
Verdict
PyGaze combines experiment presentation and eye-tracker functions behind one Python interface, with gaze-contingent tools included. Check the separate tracker requirements and Python recommendation before choosing it.
Questions
Is PyGaze free?
Yes. It is open source, and its plan is listed as free.
Which operating systems does it support?
Windows, Linux, and macOS.
Which eye trackers are listed?
The documentation lists EyeLink, SMI, and Tobii, as well as a dummy mouse-simulated tracking mode.
Which stimulus-presentation packages does it support?
PyGaze supports PsychoPy and PyGame for stimulus presentation.
Does it require separate tracker access?
PyLink is proprietary and requires registration with SR Research. SMI and Tobii API downloads must be requested from their makers.
Who makes PyGaze, and what programming background is recommended?
The facts do not name a maker. The about page recommends Python 2.X and describes the intended users as people with minor to advanced programming skills.
Facts from PyGaze's own pages
- Display integrations
- PyGaze supports PsychoPy and PyGame for stimulus presentation. · pygaze.org, 5 Oct 2026
- Downloads
- The download page provides pip installation instructions for Windows, Linux, and Mac OS X, plus source packages and portable Windows environments. · pygaze.org, 5 Oct 2026
- Eye-tracking functions
- The EyeTracker interface includes calibration, recording, gaze sampling, pupil-size retrieval, and fixation and saccade event functions. · pygaze.org, 5 Oct 2026
- Gaze-contingent tools
- Its gaze-contingent library includes forced retinal location, a gaze-following cursor, and areas of interest. · pygaze.org, 5 Oct 2026
- Intended users
- The about page describes PyGaze as aimed at people with minor to advanced programming skills, preferably in Python 2.X. · pygaze.org, 5 Oct 2026
- Performance limit
- PyGaze provides fresh gaze samples only at the eye tracker's sampling rate and returns the newest available sample between fresh samples. · pygaze.org, 5 Oct 2026
- Platforms
- The about page says PyGaze supports Windows, Linux, and Mac OS X. · pygaze.org, 5 Oct 2026
- Python requirement
- The about page recommends Python 2.X for users with minor to advanced programming skills. · pygaze.org, 5 Oct 2026
- Support
- The documentation invites users who cannot find an answer to contact the PyGaze team. · pygaze.org, 5 Oct 2026
- Supported trackers
- The documentation lists EyeLink, SMI, Tobii, and dummy mouse-simulated tracking modes. · pygaze.org, 5 Oct 2026
- Tracker dependencies
- Installation instructions say PyLink is proprietary and requires registration with SR Research, while SMI and Tobii API downloads must be requested from their makers. · pygaze.org, 5 Oct 2026
- Unified interface
- PyGaze wraps packages for stimulus presentation and eye-tracker communication behind a uniform, user-friendly syntax. · pygaze.org, 5 Oct 2026
- What it does
- PyGaze is an open-source toolbox for running eye-tracking experiments in Python. · pygaze.org, 5 Oct 2026
Where PyGaze stands on Freedom251
- Eye Tracking Software#6 of 27