PRISM Studio
Principled Research Information & Sidecar Model
PRISM pairs every research data file with a JSON sidecar that explains it — item wordings, response options, units, scoring — organized by subject, session, and modality. Modalities, file-naming rules, and sidecar contracts are JSON schemas, so the model extends to new instruments without code changes, while staying compatible with standard BIDS tooling. PRISM currently ships modalities and templates for psychological research (surveys, biometrics). PRISM Studio is the local web and CLI tool that applies the model to validation, conversion, and dataset management.
Full documentation, including a complete install and usage guide, is on ReadTheDocs. This README covers the essentials to get running.
Core Features
- Dataset validation and conversion
- PRISM Studio web interface, plus CLI workflows for terminal users
- Survey and biometrics metadata support
- Local-first operation (data stays on your machine; the only exception is optional, off-by-default environment enrichment, which sends coordinates and dates — never participant data — to a public weather service)
Feature Scope
| Tier | Meaning | Examples |
|---|---|---|
| Core loop | The primary supported workflow; breaking changes here get release notes and migration guidance. | Survey conversion, dataset validation, DataLad-tracked provenance for mutations and recipe scoring, entity/filename rules (entities.schema.json) |
| Supported | Deliberately-scoped bridges and integrations; stable, but intentionally narrower than the core loop. | BIDS phenotype/ export/import bridge (lossy by design — see ROADMAP.md Phase 1), recipe/derivative scoring |
| Experimental | Works, but has known rough edges or limited validation; use with care and report issues. | The Type-7 multiplexed decoder in the Varioport physio converter (flagged "QC required" in code) |
See ROADMAP.md for the reasoning behind each scope decision.
The Austrian NeuroCloud (ANC) (CoreTrustSeal-certified) officially accepts PRISM-formatted datasets alongside plain BIDS — see the data format requirements.
Installation
Python 3.10, 3.11, or 3.12 is required for source installation (3.9 and older
lack required features; 3.13+ has no wheels yet for some pinned scientific
dependencies). install.sh checks this automatically and, if your default
python3 is outside that range, uses uv to find or install a compatible
version for you — no manual Python install needed.
Pre-built binaries (recommended for most users)
Download the latest release for your platform from the Releases page.
| Platform | Binary |
|---|---|
| macOS (Apple Silicon) | prism-studio-macOS-AppleSilicon.zip |
| Windows | prism-studio-Windows.zip |
| Linux | prism-studio-Linux.zip |
The binaries are not code-signed yet, so your OS may warn on first launch. Check that a download is the one our build produced:
shasum -a 256 -c SHA256SUMS --ignore-missing # Linux/macOS (Windows: Get-FileHash)
gh attestation verify prism-studio-Linux.zip --repo MRI-Lab-Graz/prism-studio
macOS: if Gatekeeper blocks the first launch, run Prism Studio Installer.app
from the extracted folder (fallback: Open Prism Studio.command).
From source
bash install.sh # macOS/Linux
install.cmd # Windows — double-click, or run from any shell
Both create a virtual environment, install dependencies, and add a PRISM Studio desktop shortcut. See the installation guide for Windows execution-policy notes and other platform-specific details.
Quick Usage
After setup, activate the virtual environment (source .venv/bin/activate)
and run:
python prism-studio.py # Studio web app -> http://127.0.0.1:5001
python prism.py /path/to/dataset # Validator (CLI)
python prism_tools.py --help # Other tools (CLI)
Use a Chromium-based browser (Chrome, Edge, Brave) for Studio — Safari can be noticeably slower for local apps like this, especially with iCloud Private Relay enabled.
A slim Docker image with just the validation engine is also published on
every release (ghcr.io/mri-lab-graz/prism-validator), with a matching
GitHub Action — see the documentation
for both.
Documentation
Full documentation is on ReadTheDocs.
Report an Issue
Use the Issues tab to report bugs or request features:
https://github.com/MRI-Lab-Graz/prism-studio/issues
Include these details so we can reproduce quickly:
- Your OS and Python version
- The exact command you ran
- The full error message or screenshot
- A small dataset example (if possible)
Citation
If you use PRISM, please cite it — see CITATION.cff for metadata, or use the
DOI directly: 10.5281/zenodo.22809100
(always resolves to the latest release). A companion paper has been submitted
to JOSS; see paper/paper.md in the meantime.
License
See LICENSE (AGPL-3.0) for the software.
The bundled instrument library is content, not code, and AGPL-3.0 does not
apply to it. Survey templates under official/library/survey/ carry their
own per-instrument terms in each template's Study.License field. See
official/library/NOTICE.md for provenance,
citation requirements, and what you must check before using an instrument.
Metadata
Release files for prism-validator 1.20.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prism_validator-1.20.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / prism_validator-1.20.0-py3-none-any.whl
| Download URL | prism_validator-1.20.0-py3-none-any.whl |
|---|---|
| Size | 243.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b9e76250baa0cac23bda51907f56a074e922c5ee06603059564c4a056d5b250f
|
|
BLAKE2b-256 checksum How to use checksums |
2d24554104db87e8ad0024bd5bf92c2f6bc8ed00a2b447ca7086753961fa4d80
|
| 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 Oct 7, 2026.
Transparency log