Skip to main content

MultimodalSRM

CI Documentation License: MIT

Shared response models for observations measured across people, modalities and native sampling times.

Version 0.2.0. This package contains the extracted R-MSRM and GP-MSRM implementations. Software checks, fit convergence, uncertainty calibration and empirical recovery are separate claims.

Models

  • R-MSRM (MultimodalSRM) estimates one exact common latent response per run by default, with participant–modality mappings and regularized response kernels.
  • GP-MSRM (BayesianMultimodalSRM) uses a continuous shared latent Gaussian process, individual observation mappings, explicit priors, MAP estimation and supported posterior workflows.

Both use named native-time observations, masks and missing streams. They preserve explicit information boundaries for held-out prediction. Learned FIR responses are deferred. Legacy neighborhood, graph, mixture and reference estimators are not exported by this package. See the capability and backend matrix before choosing a workflow.

Response(BatemanSCR(...)) models skin-conductance streams across R and supported GP workflows. See the SCR guide and shared R/GP example. Version 0.2.0 removed BachSCR; reproduce Bach models and archives in a 0.1.0 environment (migration).

Install

Python 3.12 or later is required. Install the release from PyPI:

python -m pip install "multimodalsrm==0.2.0"
# Optional Bayesian runtime:
python -m pip install "multimodalsrm[bayesian]==0.2.0"

Enable float64 before using the Bayesian model (JAX_ENABLE_X64=true). See the installation guide for environment setup.

Development and runnable examples

The example scripts live in the source repository. From a clone:

python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
python examples/r_quickstart.py

For the optional Bayesian runtime:

python -m pip install -e '.[bayesian]'
JAX_ENABLE_X64=true JAX_PLATFORM_NAME=cpu python examples/gp_map_quickstart.py

The base install does not require JAX, NumPyro, ArviZ or plotting libraries. The Bayesian extra pins the runtime used by the source handoff; enabling float64 is required. Editable source installs follow the checkout; use the v0.2.0 tag to match this release.

Data and imports

from multimodalsrm import MultimodalSRM, TimeSeries, Identity, Gaussian, Response
from multimodalsrm.bayesian import BayesianMultimodalSRM, BayesianPriors

# values: (observations, features); times: (observations,).
# Each modality retains its own timestamps. A mask marks observed entries.
# data = {participant: {run: {modality: TimeSeries(values, times, mask)}}}

Use consistent timestamp units across streams. Separate runs have separate latent responses; participants viewing the same run share one response. features=K chooses the latent dimensionality rather than estimating K. The runnable tutorials demonstrate fitting, explicit target exclusion, independent new runs and GP archive replay on small synthetic data.

Documentation and development

Routine PR checks use documentation-only checks or Linux core regressions and Bayesian smoke tests, depending on the changed files. The full Linux/macOS suites and wheel/source-distribution checks run on request and before every release. See the test policy and current CI run for coverage and evidence. Passing CI does not certify scientific validity or authorize a new release.

License and citation

MIT licensed; see LICENSE. The implementation was extracted from Luke J. Chang's shared-response-models research repository with contributor provenance retained in the integration record. Citation metadata is in CITATION.cff. No package DOI or associated publication is claimed. Research observations and fitted archives are not distributed.

Metadata

Release files for multimodalsrm 0.2.0

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

Source distribution (sdist)

Source distribution for multimodalsrm 0.2.0
File Size Uploaded Provenance
multimodalsrm-0.2.0.tar.gz 618.3 kB With provenance Details

Built distribution (wheel)

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

Total release size: 866.4 kB

Release files / multimodalsrm-0.2.0.tar.gz

Download URL multimodalsrm-0.2.0.tar.gz
Size 618.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c77ef43c9a17cb18195b203908c3e0c4e6d9acc71dafebbdcb4a0b431777ed59
BLAKE2b-256 checksum
How to use checksums
0b2ecfe9de9076fe1b7d785b327a20eae0e0d5cdbf8134002ed9196147ff11f4
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 22, 2026.

Transparency log

Release files / multimodalsrm-0.2.0-py3-none-any.whl

Download URL multimodalsrm-0.2.0-py3-none-any.whl
Size 248.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dfca6039aea536ea51b8b22e061ddeb26475b11e425412a7e503677f4a900795
BLAKE2b-256 checksum
How to use checksums
450bc44590ed8bcf3ad68e39f8e344fd8002a37e476118bfc469f499e12d7409
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 22, 2026.

Transparency log

Security for multimodalsrm 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.

Select from 2 files

Attestation for multimodalsrm-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 22, 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.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

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