PyNeon
PyNeon is a lightweight Python package designed to streamline the processing and analysis of multimodal data from the Neon eye-tracking system (Pupil Labs GmbH). This community-driven effort provides a versatile set of tools to work with Neon's rich data, including gaze, eye states, IMU, video, events, and more.
PyNeon supports both native (data stored in the companion device) and Pupil Cloud data formats. We want to acknowledge the pupil-labs/pl-neon-recording project, which inspired the design of PyNeon.
Documentation for PyNeon is available at https://ncc-brain.github.io/PyNeon/ which includes detailed references for classes and functions, as well as step-by-step tutorials presented as Jupyter notebooks.
We also created a few sample datasets containing short Neon recordings for testing and tutorial purposes. These datasets can be found on OSF. We also provide a utility function get_sample_data() to download these sample datasets directly from PyNeon.
Key Features
- Easy API for reading in datasets, recordings, or individual modalities of data.
- (Tutorial) Various preprocessing functions, including data cropping, interpolation, concatenation, etc.
- (Tutorial) Flexible epoching of data for trial-based analysis.
- (Tutorial) Methods for working with scene video, including scanpath estimation and AprilTags-based mapping.
- (Tutorial) Exportation to Motion-BIDS and Eye-Tracking-BIDS formats for interoperability across the cognitive neuroscience community.
Installation
PyNeon requires Python >= 3.10. Install using pip or uv:
From PyPI:
pip install pyneon
uv pip install pyneon
From GitHub (latest development version):
pip install git+https://github.com/ncc-brain/PyNeon.git
uv pip install git+https://github.com/ncc-brain/PyNeon.git
Editable install:
pip install -e .
uv pip install -e .
Optional dependencies (dev, doc, full):
pip install "pyneon[dev]" # or [doc] or [full]
pip install -e ".[dev]" # editable with extras
uv pip install "pyneon[dev]"
uv pip install -e ".[dev]"
Citing PyNeon
If you use PyNeon in your research, please cite the accompanying paper as follows:
@misc{pyneon,
title={PyNeon: A Python package for the analysis of Neon multimodal mobile eye-tracking data},
url={osf.io/preprints/psyarxiv/y5jmg_v3},
DOI={10.31234/osf.io/y5jmg_v3},
publisher={PsyArXiv},
author={Chu, Qian and Hartel, Jan-Gabriel and Lepauvre, Alex and Melloni, Lucia},
year={2026},
month={Mar}
}
Metadata
Release files for pyneon 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyneon-0.0.2.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyneon-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.1 MB
Release files / pyneon-0.0.2.tar.gz
| Download URL | pyneon-0.0.2.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be44e9dbb0e4e6b5c02d6e4ea0e7a90fc3a67306bbe6468d0b5146b53da61d4e
|
|
BLAKE2b-256 checksum How to use checksums |
0287ec30a2bce36614e24ea088eb0515ddb30eb7eeab0c4d81317d712e346b4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency logRelease files / pyneon-0.0.2-py3-none-any.whl
| Download URL | pyneon-0.0.2-py3-none-any.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb3276d3f76bfb18c4a5697a0f4807c0aa3b6e9f1107a5a32faa9a019ef8b7e6
|
|
BLAKE2b-256 checksum How to use checksums |
44264b6f77f1af5dee0b7ee36457ff28e5835ae7320f16e1abfc161b58aa549d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency log