The Hyperscanning Python Pipeline.
Project description
HyPyP 🐍〰️🐍
The Hyperscanning Python Pipeline
⚠️ This software is in beta and thus should be considered with caution. While we have done our best to test all the functionalities, there is no guarantee that the pipeline is entirely bug-free.
📖 See our paper for more explanation and our plan for upcoming functionalities (aka Roadmap).
🤝 If you want to help you can submit bugs and suggestions of enhancements in our Github Issues section.
🤓 For the motivated contributors, you can even help directly in the development of HyPyP. You will need to install uv (see section below).
Contributors
Original authors: Florence BRUN, Anaël AYROLLES, Phoebe CHEN, Amir DJALOVSKI, Yann BEAUXIS, Suzanne DIKKER, Guillaume DUMAS New contributors: Ryssa MOFFAT, Marine Gautier MARTINS, Rémy RAMADOUR, Patrice FORTIN, Ghazaleh RANJBARAN, Quentin MOREAU, Caitriona DOUGLAS, Franck PORTEOUS, Jonas MAGO, Juan C. AVENDANO, Julie BONNAIRE, Martín A. MIGUEL, @m2march (ACCorr GPU/numba optimizations, BrainHack Montréal 2026)
Installation
pip install HyPyP
Documentation
HyPyP documentation of all the API functions is available online at hypyp.readthedocs.io
For getting started with HyPyP, we have designed a little walkthrough: getting_started.ipynb
Core API
🛠 io.py — Loaders (Florence, Anaël, Ghazaleh, Franck, Jonas, Guillaume)
🧰 utils.py — Basic tools (Amir, Florence, Guillaume)
⚙️ prep.py — Preprocessing (ICA & AutoReject) (Anaël, Florence, Guillaume)
🔠 analyses.py — Power spectral density and wide choice of connectivity measures (Phoebe, Suzanne, Florence, Ghazaleh, Juan, Guillaume)
📈 stats.py — Statistics (permutations & cluster statistics) (Florence, Guillaume)
🧠 viz.py — Inter-brain visualization (Anaël, Amir, Florence, Guillaume)
🎓 Tutorials - Examples & documentation (Anaël, Florence, Yann, Ghazaleh, Caitriona, Guillaume)
fNIRS hyperscanning
🔦 fnirs/*.py — Functional Near Infrared Spectroscopy hyperscanning features (Patrice)
🌊 wavelet/*.py — Continuous Wavelet Transform and Wavelet Transform Coherence (Patrice)
📊 shiny/*.py — Shiny dashboards, install using uv sync --extra shiny (Patrice)
Developer Installation (uv)
To develop HyPyP, we recommend using uv. Follow these steps:
1. Install uv:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# or with pip
pip install uv
2. Clone the Repository:
git clone git@github.com:ppsp-team/HyPyP.git
cd HyPyP
3. Install Dependencies:
uv sync --group dev
4. Launch Jupyter Lab to Run Notebooks:
uv run jupyter lab
Optional extras:
# Shiny dashboards
uv sync --group dev --extra shiny
# Numba optimization backend (CPU JIT)
uv sync --group dev --extra numba
# PyTorch optimization backend (GPU/MPS)
uv sync --group dev --extra torch
VS Code Integration
uv creates a .venv directory in the project root by default. VS Code should auto-detect it. If not, point the Python interpreter to .venv/bin/python.
Child Head Visualization
As of version 0.5.0b5, hypyp now supports visualization of parent-child or adult-child hyperscanning data. This allows for properly scaled and positioned head models when analyzing data from participants of different ages.
To use this functionality, simply set the children=True parameter in visualization functions and specify which participant is the child using the child_head parameter.
Example:
# Visualize parent-child data (epo1 = parent, epo2 = child)
viz_3D_inter(epo1, epo2, C, threshold=0.95, steps=10, children=True, child_head=True)
License
This project is licensed under the BSD 3-Clause License. See the license for details.
Project details
Release history Release notifications | RSS feed
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 hypyp-0.6.0.tar.gz.
File metadata
- Download URL: hypyp-0.6.0.tar.gz
- Upload date:
- Size: 173.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9da26836dbaafb6c2ca951d25a0cafa5852a5957ff09e07b87f49cd3dbc7856c
|
|
| MD5 |
bf4879003b6097301e84a6f450df978b
|
|
| BLAKE2b-256 |
fb1c5b312b24b4d32041ffe442504d390882450371077640b2ebd26ec59f87b7
|
File details
Details for the file hypyp-0.6.0-py3-none-any.whl.
File metadata
- Download URL: hypyp-0.6.0-py3-none-any.whl
- Upload date:
- Size: 177.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0b8895695117d76b40e28e070555fba1eb7e41527481bc87aac7f9448d5ea3a
|
|
| MD5 |
124f2cf2cc2d8abd96c660bf06535df4
|
|
| BLAKE2b-256 |
0f15508f9d53bf354cfef280734315cc725865485751aa61df304efacca87d27
|