gpbiometricspy
gpbiometricspy is the Python counterpart of gpbiometrics, with the supplied
gpbiometrics 2.0.0 source release frozen as its initial semantic reference.
It provides Gazepoint-native tools for importing, validating, preprocessing,
analysing, plotting, modelling, synchronising, and reporting biometric and
multimodal eye-tracking data.
Parity status
The current development tree has reached the frozen R API contract:
- 406 / 406 R exports implemented and registered
- 0 pending exports
- 200+ Python parity/edge tests
- whole-package statement coverage ≥ 90%
- packaged synthetic kiosk demo: 36 participants, 69,120 rows
- frozen R reference retained: 144 R sources, 403 Rd files, 120 R test files, and 26 vignette/article sources
The project deliberately distinguishes API completion from an absolute
claim that independent R and Python runtimes are numerically identical in every
external-library/version combination. The frozen R tests and implementation
are retained in reference/ so parity can continue to be audited.
Install
Install the public release from PyPI:
python -m pip install gpbiometricspy
For optional integrations:
python -m pip install "gpbiometricspy[interop]"
For a source checkout used in package development:
python -m pip install -e ".[dev]"
Individual extras are available for heartpy, biosppy, pyhrv,
neurokit, mne, lsl, bayes, stats, docs, and dev.
Quick start
import gpbiometricspy as gp
# Load the public synthetic kiosk demo distributed with the package.
data = gp.load_kiosk_demo()
print(data.shape) # (69120, ...)
# Inspect biometric signal validity / availability.
validity = gp.summarize_gazepoint_biometric_validity(data)
# Extract TTL transitions.
events = gp.extract_gazepoint_ttl_events(data)
# Example native pyHRV-style workflow from IBI values.
hrv = gp.run_gazepoint_pyhrv_style(
nni_ms=data.loc[data["IBI"].notna(), "IBI"].head(500).to_numpy() * 1000
)
The demo is fully synthetic and is intended only for examples, testing, and reproducible workflow demonstrations.
Scientific scope
The 2.0.0 parity surface covers, among other areas:
- Gazepoint biometric file/folder import, schema detection, validation and QC;
- EDA/GSR/SCR preprocessing, artifacts, response detection, windows, habituation/recovery, spectral/nonlinear descriptors and external bridges;
- HR/IBI/HRV/PPG processing, pyHRV-style, HeartPy-style and BioSPPy-style workflows, nonlinear HRV, RQA/geometric metrics and respiratory proxies;
- pupil, gaze, fixation, saccade, AOI and event-locked multimodal workflows;
- TTL alignment, synchronization drift, LSL/XDF, MNE and BIDS-oriented bridges;
- cluster permutation testing plus explicit guardrails for designs that the R package intentionally refuses;
- reproducibility, preregistration, audit trails, readiness checks, reporting, plots, workflow summaries, simulation and synthetic smoke testing.
Interpretation guardrails
gpbiometricspy preserves the conservative interpretation policy of the R
package. Physiological and eye-tracking signals are measurements and derived
features; they do not directly establish emotion, stress, cognition,
preference, health status, or diagnosis. Pupil measurements remain sensitive
to luminance and visual context, and respiration estimates derived from PPG or
other surrogate channels are proxies unless independently validated.
Reference precedence
When Python and explanatory prose disagree, parity work follows:
- frozen
gpbiometrics 2.0.0implementation; - frozen R tests;
- formal Rd documentation;
- vignettes/examples;
- repository/site explanatory material.
See the documentation site source in docs/, the machine-readable export
inventory in reference/r-export-inventory.csv, and VALIDATION.md for the
current release gates.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gpbiometricspy-0.1.0.tar.gz.
File metadata
- Download URL: gpbiometricspy-0.1.0.tar.gz
- Upload date:
- Size: 9.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e7cd9badeb64dae7f46690746fe9a7eca5f7b3eb61cd10f70af0e04f5f83970
|
|
| MD5 |
81a5109c494537134296f6cc9c657fa7
|
|
| BLAKE2b-256 |
3a36ba29ede6115793be7537d52513dd9844653d548128a53bee21d63af1cf5b
|
Provenance
The following attestation bundles were made for gpbiometricspy-0.1.0.tar.gz:
Publisher:
pypi.yml on stefanosbalaskas/gpbiometricspy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpbiometricspy-0.1.0.tar.gz -
Subject digest:
0e7cd9badeb64dae7f46690746fe9a7eca5f7b3eb61cd10f70af0e04f5f83970 - Sigstore transparency entry: 2615774341
- Sigstore integration time:
-
Permalink:
stefanosbalaskas/gpbiometricspy@6b285aec0490fd4a08cd44b2fb731036ecd47fc8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/stefanosbalaskas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@6b285aec0490fd4a08cd44b2fb731036ecd47fc8 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gpbiometricspy-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gpbiometricspy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3370c646825603d96165e890b36491acd07148ffbe992ad00ba3ab79044a31e6
|
|
| MD5 |
c3e5c381c7ad972a94399627b60d86ed
|
|
| BLAKE2b-256 |
1ba3a4568b8169f16cc44db44d710c02097909b596fc09a6cf12995cb8bc1ce5
|
Provenance
The following attestation bundles were made for gpbiometricspy-0.1.0-py3-none-any.whl:
Publisher:
pypi.yml on stefanosbalaskas/gpbiometricspy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gpbiometricspy-0.1.0-py3-none-any.whl -
Subject digest:
3370c646825603d96165e890b36491acd07148ffbe992ad00ba3ab79044a31e6 - Sigstore transparency entry: 2615774400
- Sigstore integration time:
-
Permalink:
stefanosbalaskas/gpbiometricspy@6b285aec0490fd4a08cd44b2fb731036ecd47fc8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/stefanosbalaskas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@6b285aec0490fd4a08cd44b2fb731036ecd47fc8 -
Trigger Event:
workflow_dispatch
-
Statement type: