diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/niworkflows/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/niworkflows/default.nix | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/niworkflows/default.nix b/nixpkgs/pkgs/development/python-modules/niworkflows/default.nix new file mode 100644 index 000000000000..494a834c937a --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/niworkflows/default.nix @@ -0,0 +1,101 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, hatch-vcs +, hatchling +, pytestCheckHook +, attrs +, importlib-resources +, jinja2 +, looseversion +, matplotlib +, nibabel +, nilearn +, nipype +, nitransforms +, numpy +, packaging +, pandas +, pybids +, pyyaml +, scikit-image +, scipy +, seaborn +, svgutils +, templateflow +, traits +, transforms3d +}: + +buildPythonPackage rec { + pname = "niworkflows"; + version = "1.10.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "nipreps"; + repo = "niworkflows"; + rev = "refs/tags/${version}"; + hash = "sha256-wQPk9imDvomg+NTWk+VeW1TE2QlvMyi1YYVVaznhktU="; + }; + + postPatch = '' + substituteInPlace pyproject.toml --replace '"traits < 6.4"' '"traits"' + ''; + + nativeBuildInputs = [ + hatch-vcs + hatchling + ]; + + propagatedBuildInputs = [ + attrs + importlib-resources + jinja2 + looseversion + matplotlib + nibabel + nilearn + nipype + nitransforms + numpy + packaging + pandas + pybids + pyyaml + scikit-image + scipy + seaborn + svgutils + templateflow + traits + transforms3d + ]; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeCheckInputs = [ pytestCheckHook ]; + preCheck = ''export HOME=$(mktemp -d)''; + pytestFlagsArray = [ "niworkflows" ]; + # try to download data: + disabledTests = [ + "test_GenerateCifti" + "ROIsPlot" + "ROIsPlot2" + "test_SimpleShowMaskRPT" + "test_cifti_surfaces_plot" + "niworkflows.utils.misc.get_template_specs" + "niworkflows.interfaces.cifti._prepare_cifti" + ]; + disabledTestPaths = [ "niworkflows/tests/test_registration.py" ]; + + pythonImportsCheck = [ "niworkflows" ]; + + meta = with lib; { + description = "Common workflows for MRI (anatomical, functional, diffusion, etc.)"; + homepage = "https://github.com/nipreps/niworkflows"; + changelog = "https://github.com/nipreps/niworkflows/blob/${src.rev}/CHANGES.rst"; + license = licenses.asl20; + maintainers = with maintainers; [ bcdarwin ]; + }; +} |