eyeprocesspy
Reproducible Python infrastructure for eye-tracking, pupillometry, AOIs, process data, psychometrics, and multimodal behavioral measurement.
Documentation · PyPI · Release v0.1.0 · Zenodo DOI · 88 workflows
eyeprocesspy is the Python companion and deep-parity port of the R package eyeprocess, with frozen eyeprocess 0.11.1 as the scientific reference. It provides one governed analytical surface for vendor import, canonical data contracts, preprocessing, gaze and AOI analysis, pupillometry, process measurement, psychometrics/IRT, multimodal workflows, validation, provenance, plotting, and reproducible reporting.
Release candidate — 0.2.0. The 0.2.0 candidate is anchored to an exact-main qualification with 1,845 tests, 34,161 / 34,161 statements, and 11,796 / 11,796 branches covered, plus a green Ubuntu/macOS/Windows × Python 3.11–3.14 matrix. It is not yet published to PyPI or Zenodo. The latest published release remains 0.1.0, archived at DOI 10.5281/zenodo.22285167.
Install
pip install eyeprocesspy
Pin the initial scientific release when exact reproducibility matters:
pip install eyeprocesspy==0.1.0
For source installation from the immutable release tag:
pip install "git+https://github.com/stefanosbalaskas/eyeprocesspy.git@v0.1.0"
Windows users can also use the hardened installer described in the manual-install guide. It has been exercised on a real Windows/Python 3.11.9 installation with the recommended extras and a clean pip check.
Release evidence
| Dimension | Verified state |
|---|---|
| Frozen R public APIs resolved | 1,182 / 1,182 |
| Frozen R reference | 0.11.1 |
| Workflow articles linked | 88 / 88 |
| Deep-parity tests | 1,458 passed |
| Statement coverage | 23,085 / 23,085 (100%) |
| Branch coverage | 9,680 / 9,680 (100%) |
Numerical not_started debt |
0 |
Plot not_started debt |
0 |
| CI matrix | Ubuntu / macOS / Windows × Python 3.11–3.14 |
| PyPI | eyeprocesspy 0.1.0 |
| Zenodo | 10.5281/zenodo.22285167 |
See RELEASE_VALIDATION.md, TEST_SUMMARY.md, and the parity & validation guide for the underlying evidence.
What it covers
| Research layer | Representative capabilities |
|---|---|
| Import & canonicalization | Vendor/generic readers, Gazepoint workflows, schema validation, coordinates, events, timebase, file pairing |
| Gaze & AOIs | Fixations, saccades, dwell, scanpaths, transitions, entropy, recurrence, hard/probabilistic/compositional AOIs |
| Censored latency | survival-ready event/censor tables, Kaplan–Meier, repeated-trial Cox, Weibull/log-normal AFT, PH diagnostics, sensitivity |
| Pupil & multimodal | Baselines, pupil features, missingness, functional pupil, synchronized streams, staged multimodal models |
| Psychometrics & IRT | Information, fit, DIF/DTF, process-informed and dynamic IRT, reliability, linking, norms, diagnostics |
| Measurement intelligence | Calibration uncertainty, reliability, process guardrails, fairness, item-bank optimization |
| Validation | Recovery, SBC-style evidence, stress tests, negative controls, grouped/leakage-aware validation, evidence atlases |
| Reproducibility | Benchmarks, manifests, provenance, frozen-R oracle, release audits, software-paper evidence |
| Plots & reporting | Publication-oriented gaze, AOI, pupil, quality, IRT, process and validation graphics |
30-second reproducible check
import eyeprocesspy as ep
study = ep.eyeprocess_benchmark_study()
audit = ep.validate_benchmark_study(study)
data = ep.import_benchmark_study(study)
print(audit["valid"])
print(data)
For a real export:
import eyeprocesspy as ep
eye = ep.read_eye_export("participant_001.csv", vendor="auto")
issues = ep.validate_eye_dataset(eye)
See the package in action
| Gaze trace | Probabilistic AOI |
|---|---|
| Pupil time series | Process reliability |
|---|---|
Open the complete visual gallery →
Choose your path
- New to the package: Getting started → Worked examples → Cookbook
- Standardized Data Quality: Overview · 9-point example · Plot gallery · Sensitivity · Focused API\n- Eye-tracking / AOI work: End-to-end eye-tracking · Gazepoint import & QC
- Gaze latency / TTFF: Censored gaze-latency method · Disclosure example · Evidence-verification example · Troubleshooting · Reproducibility checklist
- Pupillometry / multimodal: Pupillometry guide · Quality & uncertainty
- Psychometrics / IRT: Psychometrics & IRT · IRT example
- Full workflows: Featured workflows · 88-article library
- Lookup: API reference · Plotting reference · FAQ
Scientific boundary
eyeprocesspy provides measurement and analysis infrastructure. A metric is not automatically a validated psychological construct, diagnosis, or causal explanation. Reliability does not establish construct validity; prediction does not establish causation; probabilistic AOI membership represents modeled coordinate uncertainty rather than probability of attention; and gaze, pupil, biometric, and process measures require an appropriate design, measurement model, and ethical interpretation.
Citation
If you use eyeprocesspy 0.1.0, cite the archived software release:
Balaskas, S. (2026). eyeprocesspy: Vendor-neutral Python infrastructure for eye-tracking and multimodal process data (Version 0.1.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.22285167
For reproducibility, also report eyeprocesspy.__version__ and the frozen R reference exposed as eyeprocesspy.__r_reference_version__.
Relationship to R eyeprocess
The Python package is developed against the frozen eyeprocess 0.11.1 reference. API, articles, data, plots, numerical evidence, backends, and unavoidable language-specific divergences are tracked explicitly. Python-native extensions are kept distinct from reference parity so they do not masquerade as R-equivalent behavior.
License
MIT. See LICENSE.
Metadata
Release files for eyeprocesspy 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| eyeprocesspy-0.2.0.tar.gz | 1.3 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eyeprocesspy-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.2 MB
Release files / eyeprocesspy-0.2.0.tar.gz
| Download URL | eyeprocesspy-0.2.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
009efb53a104adeda7b69b5f8bee0e47b0f36e235a5ccd247132bf4d0985f2fa
|
|
BLAKE2b-256 checksum How to use checksums |
aa63a162fda68f2a561e63bea5d62b2eed6278ee046ec0e9f929337ad4608de4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / eyeprocesspy-0.2.0-py3-none-any.whl
| Download URL | eyeprocesspy-0.2.0-py3-none-any.whl |
|---|---|
| Size | 964.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e4fdb3db6f1cab831c625c965245ca82d18cd3b1540e7b4c49be573c7aed81ce
|
|
BLAKE2b-256 checksum How to use checksums |
de17c405af09d5146519e27990e3aea8b886c676ca70b6f2870de00f43e7407c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logSecurity for eyeprocesspy 0.2.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for eyeprocesspy-0.2.0.tar.gz
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 Sep 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.