Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* move everything to legacy folder * copy previous pyproject.toml * bump version and clean up pyproject.toml * add/update fields in pyproject.toml * add minimal README * remove empty .gitmodules * add license * add linting to pre-commit * add dev setup to README * add shields for license and black * add flake8 config * add very basic parsers * add isort to pre-commit * add very basic CLI * add very basic logger * add rich formatting for CLI * ignore VS Code config files * fix isort and black conflict * add verbosity argument * add dataset_root arg and do light cleanup * add init subparser and refactor args/parsers * add DatasetLayout class * add method to create empty dataset * add base class * remove DatasetLayout.create(), to be used in workflow/runner * add name parameter to logger * add _Workflow class * remove function docstrings from test files * make _Base an abstract class * refactor test function names * add run methods to _Workflow class * add DatasetInitWorkflow for nipoppy init * fix typo in log_prefix_run_stdout * catch all workflow/command exceptions in run.py * add --dry-run flag * add common/global option group * use rich exception tracebacks * improve default __str__ method and add tests for _Base * add logging to file (but not for init) * add CLI test for init * add/update docstrings * remove redundant license file * add Pydantic config model for reading global configs * add layout validation * copy sample config file during init * move workflows * fix bad import * try implementing a Manifest class with a schema (model) * refactor manifest using abstract _Tabular class * remove useless "after" validator * implement basic doughnut class * copy sample manifest file during init * update warning message in init and remove cli return statement * add config and manifest properties to _Workflow * validate manifest visits/sessions against list * add save_json util function (not used currently) * add save() method to Config * validate manifest sessions/visits (based on config) in _Workflow * add add_record method to _Tabular * add _Tabular.add_records() for list of records * add tabular utilities for checking equality, sorting, saving to file * add preliminary work on doughnut update workflow * add working DoughnutWorkflow * fix verbosity not parsed correctly * minor changes to package structure and other things * add _Workflow.doughnut property that automatically generates the doughnut if is missing * add preliminary work on PipelineWorkflow * make minor changes to logger, logger typing and workflow init arguments * add generic pipeline utilities * rename nipoppy.workflows.workflow -> nipoppy.workflow.base * add boutiques and implement PipelineRunner * update pipeline workflows and related things (MRIQC working) * add/fix tests * add `PipelineRunner` to CLI * update pipeline-related workflows (fMRIPrep working) * clean up _Workflow.run_command() * light refactoring of package structure * move PipelineRunner and PipelineTracker into their own files * catch exceptions in run_single (don't crash) * add basic tracking (only supports SUCCES and FAIL, only for pipeline_complete) * add DicomReorgWorkflow * add BIDS conversion workflow and descriptor for HeuDiConv * fix Singularity/Boutiques config templating not being processed in runner * add DESCRIPTOR_FILE field to config and make dcm2bids steps work * move refactored code into subdirectory and move legacy code back out * change new version to 1.0.0 * refactor DatasetLayout to use config and add custom layout option to workflows * add top-level __init__.py * fix workflows failing due to partial datasets * add test checking that built-in pipelines and sample config work in simulate mode * fix BIDS database tests after updating FIDS * allow manifest to have extra columns and rename test data files * minor improvements to tabular data handling, logging, and path utilities * make DicomReorgWorkflow more modular so that it can be easily subclassed if needed * add helpers for filesystem utilities for workflows so that they respect dry_run * fix symlink bug and pass participant and session to DICOM reorg renaming function * add workflow for running tests in `nipoppy_new` * add __init__.py to tests directory * fix conftest import statement so that tests hopefully run in CI * update parser so that it renders better in docs * apply precommit * apply sourcery refactor suggestions * accept suggestions for pytest options Co-authored-by: Remi Gau <[email protected]> * specify pytest version Co-authored-by: Remi Gau <[email protected]> * update tests based on Rémi comments * rename nipoppy_new -> nipoppy_cli * rename sample_data -> examples * rename convert/converted -> bidsify/bidsfied * remove "copy" log messages in InitWorkflow * rename nipoppy.config.base -> nipoppy.config.main * make VISITS (not SESSIONS) mandatory in Config * rename Singularity things to "container" and use "apptainer" instead of "singularity" * update author list * rename data/layout -> data/layouts * revert derivatives subdirectories to <pipeline_name>/<pipeline_version> * address comments related to docstrings * add Codecov for new test suite * add tests for tracker --------- Co-authored-by: Remi Gau <[email protected]>
- Loading branch information