Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MNT: Drop Python 3.6, test setuptools builds, pip installations #593

Merged
merged 5 commits into from
Dec 16, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 12 additions & 21 deletions .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,17 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8]
pip: ["pip~=18.1"]
# pip: ["pip==10.0.1", "pip~=18.1"]
setuptools: ["setuptools==38.4.1", "setuptools"]
python-version: [3.7, 3.8, 3.9]

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- uses: actions/checkout@v2
with:
ssh-key: "${{ secrets.NIPREPS_DEPLOY }}"
- name: Fetch all tags (for versioneer to work)
if: "!startsWith(github.ref, 'refs/tags/')"
run: |
/usr/bin/git -c protocol.version=2 fetch --tags --prune --unshallow origin
fetch-depth: 0
- name: Build in confined, updated environment and interpolate version
run: |
python -m venv /tmp/buildenv
Expand All @@ -54,7 +48,7 @@ jobs:
run: |
python -m venv /tmp/install_sdist
source /tmp/install_sdist/bin/activate
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
python -m pip install --upgrade pip wheel
python -m pip install dist/niworkflows*.tar.gz
INSTALLED_VERSION=$(python -c 'import niworkflows; print(niworkflows.__version__, end="")')
echo "VERSION: \"${THISVERSION}\""
Expand All @@ -65,32 +59,29 @@ jobs:
run: |
python -m venv /tmp/install_wheel
source /tmp/install_wheel/bin/activate
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
python -m pip install --upgrade pip wheel
python -m pip install dist/niworkflows*.whl
INSTALLED_VERSION=$(python -c 'import niworkflows; print(niworkflows.__version__, end="")')
echo "INSTALLED: \"${INSTALLED_VERSION}\""
test "${INSTALLED_VERSION}" = "${THISVERSION}"

- name: Install in confined environment [setup.py - install]
- name: Install in confined environment [pip install .]
run: |
python -m venv /tmp/setup_install
source /tmp/setup_install/bin/activate
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
python -m pip install numpy scipy "Cython >= 0.28.5" # sklearn needs this
python -m pip install scikit-learn # otherwise it attempts to build it
python setup.py install
python -m pip install --upgrade pip wheel
python -m pip install .
INSTALLED_VERSION=$(python -c 'import niworkflows; print(niworkflows.__version__, end="")')
echo "INSTALLED: \"${INSTALLED_VERSION}\""
test "${INSTALLED_VERSION}" = "${THISVERSION}"

- name: Install in confined environment [setup.py - develop]
- name: Install in confined environment [pip install -e .]
run: |
python -m venv /tmp/setup_develop
source /tmp/setup_develop/bin/activate
python -m pip install "${{ matrix.pip }}" "${{ matrix.setuptools }}"
python -m pip install numpy scipy "Cython >= 0.28.5" # sklearn needs this
python -m pip install scikit-learn # otherwise it attempts to build it
python setup.py develop
python -m pip install pip
python -m pip install --upgrade pip wheel
python -m pip install -e .
INSTALLED_VERSION=$(python -c 'import niworkflows; print(niworkflows.__version__, end="")')
echo "INSTALLED: \"${INSTALLED_VERSION}\""
test "${INSTALLED_VERSION}" = "${THISVERSION}"
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,9 @@ ENV PATH=/usr/local/miniconda/bin:$PATH \
RUN conda install -y python=3.7.1 \
mkl=2018.0.3 \
mkl-service \
numpy=1.15.4 \
scipy=1.1.0 \
scikit-learn=0.19.1 \
numpy=1.19 \
scipy=1.5 \
scikit-learn=0.19 \
matplotlib=2.2.2 \
pandas=0.23.4 \
libxml2=2.9.8 \
Expand Down
5 changes: 2 additions & 3 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ classifiers =
Intended Audience :: Science/Research
Topic :: Scientific/Engineering :: Image Recognition
License :: OSI Approved :: Apache Software License
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
description = NeuroImaging Workflows provides processing tools for magnetic resonance images of the brain.
license = Apache License, Version 2.0
license_file = LICENSE
Expand All @@ -23,7 +23,7 @@ project_urls =
url = https://www.nipreps.org

[options]
python_requires = >= 3.6
python_requires = >= 3.7
install_requires =
attrs
jinja2
Expand All @@ -32,7 +32,6 @@ install_requires =
nilearn >= 0.2.6, != 0.5.0, != 0.5.1
nipype >= 1.5.1
nitransforms >= 20.0.0rc3,<20.2
numpy <1.20; python_version < "3.7"
numpy
packaging
pandas
Expand Down