Metadata-Version: 2.4
Name: fusi-bids-pydantic
Version: 0.0.11.3
Summary: Pydantic model for fUSI-BIDS extension proposal (BEP) sidecar JSON schema
Author-email: Charles Guan <charles@forestneurotech.org>
Project-URL: Repository, https://github.com/Forest-Neurotech/fusi-bids-pydantic
Keywords: fUSI,bids,pydantic
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
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: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <4.0,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: pydantic>=2.4.0
Requires-Dist: typing-extensions>=4.6.0
Dynamic: license-file

# fusi-bids-pydantic

[![Build status](https://img.shields.io/github/actions/workflow/status/Forest-Neurotech/fusi-bids-pydantic/test.yml?branch=main)](https://github.com/Forest-Neurotech/fusi-bids-pydantic/actions/workflows/test.yml?query=branch%3Amain)
[![Supported Python versions](https://img.shields.io/badge/python-3.9_%7C_3.10_%7C_3.11_%7C_3.12_%7C_3.13-blue?labelColor=grey&color=blue)](https://github.com/Forest-Neurotech/fusi-bids-pydantic/blob/main/pyproject.toml)
[![License](https://img.shields.io/github/license/Forest-Neurotech/fusi-bids-pydantic)](https://img.shields.io/github/license/Forest-Neurotech/fusi-bids-pydantic)

Pydantic model for fUSI-BIDS extension proposal (BEP) sidecar JSON schema

- **Ported from**: <https://bids.neuroimaging.io/bep040>
- **Github repository**: <https://github.com/Forest-Neurotech/fusi-bids-pydantic/>


### Installation

Clone the repository:

```bash
git clone https://github.com/Forest-Neurotech/fusi-bids-pydantic.git
cd fusi-bids-pydantic
```

For general usage, install the package:

```bash
pip install -e .
```

Or for development, install the environment and the pre-commit hooks:

```bash
make install
```

### Usage

```python
from fusi_bids_pydantic import FUSISidecar

example_merged_sidecar_data = {
    "TaskName": "example_task",
    "RepetitionTime": 1.5,
    "Manufacturer": "example_manufacturer",
}
sidecar = FUSISidecar.model_validate(example_merged_sidecar_data)
# Warns about missing RECOMMENDED fields
```
