Metadata-Version: 2.4
Name: psychopy-bids
Version: 2026.1.3
Summary: A PsychoPy plugin for using the Brain Imaging Data Structure (BIDS) to organize and describe data.
Author-email: Christoph Anzengruber <christoph.anzengruber@uni-graz.at>, Florian Schöngaßner <florian.schoengassner@uni-graz.at>, Lukas Wiertz <lukas.wiertz@uni-graz.at>
License: GNU General Public License v3 (GPLv3)
Project-URL: Documentation, https://psygraz.gitlab.io/psychopy-bids
Project-URL: Source, https://gitlab.com/psygraz/psychopy-bids
Project-URL: Changelog, https://gitlab.com/psygraz/psychopy-bids/-/blob/release/CHANGELOG.md
Project-URL: Issues, https://gitlab.com/psygraz/psychopy-bids/-/work_items
Keywords: psychopy,bids,psychology,data organization,neuroscience,fmri,eeg,experiment,data structure
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Topic :: Scientific/Engineering
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: numpy>=1.21.0
Requires-Dist: pandas>=1.4.3
Requires-Dist: hedtools>=0.5.0
Requires-Dist: packaging>=20.0
Requires-Dist: seedir>=0.4.0
Provides-Extra: docs
Requires-Dist: mkdocs; extra == "docs"
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocstrings; extra == "docs"
Requires-Dist: mkdocstrings-python; extra == "docs"
Requires-Dist: mkdocs-jupyter; extra == "docs"
Requires-Dist: mkdocs-roamlinks-plugin; extra == "docs"
Requires-Dist: pytkdocs[numpy-style]; extra == "docs"
Provides-Extra: dev
Requires-Dist: autopep8; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: bandit; extra == "dev"
Requires-Dist: codespell; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: psychopy; extra == "dev"
Dynamic: license-file

<table><tr><td align="center">
  <img src="https://gitlab.com/psygraz/psychopy-bids/-/raw/v2026.1.3/docs/files/psychopy-bids-with-text.svg" alt="PsychoPy-BIDS" width="300"/>
</td></tr></table>

A [PsychoPy](https://www.psychopy.org) plugin for creating valid [Brain Imaging Data Structure (BIDS)](https://bids-specification.readthedocs.io) datasets from behavioral and task-based experiments.

- **[Documentation](https://psygraz.gitlab.io/psychopy-bids)**
- **[Gitlab Repository](https://gitlab.com/psygraz/psychopy-bids)**
- **[Report Issues](https://gitlab.com/psygraz/psychopy-bids/issues)**
- **[Contributing Guidelines](https://gitlab.com/psygraz/psychopy-bids/-/blob/release/CONTRIBUTING.md)**
- **[Code of Conduct](https://gitlab.com/psygraz/psychopy-bids/-/blob/release/CONDUCT.md)**
- **[PyPI Package](https://pypi.org/project/psychopy-bids)**

---

<details>
<summary><strong>Breaking Changes in Non-Patch Versions</strong></summary>

Non-patch versions (e.g., `v2025.1.0`, `v2026.0.0`) may introduce substantial new features or changes that break compatibility with previously written experiments. It is strongly recommended to continue using the version of `psychopy-bids` that an experiment was originally created with. Only upgrade to a newer version for new experiments.

For details, see the [Changelog](https://gitlab.com/psygraz/psychopy-bids/-/blob/release/CHANGELOG.md).

</details>

---

## Installation

### Recommended: Install via PsychoPy Plugin Manager

1. Open PsychoPy.
2. Go to the **Tools** menu and select **Plugin/packages manager**.
3. Search for `psychopy-bids` in the list.
4. Click **Install**.

### Alternative: Install via pip

```console
pip install psychopy-bids
```

---

## Usage

`psychopy-bids` supports two workflows:

- **PsychoPy Builder** — Add BIDS components directly to experiment routines without writing code.
- **Python code** — Use the `BIDSHandler` and event classes to construct and export BIDS datasets programmatically.

See the [documentation](https://psygraz.gitlab.io/psychopy-bids) for installation instructions, guides, and API reference.

---

## Contributing

Interested in contributing? Check out the [contributing guidelines](https://gitlab.com/psygraz/psychopy-bids/-/blob/release/CONTRIBUTING.md). Please note that this project is released with a [Code of Conduct](https://gitlab.com/psygraz/psychopy-bids/-/blob/release/CONDUCT.md). By contributing to this project, you agree to abide by its terms.

---

## License

`psychopy-bids` was created by Christoph Anzengruber, Florian Schöngaßner & Lukas Wiertz. It is licensed under the terms of the GNU General Public License v3.0 license.
