Skip to content

Commit 0bef8c2

Browse files
committed
FIX/MAINT: Drop Python 3.6 + Revise Python environment (versions pinned) in Dockerfile
Dropping Python 3.6 follows suit with Numpy 1.20 and, in principle, *dMRIPrep* will continue to follow their python support schedule. Resolves: #145.
1 parent e832044 commit 0bef8c2

File tree

3 files changed

+18
-23
lines changed

3 files changed

+18
-23
lines changed

.github/workflows/pythonpackage.yml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ jobs:
1515
matrix:
1616
python-version: [3.7, 3.8]
1717
pip: ["pip~=18.1", "pip>=20.3"]
18-
setuptools: ["setuptools==40.8.0", "setuptools"]
1918

2019
steps:
2120
- name: Set up Python ${{ matrix.python-version }}
@@ -48,7 +47,7 @@ jobs:
4847
run: |
4948
python -m venv /tmp/install_sdist
5049
source /tmp/install_sdist/bin/activate
51-
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
50+
python -m pip install "${{ matrix.pip }}" setuptools
5251
python -m pip install dist/dmriprep*.tar.gz
5352
INSTALLED_VERSION=$(python -c 'import dmriprep; print(dmriprep.__version__, end="")')
5453
echo "VERSION: \"${THISVERSION}\""
@@ -58,7 +57,7 @@ jobs:
5857
run: |
5958
python -m venv /tmp/install_wheel
6059
source /tmp/install_wheel/bin/activate
61-
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
60+
python -m pip install "${{ matrix.pip }}" setuptools
6261
python -m pip install dist/dmriprep*.whl
6362
INSTALLED_VERSION=$(python -c 'import dmriprep; print(dmriprep.__version__, end="")')
6463
echo "INSTALLED: \"${INSTALLED_VERSION}\""
@@ -67,7 +66,7 @@ jobs:
6766
run: |
6867
python -m venv /tmp/setup_install
6968
source /tmp/setup_install/bin/activate
70-
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
69+
python -m pip install "${{ matrix.pip }}" setuptools
7170
python -m pip install numpy scipy "Cython >= 0.28.5" # sklearn needs this
7271
python -m pip install scikit-learn # otherwise it attempts to build it
7372
python setup.py install
@@ -78,13 +77,9 @@ jobs:
7877
run: |
7978
python -m venv /tmp/setup_develop
8079
source /tmp/setup_develop/bin/activate
81-
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
80+
python -m pip install "${{ matrix.pip }}" setuptools
8281
# sklearn needs these dependencies
83-
if [ "${{ matrix.python-version }}" == "3.6" ]; then
84-
python -m pip install "numpy < 1.20" scipy "Cython >= 0.28.5" # numpy 1.20 drops Py3.6
85-
else
86-
python -m pip install numpy scipy "Cython >= 0.28.5"
87-
fi
82+
python -m pip install numpy scipy "Cython >= 0.28.5"
8883
python -m pip install scikit-learn # otherwise it attempts to build it
8984
python setup.py develop
9085
INSTALLED_VERSION=$(python -c 'import dmriprep; print(dmriprep.__version__, end="")')

Dockerfile

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -129,18 +129,18 @@ ENV PATH="/usr/local/miniconda/bin:$PATH" \
129129
PYTHONNOUSERSITE=1
130130

131131
# Installing precomputed python packages
132-
RUN conda install -y python=3.7.1 \
133-
pip=19.1 \
134-
mkl=2018.0.3 \
135-
mkl-service \
136-
numpy=1.15.4 \
137-
scipy=1.1.0 \
138-
scikit-learn=0.19.1 \
139-
matplotlib=2.2.2 \
140-
pandas=0.23.4 \
132+
RUN conda install -y python=3.7 \
133+
graphviz=2.40 \
141134
libxml2=2.9.8 \
142135
libxslt=1.1.32 \
143-
graphviz=2.40.1 \
136+
matplotlib=2.2 \
137+
mkl \
138+
mkl-service \
139+
numpy=1.19 \
140+
pip=20.3 \
141+
setuptools \
142+
scikit-learn=0.19 \
143+
scipy=1.5 \
144144
traits=4.6.0 \
145145
zlib; sync && \
146146
chmod -R a+rX /usr/local/miniconda; sync && \

setup.cfg

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ classifiers =
66
Intended Audience :: Science/Research
77
Topic :: Scientific/Engineering :: Image Recognition
88
License :: OSI Approved :: BSD License
9-
Programming Language :: Python :: 3.6
109
Programming Language :: Python :: 3.7
1110
Programming Language :: Python :: 3.8
11+
Programming Language :: Python :: 3.9
1212
description = dMRIPrep is a robust and easy-to-use pipeline for preprocessing of diverse dMRI data.
1313
license = Apache License, Version 2.0
1414
long_description = file:README.rst
@@ -19,12 +19,12 @@ project_urls =
1919
Documentation = https://www.nipreps.org/dmriprep
2020

2121
[options]
22-
python_requires = >=3.6
22+
python_requires = >=3.7
2323
install_requires =
2424
dipy >=1.0.0
2525
indexed_gzip >=0.8.8
2626
nibabel ~= 3.0
27-
nipype ~= 1.5.1
27+
nipype >= 1.5.1, < 2.0
2828
niworkflows >= 1.4.0rc0, <1.5
2929
numpy
3030
pybids >= 0.11.1

0 commit comments

Comments
 (0)