Metadata-Version: 2.5
Name: flywheel-migration
Version: 13.10.10
Summary: Flywheel Migration Toolkit
Project-URL: Homepage, https://gitlab.com/flywheel-io/public/migration-toolkit
Project-URL: Repository, https://gitlab.com/flywheel-io/public/migration-toolkit
Project-URL: Documentation, https://gitlab.com/flywheel-io/public/migration-toolkit
Author-email: Flywheel <support@flywheel.io>
License-Expression: MIT
License-File: LICENSE
Keywords: Flywheel,data,flywheel,migration,toolkit
Requires-Python: >=3.10
Requires-Dist: dotty-dict~=1.3
Requires-Dist: fs~=2.4
Requires-Dist: fw-file~=4.2.1
Requires-Dist: lxml>=5.4
Requires-Dist: nibabel~=5.3
Requires-Dist: pandas~=2.2
Requires-Dist: pathvalidate<4,>=2.5.2
Requires-Dist: piexif~=1.1
Requires-Dist: pillow<13,>=10.4.0
Requires-Dist: pycryptodome~=3.23
Requires-Dist: pypng<1,>=0
Requires-Dist: python-dateutil~=2.9
Requires-Dist: pytz
Requires-Dist: pyyaml<7,>=6.0.2
Requires-Dist: setuptools<82,>=80.9.0
Requires-Dist: tzlocal~=5.3
Provides-Extra: all
Requires-Dist: deid<0.5,>=0.4; extra == 'all'
Provides-Extra: pixel
Requires-Dist: deid<0.5,>=0.4; extra == 'pixel'
Description-Content-Type: text/markdown

# Flywheel Migration Toolkit

**flywheel-migration** is a library that provides configurable parsing and
de-identification of foreign data.

## Development

Install the project using [uv](https://docs.astral.sh/uv/) and enable
[pre-commit](https://pre-commit.com/).

```bash
uv sync --all-extras --python 3.10
pre-commit install
```

## Testing

Tests are handled in pre-commit containers using
[qa-ci](https://gitlab.com/flywheel-io/tools/etc/qa-ci).

```bash
uv run pytest
```

To run individual tests natively such as `test_jitter_for_dicom` in
`test_dicom_file_profile.py`

```bash
uv run pytest -vv tests/test_dicom_file_profile.py -sk test_jitter_for_dicom
```

To run all pre-commit hooks, run:

```bash
pre-commit run -a
```

This will execute all hooks defined in [.pre-commit-config.yaml](.pre-commit-config.yaml).

## Release

Releases are handled with qa-ci automation. Head to
[Build >> Pipelines](https://gitlab.com/flywheel-io/public/migration-toolkit/-/pipelines)
page on repository's sidebar, then click on
[Run Pipeline](https://gitlab.com/flywheel-io/public/migration-toolkit/-/pipelines/new).
Select `Variable` in **Variables** dropdown, and entere `REASEASE` as **variable key**.
Set **variable value** to desired version and click on `Run Pipeline`. This will
create a new release MR that can than be reviewed and merged to deploy a new release.

## Documentation

Documentation is automatically handled by `pre-commit` hook `generate_docs`. The
HTML page is built into `public` and deployed to GitLab pages. Documentation is
available at Documentation at
<https://flywheel-io.gitlab.io/public/migration-toolkit/>.
