What’s new

0.4.0

Released on 2025-05-22 - GitHub - PyPI

What's Changed

🔴 BREAKING CHANGES 🔴

  • The doughnut.tsv file has been renamed to curation_status.tsv, and the bagel.tsv file has been renamed to processing_status.tsv
  • The global_config.json file schema and the internal organization of the <DATASET_ROOT>/pipelines directory has been changed
    • These changes were necessary for the move to the Zenodo catalog
    • The main change is that the pipeline configuration is no longer in the global_config.json file but rather in <DATASET_ROOT>/pipelines/<PIPELINE_NAME>-<PIPELINE_VERSION>/config.json
    • We provide a script to help migrate from 0.3.X to 0.4.0. Issues with the script can be reported on GitHub or Discord

Major new features

This release introduces two major new features:

  • nipoppy pipeline subcommands, which allow for installing/uploading pipeline configuration directories from a "pipeline catalog" on Zenodo
    • Related: nipoppy init will no longer include any default pipeline configurations in the new Nipoppy dataset
  • Support for launching jobs on high-performance computing systems using Slurm or SGE, using the --hpc option in nipoppy bidsify, nipoppy process, and nipoppy extract

Deprecation notices

Some of the existing subcommands have been renamed:

  • nipoppy doughnut --> nipoppy track-curation
  • nipoppy run --> nipoppy process
  • nipoppy track --> nipoppy track-processing
    The old command names still work for now (with a warning) but will cause an error in a future version.

Changelog

Features

Bug Fixes

  • [FIX] Restore substitutions behaviour for backward-compatibility by @michellewang in #605
  • [FIX] Make runners always bind dataset root directory in containers by @michellewang in #582
  • [BUG] Read-only BIDS datasets fail to init w/ README creation by @bcmcpher in #613
  • [FIX] Do not apply substitutions immediately when loading invocations by @michellewang in #627
  • [FIX] Do not create directories when running nipoppy track by @michellewang in #624
  • [FIX] Do not attempt to update the curation status file if ANALYSIS_LEVEL is not participant_session by @michellewang in #618
  • [FIX] Fix Zenodo upload bug where metadata check fails by @michellewang in #640
  • [FIX] Make pipeline config validation stricter by @michellewang in #648

Documentation

Maintenance

Misc

  • Enhance security and safeguard for Zenodo uploads. by @mathdugre in #626
  • Safeguard to prevent upload error + Fix test for Zenodo upload by @mathdugre in #629
  • Allow nipoppy commands to run anywhere within a nipoppy project by @mathdugre in #617

New Contributors

Full Changelog: 0.3.4...0.4.0

0.3.4

Released on 2025-03-27 - GitHub - PyPI

What's Changed

This is release introduces some enhancements and minor bug fixes. CLI updates include removing the large log dump with the Boutiques invocation/descriptor file contents, which should make the logs easier to navigate. Pipeline config updates include fixes for dcm2bids and fs_stats.

The next release should be 0.4.0, which will introduce a restructuring of the global config file as well a decoupling of sample pipeline config files from the Nipoppy Python package code base. Sample pipeline config files will be stored on Zenodo and the Nipoppy CLI will be able to download/upload them.

Features

Bug Fixes

Documentation

Maintenance

New Contributors

Full Changelog: 0.3.3...0.3.4

0.3.3

Released on 2025-01-31 - GitHub - PyPI

What's Changed

This release includes a refactor of the CLI to use click instead of argparse, which changes the look of the CLI.

The nipoppy run command also has a new --tar argument which enables tarring of a participant-session directory upon successful completion of a processing pipeline (path configured in tracker config files). Tracking will take into account the tarball contents too.

We have also added a --write-list flag to nipoppy bidsify, nipoppy run, and nipoppy extract, which will write to a CSV file the list of participant and session IDs to run (may be helpful for parallel processing and HPC job submission).

Features

Bug Fixes

  • [BUG] Make PARTICIPANT_SESSION_DIR field relative to pipeline output directory by @michellewang in #461
  • [BUG] Make PipelineRunner exit/throw exception if container is specified but not found by @michellewang in #443
  • [BUG] Fix wrong container config being used in runners by @michellewang in #442
  • [BUG] Update Heudiconv descriptor and invocation files by @michellewang in #471

Documentation

Maintenance

Misc

  • [ENH] Add --mode=move option to nipoppy init with --bids-source by @mtorabi59 in #475

Full Changelog: 0.3.2...0.3.3

0.3.2

Released on 2024-12-12 - GitHub - PyPI

What's Changed

This release introduces two new commands:

  • nipoppy status: get summary information about the dataset, including how many participants/sessions are in the manifest, have been BIDSified, or have been processed
  • nipoppy extract: run extraction pipelines that depend on certain processing pipelines (configured in the global config file)

Features

Documentation

Maintenance

Full Changelog: 0.3.1...0.3.2

0.3.1

Released on 2024-11-12 - GitHub - PyPI

What's Changed

Features

Maintenance

Full Changelog: 0.3.0...0.3.1

0.3.0

Released on 2024-10-31 - GitHub - PyPI

What's Changed

Breaking changes

Documentation

Misc

Full Changelog: 0.2.3...0.3.0

0.2.3

Released on 2024-10-10 - GitHub - PyPI

What's Changed

Features

  • [ENH] make fmriprep --fs-no-reconall value-key and id more intuitive. by @mathdugre in #406

Bug Fixes

  • [BUG] keep working directory on failed run / flag to keep pipeline working directory on success by @bcmcpher in #345
  • [BUG] Do not pool BIDS and PROC pipelines together when searching pipeline configs by @michellewang in #391
  • [FIX] Do not enable markup language processing when logging messages related to subprocesses by @michellewang in #410

Maintenance

Full Changelog: 0.2.2...0.2.3

0.2.2

Released on 2024-09-27 - GitHub - PyPI

What's Changed

Features

  • [ENH] Init a Nipoppy dataset with a BIDS dataset by @Remi-Gau in #358

Bug Fixes

Documentation

Maintenance

Misc

New Contributors

Full Changelog: 0.2.1...0.2.2

0.2.1

Released on 2024-09-12 - GitHub - PyPI

What's Changed

Breaking Changes

Features

  • [ENH] add automatic release notes for GitHub. by @mathdugre in #322
  • [ENH] Add "ANALYSIS_LEVEL" field to pipeline step config to allow group-level processing by @michellewang in #341

Bug Fixes

Documentation

Maintenance

  • [MAINT] automatically label issue and PRs based on prefixes by @mathdugre in #338

Misc

Full Changelog: 0.2.0...0.2.1

0.2.0

Released on 2024-08-15 - GitHub - PyPI

What's Changed

New Contributors

Full Changelog: 0.1.0...0.2.0

0.1.0

Released on 2023-06-27 - GitHub - PyPI

What's Changed

New Contributors

Full Changelog: https://github.com/neurodatascience/mr_proc/commits/0.1.0