diff --git a/.circleci/config.yml b/.circleci/config.yml index 6f11c346045..3ae98253d3d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,7 @@ jobs: which python which pip pip install --upgrade pip setuptools wheel - pip install --upgrade --only-binary "numpy,scipy,dipy,statsmodels" -ve . -r requirements.txt -r requirements_testing.txt -r requirements_testing_extra.txt PyQt6 + pip install --upgrade --only-binary "numpy,scipy,dipy,statsmodels" -ve .[test] PyQt6 # 3D too slow on Apple's software renderer, and numba causes us problems pip uninstall -y vtk pyvista pyvistaqt numba mkdir -p test-results diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1b8ddc505a4..b3983d53823 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -52,7 +52,7 @@ stages: - bash: | set -eo pipefail python -m pip install --progress-bar off --upgrade pip setuptools wheel - python -m pip install --progress-bar off -r requirements_base.txt -r requirements_hdf5.txt -r requirements_testing.txt + python -m pip install --progress-bar off -ve .[hdf5,test_base] python -m pip uninstall -yq pytest-qt # don't want to set up display, etc. for this pre-commit install --install-hooks displayName: Install dependencies @@ -169,8 +169,7 @@ stages: python -m pip install --progress-bar off --upgrade pip setuptools wheel python -m pip install --progress-bar off --upgrade --pre --only-binary=\"numpy,scipy,matplotlib,vtk\" numpy scipy matplotlib vtk python -c "import vtk" - python -m pip install --progress-bar off --upgrade -r requirements.txt -r requirements_testing.txt -r requirements_testing_extra.txt - python -m pip install -e . + python -m pip install --progress-bar off --upgrade -ve .[test] displayName: 'Install dependencies with pip' - bash: | set -e diff --git a/doc/development/contributing.rst b/doc/development/contributing.rst index 2dbf90d306b..c378a8abe3b 100644 --- a/doc/development/contributing.rst +++ b/doc/development/contributing.rst @@ -304,11 +304,11 @@ be reflected the next time you open a Python interpreter and ``import mne`` Finally, we'll add a few dependencies that are not needed for running MNE-Python, but are needed for locally running our test suite:: - $ pip install -r requirements_testing.txt + $ pip install -e .[test] And for building our documentation:: - $ pip install -r requirements_doc.txt + $ pip install -e .[doc] $ conda install graphviz .. note:: diff --git a/doc/links.inc b/doc/links.inc index 388144d3ddf..b84e046a6be 100644 --- a/doc/links.inc +++ b/doc/links.inc @@ -111,7 +111,6 @@ .. installation links -.. _requirements file: https://raw.githubusercontent.com/mne-tools/mne-python/main/requirements.txt .. _NVIDIA CUDA GPU processing: https://developer.nvidia.com/cuda-zone .. _NVIDIA proprietary drivers: https://www.geforce.com/drivers diff --git a/tools/azure_dependencies.sh b/tools/azure_dependencies.sh index d3ce1a98119..f9af160a406 100755 --- a/tools/azure_dependencies.sh +++ b/tools/azure_dependencies.sh @@ -3,7 +3,7 @@ STD_ARGS="--progress-bar off --upgrade" if [ "${TEST_MODE}" == "pip" ]; then python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade --only-binary="numba,llvmlite,numpy,scipy,vtk" -r requirements.txt + python -m pip install --upgrade --only-binary="numba,llvmlite,numpy,scipy,vtk" -ve .[full] elif [ "${TEST_MODE}" == "pip-pre" ]; then STD_ARGS="$STD_ARGS --pre" python -m pip install $STD_ARGS pip setuptools wheel packaging setuptools_scm diff --git a/tools/circleci_dependencies.sh b/tools/circleci_dependencies.sh index 677bd5ced22..36bae8d0bc1 100755 --- a/tools/circleci_dependencies.sh +++ b/tools/circleci_dependencies.sh @@ -1,4 +1,4 @@ #!/bin/bash -ef python -m pip install --upgrade "pip!=20.3.0" setuptools wheel -python -m pip install --upgrade --progress-bar off --only-binary "numpy,scipy,matplotlib,pandas,statsmodels" -r requirements.txt -r requirements_testing.txt -r requirements_doc.txt PyQt6 git+https://github.com/mne-tools/mne-qt-browser -e . +python -m pip install --upgrade --progress-bar off --only-binary "numpy,scipy,matplotlib,pandas,statsmodels" PyQt6 git+https://github.com/mne-tools/mne-qt-browser -ve .[full,test_base,doc] diff --git a/tools/generate_codemeta.py b/tools/generate_codemeta.py index e547261dc4d..694b87ae381 100644 --- a/tools/generate_codemeta.py +++ b/tools/generate_codemeta.py @@ -108,18 +108,21 @@ def parse_name(name): # GET OUR DEPENDENCY VERSIONS -with open(out_dir / "setup.py", "r") as fid: - for line in fid: - if line.strip().startswith("python_requires="): - version = line.strip().split("=", maxsplit=1)[1].strip("'\",") - dependencies = [f"python{version}"] - break -with open(out_dir / "requirements.txt", "r") as fid: - for line in fid: - req = line.strip() - for hard_dep in hard_dependencies: - if req.startswith(hard_dep): - dependencies.append(req) +# +# TODO this needs to be fixed +# +# with open(out_dir / "setup.py", "r") as fid: +# for line in fid: +# if line.strip().startswith("python_requires="): +# version = line.strip().split("=", maxsplit=1)[1].strip("'\",") +# dependencies = [f"python{version}"] +# break +# with open(out_dir / "requirements.txt", "r") as fid: +# for line in fid: +# req = line.strip() +# for hard_dep in hard_dependencies: +# if req.startswith(hard_dep): +# dependencies.append(req) # these must be done outside the boilerplate (no \n allowed in f-strings): diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index c5f4dd0ea7e..6cc96ac6af3 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -58,14 +58,14 @@ echo "" # for compat_minimal and compat_old, we don't want to --upgrade if [ ! -z "$CONDA_DEPENDENCIES" ]; then echo "Installing dependencies for conda" - python -m pip install -r requirements_base.txt -r requirements_testing.txt + python -m pip install -ve .[test_base] else echo "Installing dependencies using pip" - python -m pip install $STD_ARGS -r requirements_base.txt -r requirements_testing.txt -r requirements_hdf5.txt + python -m pip install $STD_ARGS -ve .[hdf5,test_base] fi echo "" if [ "${DEPS}" != "minimal" ]; then echo "Installing non-minimal dependencies" - python -m pip install $STD_ARGS -r requirements_testing_extra.txt + python -m pip install $STD_ARGS -ve .[test] fi