diff --git a/CHANGES.rst b/CHANGES.rst index da8985927e..5d1a789309 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,14 @@ +2.14.0 (September 22, 2025) +=========================== +Feature release in the 2.13.x series. + +This release requires a recent nitransforms release that in turn requires NumPy 2. +Since this is a major dependency increment, a new feature release is justified. + +* fix: Adapt to transposed ndindex in nitransforms (#501) +* fix: Adopt some more opinionated ruff rules, manual resolutions (#493) + + 2.13.2 (July 28, 2025) ====================== Patch release in the 2.13.x series. diff --git a/env.yml b/env.yml index c59a736884..4112d6089d 100644 --- a/env.yml +++ b/env.yml @@ -9,13 +9,14 @@ dependencies: - mkl=2024.2.2 - mkl-service=2.4.2 # Base scientific python stack; required by FSL, so pinned here - - numpy=1.26 - - scipy=1.15 - - matplotlib=3.9 - - pandas=2.2 - - h5py=3.13 + - numpy=2.3 + - scipy=1.16 + - matplotlib=3.10 + - pandas=2.3 + - h5py=3.14 # Dependencies compiled against numpy, best to stick with conda - scikit-image=0.25 + - scikit-learn=1.7 # Utilities - graphviz=11.0 # Workflow dependencies: ANTs diff --git a/pyproject.toml b/pyproject.toml index 5f655cf05a..37ab4b2241 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ classifiers = [ license = "Apache-2.0" requires-python = ">=3.10" dependencies = [ - "acres >= 0.2.0", + "acres >= 0.5.0", "attrs >= 20.1.0", "nibabel >= 5.1.1", "nipype >= 1.9.0", diff --git a/requirements.txt b/requirements.txt index cc908895d2..d0dbb364b6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,35 +1,34 @@ # This file was autogenerated by uv via the following command: -# uv pip compile --strip-extras pyproject.toml -o requirements.txt -p 3.12 -c- -acres==0.3.0 +# uv pip compile --strip-extras pyproject.toml -o requirements.txt -p 3.12 +acres==0.5.0 # via # sdcflows (pyproject.toml) + # bidsschematools # nipype # nireports # niworkflows attrs==25.3.0 # via # sdcflows (pyproject.toml) - # jsonschema # niworkflows - # referencing bids-validator==1.14.7.post0 # via pybids -bidsschematools==1.0.4 +bidsschematools==1.1.0 # via bids-validator -certifi==2025.1.31 +certifi==2025.8.3 # via requests -charset-normalizer==3.4.1 +charset-normalizer==3.4.3 # via requests ci-info==0.3.0 # via # etelemetry # migas -click==8.1.8 +click==8.3.0 # via # bidsschematools # nipype # pybids -contourpy==1.3.1 +contourpy==1.3.3 # via matplotlib cycler==0.12.1 # via matplotlib @@ -37,19 +36,19 @@ docopt==0.6.2 # via num2words etelemetry==0.3.1 # via nipype -filelock==3.18.0 +filelock==3.19.1 # via nipype -fonttools==4.56.0 +fonttools==4.60.0 # via matplotlib -formulaic==1.1.1 +formulaic==1.2.1 # via pybids frozendict==2.4.6 # via pybids -fsspec==2025.3.0 +fsspec==2025.9.0 # via universal-pathlib -greenlet==3.1.1 +greenlet==3.2.4 # via sqlalchemy -h5py==3.13.0 +h5py==3.14.0 # via nitransforms idna==3.10 # via requests @@ -57,19 +56,13 @@ imageio==2.37.0 # via scikit-image interface-meta==1.3.0 # via formulaic -isodate==0.6.1 - # via rdflib jinja2==3.1.6 # via niworkflows -joblib==1.4.2 +joblib==1.5.2 # via # nilearn # scikit-learn -jsonschema==4.23.0 - # via bidsschematools -jsonschema-specifications==2024.10.1 - # via jsonschema -kiwisolver==1.4.8 +kiwisolver==1.4.9 # via matplotlib lazy-loader==0.4 # via scikit-image @@ -77,22 +70,23 @@ looseversion==1.3.0 # via # nipype # niworkflows -lxml==5.3.1 +lxml==6.0.2 # via # nilearn # nireports - # prov # svgutils markupsafe==3.0.2 # via jinja2 -matplotlib==3.9.4 +matplotlib==3.10.6 # via # nireports # niworkflows # seaborn migas==0.4.0 # via sdcflows (pyproject.toml) -networkx==3.4.2 +narwhals==2.5.0 + # via formulaic +networkx==3.5 # via # nipype # prov @@ -106,7 +100,7 @@ nibabel==5.3.2 # nitransforms # niworkflows # pybids -nilearn==0.11.1 +nilearn==0.12.1 # via # nireports # niworkflows @@ -115,17 +109,17 @@ nipype==1.10.0 # sdcflows (pyproject.toml) # nireports # niworkflows -nireports==25.0.1 +nireports==25.3.0 # via sdcflows (pyproject.toml) -nitransforms==24.1.1 +nitransforms==25.0.1 # via # sdcflows (pyproject.toml) # niworkflows -niworkflows==1.13.0 +niworkflows==1.14.1 # via sdcflows (pyproject.toml) num2words==0.5.14 # via pybids -numpy==1.26.4 +numpy==2.3.3 # via # sdcflows (pyproject.toml) # contourpy @@ -147,7 +141,7 @@ numpy==1.26.4 # seaborn # tifffile # transforms3d -packaging==24.2 +packaging==25.0 # via # etelemetry # lazy-loader @@ -157,7 +151,7 @@ packaging==24.2 # nipype # niworkflows # scikit-image -pandas==2.2.3 +pandas==2.3.2 # via # formulaic # nilearn @@ -165,14 +159,14 @@ pandas==2.2.3 # niworkflows # pybids # seaborn -pillow==11.1.0 +pillow==11.3.0 # via # imageio # matplotlib # scikit-image -prov==2.0.1 +prov==2.1.1 # via nipype -puremagic==1.28 +puremagic==1.30 # via nipype pybids==0.19.0 # via @@ -180,9 +174,11 @@ pybids==0.19.0 # nireports # niworkflows # templateflow -pydot==3.0.4 - # via nipype -pyparsing==3.2.1 +pydot==4.0.1 + # via + # nipype + # prov +pyparsing==3.2.5 # via # matplotlib # pydot @@ -193,37 +189,27 @@ python-dateutil==2.9.0.post0 # nipype # pandas # prov -pytz==2025.1 +pytz==2025.2 # via pandas pyyaml==6.0.2 # via # bidsschematools # nireports # niworkflows -rdflib==6.3.2 - # via - # nipype - # prov -referencing==0.36.2 - # via - # jsonschema - # jsonschema-specifications -requests==2.32.4 +rdflib==7.2.1 + # via nipype +requests==2.32.5 # via # etelemetry # nilearn # templateflow -rpds-py==0.23.1 - # via - # jsonschema - # referencing scikit-image==0.25.2 # via # sdcflows (pyproject.toml) # niworkflows -scikit-learn==1.6.1 +scikit-learn==1.7.2 # via nilearn -scipy==1.15.2 +scipy==1.16.2 # via # sdcflows (pyproject.toml) # formulaic @@ -241,21 +227,19 @@ seaborn==0.13.2 simplejson==3.20.1 # via nipype six==1.17.0 - # via - # isodate - # python-dateutil -sqlalchemy==2.0.39 + # via python-dateutil +sqlalchemy==2.0.43 # via pybids svgutils==0.3.4 # via niworkflows -templateflow==24.2.2 +templateflow==25.0.3 # via # sdcflows (pyproject.toml) # nireports # niworkflows threadpoolctl==3.6.0 # via scikit-learn -tifffile==2025.3.13 +tifffile==2025.9.20 # via scikit-image toml==0.10.2 # via sdcflows (pyproject.toml) @@ -265,17 +249,16 @@ traits==7.0.2 # via nipype transforms3d==0.4.2 # via niworkflows -typing-extensions==4.12.2 +typing-extensions==4.15.0 # via # formulaic # nibabel - # referencing # sqlalchemy -tzdata==2025.1 +tzdata==2025.2 # via pandas universal-pathlib==0.2.6 # via pybids urllib3==2.5.0 # via requests -wrapt==1.17.2 +wrapt==1.17.3 # via formulaic