pupil

Open source eye tracking

Github stars Tracking Chart

Pupil





Open source eye tracking platform.

Pupil is a project in active, community driven development. Pupil Core mobile eye tracking hardware is accessible, hackable, and affordable. The software is open source and written in Python and C++ when speed is an issue.

Our vision is to create tools for a diverse group of people interested in learning about eye tracking and conducting their eye tracking projects.

Chat with us on Discord.

Users





You don't need to know how to write code to use Pupil. Download the latest apps!

Read the Pupil Core user guide.

Developers

There are a number of ways you can interact with Pupil Core software as a developer:

  • Use the API: Use the network based real-time API to communicate with Pupil over the network and integrate with your application.
  • Develop a Plugin: Plugins are loaded at runtime from the app bundle. Note: if your plugin requires Python libraries that are not included in the application bundle, then you will need to run from source.
  • Run from Source: Can't do what you need to do with the network based api or plugin? Then get ready to dive into the inner workings of Pupil and run from source!

All setup and dependency installation instructions are contained in this repo. All other developer documentation is here.

Installing Dependencies

Intel RealSense 3D Support

If you want to use an Intel RealSense 3D scene camera, please follow the additional setup instructions for the camera model you have.

Clone the repo

After you have installed all dependencies, clone this repo and start Pupil software.

git clone https://github.com/pupil-labs/pupil.git # or your fork
cd pupil

Note: If you are using Windows, you will have to complete a few more steps after cloning the repo. Please refer to the Windows 10 dependencies setup guide.

Run Pupil

Windows

cd pupil_src
run_capture.bat
# or run_player.bat
# or run_service.bat

macOS/Linux

cd pupil_src
python main.py capture # or player/service

Command Line Arguments

The following arguments are supported:, Flag, Description, ----------------------, ----------------------------------------, -h, --help, Show help message and exit., --version, Show version and exit., --debug, Display debug log messages., --profile, Profile the app's CPU time., -P PORT, --port PORT, (Capture/Service) Port for Pupil Remote., --hide-ui, (Capture/Service) Hide UI on startup., <recording>, (Player) Path to recording., ## License
All source code written by Pupil Labs is open for use in compliance with the GNU Lesser General Public License (LGPL v3.0). We want you to change and improve the code -- make a fork! Make sure to share your work with the community!

Main metrics

Overview
Name With Ownerpupil-labs/pupil
Primary LanguagePython
Program languageShell (Language Count: 3)
Platform
License:GNU Lesser General Public License v3.0
所有者活动
Created At2013-08-17 04:40:25
Pushed At2025-05-30 10:14:40
Last Commit At2025-05-30 17:14:40
Release Count138
Last Release Namev3.6 (Posted on 2023-02-16 17:10:34)
First Release Namev0.1.0 (Posted on 2013-07-30 09:32:07)
用户参与
Stargazers Count1.6k
Watchers Count113
Fork Count691
Commits Count8.6k
Has Issues Enabled
Issues Count1357
Issue Open Count72
Pull Requests Count880
Pull Requests Open Count8
Pull Requests Close Count100
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private