1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
[tox]
requires =
tox>=4
envlist =
py3{9,10,11,12,13}-none # Test nipype functionality on all versions
py3{9,12,13}-full # Test with extra dependencies on oldest and two newest
py39-min # Test with minimal dependencies
py3{11,12,13}-pre # Test with pre-release on SPEC0-supported Python
skip_missing_interpreters = true
# Configuration that allows us to split tests across GitHub runners effectively
[gh-actions]
python =
3.9: py39
3.10: py310
3.11: py311
3.12: py312
3.13: py313
[gh-actions:env]
DEPENDS =
min: min
none: none
full: full
pre: pre
[testenv]
description = Pytest with coverage
labels = test
pip_pre =
pre: true
pass_env =
# Parsed from `git grep getenv` and `git grep os.environ`
# May not all be needed
NIPYPE_NO_ET
NO_ET
ANTSPATH
CI_SKIP_TEST
FREESURFER_HOME
USER
FSLDIR
FSLOUTPUTTYPE
FSL_COURSE_DATA
NIPYPE_NO_MATLAB
OMP_NUM_THREADS
NIPYPE_NO_R
SPMMCRCMD
FORCE_SPMMCR
LOGNAME
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
MATLABCMD
MRTRIX3_HOME
RCMD
ETS_TOOLKIT
NIPYPE_CONFIG_DIR
DISPLAY
PATHEXT
# getpass.getuser() sources for Windows:
LOGNAME
USER
LNAME
USERNAME
# Pass user color preferences through
PY_COLORS
FORCE_COLOR
NO_COLOR
CLICOLOR
CLICOLOR_FORCE
PYTHON_GIL
extras =
tests
full: doc
full: profiler
full: duecredit
full: ssh
full: nipy
setenv =
FSLOUTPUTTYPE=NIFTI_GZ
pre: PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
pre: UV_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
uv_resolution =
min: lowest-direct
commands =
python -c "import nipype; print(nipype.__version__)"
pytest --durations=20 --durations-min=1.0 --cov-report term-missing {posargs:-n auto}
[testenv:specs]
description = Rebuild spec tests
deps =
black
# Rebuild dipy specs
dipy
# Faster to install old numpy than unreleased Dipy
# This can be dropped once a Dipy release supports numpy 2
numpy<2
commands =
python tools/checkspecs.py
[testenv:style]
description = Check our style guide
labels = check
deps =
black
skip_install = true
commands =
black --check --diff nipype setup.py
|