Skip to main content

Python Suite research packages logo

eyeprocesspy

Reproducible Python infrastructure for eye-tracking, pupillometry, AOIs, process data, psychometrics, and multimodal behavioral measurement.

Documentation · PyPI · Release v0.2.1 · Zenodo DOI · 88 workflows

CI Documentation Deep parity PyPI DOI Python 3.11–3.14 Frozen API 1182/1182 Coverage 100%

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.

Published release — 0.2.1. Version 0.2.1 packages the fully certified provenance-aware static Bayesian-network tranche together with the 0.2.0 scientific foundation. The controlling qualification passed 1,872 tests, 35,013 / 35,013 statements, and 12,098 / 12,098 branches with exact 100% coverage, plus a green Ubuntu/macOS/Windows × Python 3.11–3.14 matrix, Ruff, mypy, build/install, frozen-R oracle, and strict documentation gates. The release workflow publishes the wheel and source distribution to PyPI using Trusted Publishing, attaches SHA-256 evidence and build-provenance attestation, and creates the matching GitHub Release.

Install

pip install eyeprocesspy

For the optional Bayesian-network analysis layer:

pip install "eyeprocesspy[bayesnet]"

The BN layer consumes already processed feature tables and provides theory-constrained static structure learning, parameter fitting, posterior evidence propagation, participant-level bootstrap stability, grouped validation, detector/AOI sensitivity, plots, and reporting. It does not silently discretize continuous physiology or reinterpret learned directed edges as causal effects.

Open the Bayesian-network guide →

Pin the current release when exact reproducibility matters:

pip install eyeprocesspy==0.2.1

For source installation from the immutable release tag:

pip install "git+https://github.com/stefanosbalaskas/eyeprocesspy.git@v0.2.1"

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
Release-gate tests 1,872 passed
Statement coverage 35,013 / 35,013 (100%)
Branch coverage 12,098 / 12,098 (100%)
Numerical not_started debt 0
Plot not_started debt 0
CI matrix Ubuntu / macOS / Windows × Python 3.11–3.14
PyPI eyeprocesspy 0.2.1
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
Bayesian networks Static BN data contracts, temporal/edge constraints, pgmpy-backed learning/fitting/inference, participant bootstrap/CV, detector/AOI sensitivity
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
Gaze trace Probabilistic AOI
Pupil time series Process reliability
Pupil time series Process reliability

Open the complete visual gallery →

Choose your path

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

For eyeprocesspy 0.2.1, use the metadata in CITATION.cff and report the exact package version plus the frozen R reference exposed as eyeprocesspy.__r_reference_version__. The GitHub/PyPI release is available immediately; if Zenodo mints a new archive DOI for v0.2.1, that immutable DOI should be preferred in formal citations.

The initial 0.1.0 archive remains available at DOI 10.5281/zenodo.22285167 for studies that specifically used that release.

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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eyeprocesspy 0.2.1
File Size Uploaded Provenance
eyeprocesspy-0.2.1.tar.gz 1.3 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for eyeprocesspy 0.2.1
File Interpreter ABI Platform
eyeprocesspy-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.3 MB

Release files / eyeprocesspy-0.2.1.tar.gz

Download URL eyeprocesspy-0.2.1.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
b9ee0b74876063c0c94bd2f6f51f5d8dfc12990b447c3201c17e7ae2a5212e59
BLAKE2b-256 checksum
How to use checksums
c0a24818261ea51aa81394ca39364357f6fd622a458e4ae988ff2b93ac3cf447
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 27, 2026.

Transparency log

Release files / eyeprocesspy-0.2.1-py3-none-any.whl

Download URL eyeprocesspy-0.2.1-py3-none-any.whl
Size 988.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
68ee92638a0492188589a3ce41275fa7054aa4b7c193e3907d89cdf3d9303095
BLAKE2b-256 checksum
How to use checksums
82ab85c2fe182d02436934f506335b4159750d1df3d4a50972d91332c5bee43d
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 27, 2026.

Transparency log

Security for eyeprocesspy 0.2.1

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.

Select from 2 files

Attestation for eyeprocesspy-0.2.1.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 27, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page