gpbiometricspy
Analyze Gazepoint eye-tracking and biometric data in Python — or use gpbiometricspy Studio for a guided research workflow.
EDA / SCR · PPG / HRV · pupil · gaze · fixation · AOI · events · synchronization · multimodal QC · statistics · reproducible reporting
Website · Studio guide · Workflow map · Python API · Plots
Start with Studio
gpbiometricspy Studio is the end-user application layer over the validated gpbiometricspy scientific API. It gives researchers one stateful interface for importing data, checking quality, running signal-specific analyses, aligning streams, modelling results, and exporting reproducible outputs.
Install the stable app
python -m pip install "gpbiometricspy[studio]==0.1.6"
Launch it
The normal installed launcher is:
gpbiometricspy-studio
On Windows, if Python's Scripts directory is not on PATH, use the PATH-independent form:
python -m studio.cli --host 127.0.0.1 --port 8765
Then open http://127.0.0.1:8765.
Use the full local Studio for research files. The public-demo runtime is intentionally synthetic-only and blocks external uploads.
Studio workflow
Project intake
→ foundation QC
→ signal-specific analysis
→ events / AOIs / multimodal alignment
→ statistics & modelling
→ reporting / project recipe / reproducibility
Studio currently covers:
- project intake, schema inspection and channel detection;
- quality control and annotation;
- EDA / GSR / SCR;
- PPG / HR / HRV;
- pupil analysis;
- gaze / fixation / AOI analysis;
- event and secondary-stream alignment;
- multimodal analysis;
- statistics and modelling;
- reporting, provenance, recipes and reproducible replay.
Read the Studio guide for the full application map and runtime boundaries.
Prefer Python code?
Install the scientific package:
python -m pip install gpbiometricspy
Quick example:
import gpbiometricspy as gp
# Fully synthetic bundled demonstration data.
data = gp.load_kiosk_demo()
# Inspect signal validity and availability.
validity = gp.summarise_gazepoint_biometric_validity(data)
# Extract TTL transitions.
events = gp.extract_gazepoint_ttl_events(data)
Optional interoperability stack:
python -m pip install "gpbiometricspy[interop]"
Extras are also available for heartpy, biosppy, pyhrv, neurokit, mne, lsl, bayes, stats, studio, studio-test, docs, and dev.
Why gpbiometricspy?
| Area | Current state |
|---|---|
| Stable release | 0.1.6 |
| Release date | 2026-09-11 |
| Frozen semantic reference | gpbiometrics 2.0.0 |
| API parity | 406 / 406 implemented · 0 pending |
| Tests | 641 |
| Statement coverage | 10,456 / 10,456 = 100.00% |
| Raw branch coverage | 5,629 / 5,648 = 99.6636% |
| Audited structural arcs | 19 |
| Unexpected / stale / unaudited branch debt | 0 / 0 / 0 |
| Supported Python | 3.11–3.14 |
| Studio | 11 research workflows + Chromium E2E + installed wheel/sdist production validation |
The raw branch metric remains 99.6636%. The 19 remaining arcs are explicitly reviewed structural/caller-dominated paths; audited accounting is separate and does not relabel the raw coverage percentage as 100%.
Scientific scope
gpbiometricspy supports Gazepoint-native and multimodal workflows spanning:
- CSV/TXT import, schema detection and validation;
- EDA/GSR/SCR preprocessing, artifacts, decomposition and response analysis;
- PPG/IBI/HRV processing and optional toolbox cross-checks;
- pupil, gaze, fixation, saccade and AOI workflows;
- TTL/event alignment, synchronization drift and secondary streams;
- multimodal summaries and model-ready tables;
- cluster permutation and statistical/design guardrails;
- MNE, LSL/XDF, BIDS-oriented and external-toolbox interoperability;
- reproducibility, provenance, reporting and synthetic simulation.
The package preserves conservative interpretation boundaries: physiological and eye-tracking measurements do not directly establish emotion, stress, trust, preference, cognition, health status, or diagnosis.
Documentation
- Start here — installation and first analysis.
- Studio — application workflow, local/public boundaries and launch options.
- Workflow map — choose a path from your recorded signals.
- Examples — EDA, HRV, pupil/gaze, multimodal, QC/reporting and interoperability.
- Plot gallery — figures generated by the package.
- API by scientific domain — task-oriented navigation of all 406 functions.
- Validation — parity, coverage, real-data and application validation layers.
Citation and archival record
Stable gpbiometricspy 0.1.6 was released on 2026-09-11 from the fully qualified stable-release line. The 0.1.6 Zenodo version DOI is intentionally left unset until Zenodo ingests the immutable GitHub release.
- 0.1.6 version DOI: pending Zenodo ingestion of
v0.1.6— no DOI is fabricated before minting - Software concept DOI: 10.5281/zenodo.22150872
- Previous 0.1.5 DOI: 10.5281/zenodo.22672823
- Earlier 0.1.4 DOI: 10.5281/zenodo.22515782
- Earlier 0.1.3 DOI: 10.5281/zenodo.22313884
- Earlier 0.1.2 DOI: 10.5281/zenodo.22150873
- Frozen R semantic-reference DOI: 10.5281/zenodo.21434608
- gpbiometrics article: 10.3390/signals7050086
Recommended citation:
Balaskas, S. (2026). gpbiometricspy: Python tools for Gazepoint biometric workflows (Version 0.1.6) [Computer software]. GitHub. https://github.com/stefanosbalaskas/gpbiometricspy/releases/tag/v0.1.6
Development and provenance
The R gpbiometrics 2.0.0 source, tests, documentation and article material are retained under reference/ as the frozen semantic reference used for parity work. See VALIDATION.md, the documentation site, and the machine-readable export inventory for the deeper validation contract.
Metadata
Release files for gpbiometricspy 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gpbiometricspy-0.1.6.tar.gz | 10.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gpbiometricspy-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.2 MB
Release files / gpbiometricspy-0.1.6.tar.gz
| Download URL | gpbiometricspy-0.1.6.tar.gz |
|---|---|
| Size | 10.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c57ec464bbbb4b9444646e26e2abd02ff20e0a00e2b1ab8385bdf867eaa2eb25
|
|
BLAKE2b-256 checksum How to use checksums |
445d3af814c774af26917b2bb75651b1912b2d3bfb591132106c7c4ab38d2802
|
| 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 12, 2026.
Transparency logRelease files / gpbiometricspy-0.1.6-py3-none-any.whl
| Download URL | gpbiometricspy-0.1.6-py3-none-any.whl |
|---|---|
| Size | 8.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
087645e8fccd0885c0cd99fe1e0362f2d234f68f975b148cc9b8c64a2b8e2970
|
|
BLAKE2b-256 checksum How to use checksums |
2709eba43ecc9f1ce3e2e057876392763c6c12e0ec65bf85a6a6b32d29597f3e
|
| 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 12, 2026.
Transparency log