From 89d4ecab6b0600808765c06617976d64c44b4241 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 13:38:49 -0600 Subject: [PATCH 01/31] Change defaults python version --- misc/conda/make_conda_env.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/conda/make_conda_env.sh b/misc/conda/make_conda_env.sh index 34b48c615..8b42085a1 100755 --- a/misc/conda/make_conda_env.sh +++ b/misc/conda/make_conda_env.sh @@ -28,7 +28,7 @@ Usage: $SCRIPT [-h] [-y] [-g] [-p python_version] [-e env_name] [-v] Verbose operation [-t] Display actions that would be taken but do nothing [-y] Do not ask for confirmation - [-p python_version] Specify Python version (e.g. 3.9) + [-p python_version] Specify Python version (e.g. 3.10) [-e env_name] Specify conda environment name EOF ) @@ -36,7 +36,7 @@ EOF AGREE=no VERBOSE=no TEST=no -PYVER="3.9" +PYVER="3.10" ENVNM=py$(echo $PYVER | sed -e 's/\.//g') # Project requirements files From 67f6445840dd476ed6529c1aa8a6cb0af1990c35 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 13:40:01 -0600 Subject: [PATCH 02/31] Update docs for conda environment creation script --- misc/conda/README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/conda/README.rst b/misc/conda/README.rst index 0388434ff..f1cd68e1d 100644 --- a/misc/conda/README.rst +++ b/misc/conda/README.rst @@ -19,11 +19,11 @@ To install miniconda in ``/opt/conda`` do ./install_conda.sh -y /opt/conda -To create a conda environment called ``py39`` with default Python version (3.9) and without GPU support +To create a conda environment called ``py310`` with default Python version (3.10) and without GPU support :: - ./make_conda_env.sh -y -e py39 + ./make_conda_env.sh -y -e py310 To include GPU support, follow the `jax installation instructions `__ after From b1884c3d2c3bb376976547dd567fe986cfd1e8c1 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 13:41:05 -0600 Subject: [PATCH 03/31] Recommend python 3.10 instead of 3.9 --- docs/source/contributing.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst index 89bae8854..b3d6f917a 100644 --- a/docs/source/contributing.rst +++ b/docs/source/contributing.rst @@ -17,7 +17,7 @@ Installing a Development Version 1. Fork both the ``scico`` and ``scico-data`` repositories, creating copies of these repositories in your own git account. -2. Make sure that you have Python 3.8 or later installed in order to +2. Make sure that you have Python 3.10 or later installed in order to create a conda virtual environment. 3. Clone your fork from the source repo. @@ -26,11 +26,11 @@ Installing a Development Version git clone --recurse-submodules git@github.com:/scico.git -4. Create a conda environment using Python 3.8 or later, e.g.: +4. Create a conda environment using Python 3.10 or later, e.g.: :: - conda create -n scico python=3.9 + conda create -n scico python=3.11 5. Activate the created conda virtual environment: From baf0329398875463970ac843ad68b3f813080e7c Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 13:41:35 -0600 Subject: [PATCH 04/31] Add note on python version requirement for jax --- docs/source/install.rst | 47 ++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/docs/source/install.rst b/docs/source/install.rst index dcff541ea..a23414cad 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -5,20 +5,26 @@ Installing SCICO SCICO requires Python version 3.8 or later. (Version 3.10 is recommended as it is the version under which SCICO has been most -thoroughly tested.) It is supported on both Linux and MacOS, but is -not currently supported on Windows due to the limited support for -``jaxlib`` on Windows. However, Windows users can use SCICO via the -`Windows Subsystem for Linux +thoroughly tested, and is the minimum supported Python version for +the most recent versions of JAX.) It is supported on both Linux and +MacOS, but is not currently supported on Windows due to the limited +support for ``jaxlib`` on Windows. However, Windows users can use +SCICO via the `Windows Subsystem for Linux `_ (WSL). Guides -exist for using WSL with `CPU only -`_ and -with `GPU support -`_. - -While not required, installation of SCICO and its dependencies within a `Conda `_ environment -is recommended. `Scripts `_ -are provided for creating a `miniconda `_ installation and an environment including all primary SCICO dependencies as well as dependencies -for usage example, testing, and building the documentation. +exist for using WSL with +`CPU only `_ +and with +`GPU support `_. + +While not required, installation of SCICO and its dependencies within a +`Conda `_ +environment is recommended. +`Scripts `_ +are provided for creating a +`miniconda `_ +installation and an environment including all primary SCICO dependencies +as well as dependencies for usage example, testing, and building the +documentation. From PyPI @@ -108,26 +114,13 @@ a version with GPU support: 2. Install the version of jaxlib with GPU support, as described in the `JAX installation instructions `_. In the simplest case, the appropriate command is - :: - - pip install --upgrade "jax[cuda11]" - - for CUDA 11, or :: pip install --upgrade "jax[cuda12]" for CUDA 12, but it may be necessary to explicitly specify the ``jaxlib`` version if the most recent release is not yet supported - by SCICO (as specified in the ``requirements.txt`` file), or if - using a version of CUDA older than 11.4, or CuDNN older than 8.2, - in which case the command would be of the form - :: - - pip install --upgrade "jaxlib==0.4.2+cuda11.cudnn82" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html - - with appropriate substitution of ``jaxlib``, CUDA, and CuDNN version - numbers. + by SCICO (as specified in the ``requirements.txt`` file). The script `misc/envinfo.py `_ From 4928227a381f61ecddfb8c4e76f2bd91e5071bcc Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 13:45:58 -0600 Subject: [PATCH 05/31] Update jax/gpu instructions --- misc/conda/make_conda_env.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/misc/conda/make_conda_env.sh b/misc/conda/make_conda_env.sh index 8b42085a1..e648bdd9c 100755 --- a/misc/conda/make_conda_env.sh +++ b/misc/conda/make_conda_env.sh @@ -257,6 +257,9 @@ echo echo "JAX installed without GPU support. To enable GPU support, install a" echo "version of jaxlib with CUDA support following the instructions at" echo " https://jax.readthedocs.io/en/latest/installation.html#nvidia-gpu" +echo "In most cases this just requires the command" +echo " pip install -U \"jax[cuda12]\"" +echo echo "ASTRA Toolbox installed without GPU support if this script was" echo "run on a host without CUDA drivers installed. To enable GPU support," echo "uninstall and then reinstall the astra-toolbox conda package on a" From 5134a85d28b09e543ff7125a319d7f70b30fb53d Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:00:11 -0600 Subject: [PATCH 06/31] Add note on availgpu.py script --- docs/source/install.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/install.rst b/docs/source/install.rst index a23414cad..4743be3c7 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -125,7 +125,9 @@ a version with GPU support: The script `misc/envinfo.py `_ in the source distribution is provided as an aid to debugging GPU support -issues. +issues. The script `misc/availgpu.py `_ +can be used to automatically recommend a setting of the CUDA_VISIBLE_DEVICES +environment variable that excludes GPUs that are already in use. From 7a6350516cf4413bb317c61e42078cc5703c0a0b Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:15:05 -0600 Subject: [PATCH 07/31] Move gpu util scripts --- docs/source/install.rst | 6 ++++-- misc/README.rst | 8 +++++++- misc/{ => gpu}/availgpu.py | 0 misc/{ => gpu}/envinfo.py | 0 4 files changed, 11 insertions(+), 3 deletions(-) rename misc/{ => gpu}/availgpu.py (100%) rename misc/{ => gpu}/envinfo.py (100%) diff --git a/docs/source/install.rst b/docs/source/install.rst index 4743be3c7..77985be5d 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -123,9 +123,11 @@ a version with GPU support: by SCICO (as specified in the ``requirements.txt`` file). -The script `misc/envinfo.py `_ +The script +`misc/gpu/envinfo.py `_ in the source distribution is provided as an aid to debugging GPU support -issues. The script `misc/availgpu.py `_ +issues. The script +`misc/gpu/availgpu.py `_ can be used to automatically recommend a setting of the CUDA_VISIBLE_DEVICES environment variable that excludes GPUs that are already in use. diff --git a/misc/README.rst b/misc/README.rst index beda2928c..c83fe6857 100644 --- a/misc/README.rst +++ b/misc/README.rst @@ -1,5 +1,11 @@ Miscellaneous ============= -This directory is a temporary location for content for which there is no immediately obvious correct location. +This directory is a temporary location for content for which there is no +obviously more appropriate location: +- ``conda``: Scripts intended to faciliate the installation of +`miniconda `__ +and an environment with all SCICO requirements. +- ``gpu``: Scripts for debugging and managing JAX use of GPUs. +- ``pytest``: Scripts for specialized runs of ``pytest``. diff --git a/misc/availgpu.py b/misc/gpu/availgpu.py similarity index 100% rename from misc/availgpu.py rename to misc/gpu/availgpu.py diff --git a/misc/envinfo.py b/misc/gpu/envinfo.py similarity index 100% rename from misc/envinfo.py rename to misc/gpu/envinfo.py From a51c435b258d6e9af40c88422bf9e64650ee1449 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:16:38 -0600 Subject: [PATCH 08/31] Formatting fix --- misc/README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/README.rst b/misc/README.rst index c83fe6857..1b8f367bb 100644 --- a/misc/README.rst +++ b/misc/README.rst @@ -5,7 +5,7 @@ This directory is a temporary location for content for which there is no obviously more appropriate location: - ``conda``: Scripts intended to faciliate the installation of -`miniconda `__ -and an environment with all SCICO requirements. + `miniconda `__ + and an environment with all SCICO requirements. - ``gpu``: Scripts for debugging and managing JAX use of GPUs. - ``pytest``: Scripts for specialized runs of ``pytest``. From bc3b80a05cdedb40c2dd4b3db390d28690ca3c1c Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:17:55 -0600 Subject: [PATCH 09/31] Formatting fix --- misc/README.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/misc/README.rst b/misc/README.rst index 1b8f367bb..d9ad83661 100644 --- a/misc/README.rst +++ b/misc/README.rst @@ -4,8 +4,6 @@ Miscellaneous This directory is a temporary location for content for which there is no obviously more appropriate location: -- ``conda``: Scripts intended to faciliate the installation of - `miniconda `__ - and an environment with all SCICO requirements. +- ``conda``: Scripts intended to faciliate the installation of `miniconda `__ and an environment with all SCICO requirements. - ``gpu``: Scripts for debugging and managing JAX use of GPUs. - ``pytest``: Scripts for specialized runs of ``pytest``. From 44a0dbb9a36a735f1c8e9f3ff492ec82bf5be791 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:18:32 -0600 Subject: [PATCH 10/31] Formatting fix --- misc/README.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/README.rst b/misc/README.rst index d9ad83661..cb321688e 100644 --- a/misc/README.rst +++ b/misc/README.rst @@ -4,6 +4,7 @@ Miscellaneous This directory is a temporary location for content for which there is no obviously more appropriate location: -- ``conda``: Scripts intended to faciliate the installation of `miniconda `__ and an environment with all SCICO requirements. +- ``conda``: Scripts intended to faciliate the installation of miniconda + and an environment with all SCICO requirements. - ``gpu``: Scripts for debugging and managing JAX use of GPUs. - ``pytest``: Scripts for specialized runs of ``pytest``. From 4c3a3dac222458c7897933bcd2e42496ec4b0ad2 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:18:48 -0600 Subject: [PATCH 11/31] Formatting fix --- misc/README.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/misc/README.rst b/misc/README.rst index cb321688e..d45f86a98 100644 --- a/misc/README.rst +++ b/misc/README.rst @@ -4,7 +4,6 @@ Miscellaneous This directory is a temporary location for content for which there is no obviously more appropriate location: -- ``conda``: Scripts intended to faciliate the installation of miniconda - and an environment with all SCICO requirements. +- ``conda``: Scripts intended to faciliate the installation of miniconda and an environment with all SCICO requirements. - ``gpu``: Scripts for debugging and managing JAX use of GPUs. - ``pytest``: Scripts for specialized runs of ``pytest``. From b3ec07ac1f25899ee07f6b74a077bc7c852029b3 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:28:48 -0600 Subject: [PATCH 12/31] Add readme files --- misc/gpu/README.rst | 7 +++++++ misc/pytest/README.rst | 10 ++++++++++ 2 files changed, 17 insertions(+) create mode 100644 misc/gpu/README.rst create mode 100644 misc/pytest/README.rst diff --git a/misc/gpu/README.rst b/misc/gpu/README.rst new file mode 100644 index 000000000..259fa78a2 --- /dev/null +++ b/misc/gpu/README.rst @@ -0,0 +1,7 @@ +GPU Utility Scripts +=================== + +These scripts are intended for debugging and managing JAX use of GPUs: + +- ``availgpu.py``: Automatically recommend a setting of the CUDA_VISIBLE_DEVICES environment variable that excludes GPUs that are already in use. +- ``envinfo.py``: An aid to debugging JAX GPU access. diff --git a/misc/pytest/README.rst b/misc/pytest/README.rst new file mode 100644 index 000000000..e03e6e474 --- /dev/null +++ b/misc/pytest/README.rst @@ -0,0 +1,10 @@ +Specialized Pytest Usage +======================== + +These scripts support specialized ``pytest`` usage: + +- ``pytest_cov.sh``: This script runs ``scico`` unit tests using the ``pytest-cov`` plugin for test coverage analysis. +- ``pytest_fast.sh``: This script runs ``pytest`` tests in parallel using the ``pytest-xdist`` plugin. Some tests (those that do not function correctly when run in parallel) are run separately. +- ``pytest_time.sh``: This script runs each ``scico`` unit test module and lists them all in order of decreasing run time. + +All of these scripts must be run from the repository root directory. From 1d01b7b81c5a0de1fc1ea1ec7a69ac5d0b815a74 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:29:06 -0600 Subject: [PATCH 13/31] Minor phrasing improvement --- misc/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/README.rst b/misc/README.rst index d45f86a98..70b86b530 100644 --- a/misc/README.rst +++ b/misc/README.rst @@ -6,4 +6,4 @@ obviously more appropriate location: - ``conda``: Scripts intended to faciliate the installation of miniconda and an environment with all SCICO requirements. - ``gpu``: Scripts for debugging and managing JAX use of GPUs. -- ``pytest``: Scripts for specialized runs of ``pytest``. +- ``pytest``: Scripts for specialized use of ``pytest``. From 116c1c8d080303fbe5c5a03a56f0384b8061c7e6 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 14:30:01 -0600 Subject: [PATCH 14/31] Improve formatting --- misc/gpu/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/gpu/README.rst b/misc/gpu/README.rst index 259fa78a2..a2e229262 100644 --- a/misc/gpu/README.rst +++ b/misc/gpu/README.rst @@ -3,5 +3,5 @@ GPU Utility Scripts These scripts are intended for debugging and managing JAX use of GPUs: -- ``availgpu.py``: Automatically recommend a setting of the CUDA_VISIBLE_DEVICES environment variable that excludes GPUs that are already in use. +- ``availgpu.py``: Automatically recommend a setting of the ``CUDA_VISIBLE_DEVICES`` environment variable that excludes GPUs that are already in use. - ``envinfo.py``: An aid to debugging JAX GPU access. From b231983f726389e20b414691776840b4db4df44d Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 17:04:02 -0600 Subject: [PATCH 15/31] Avoid issues with ray and conda version of hyperopt --- misc/conda/make_conda_env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/conda/make_conda_env.sh b/misc/conda/make_conda_env.sh index e648bdd9c..d3b99d466 100755 --- a/misc/conda/make_conda_env.sh +++ b/misc/conda/make_conda_env.sh @@ -50,7 +50,7 @@ EOF ) # Requirements that cannot be installed via conda (i.e. have to use pip) NOCONDA=$(cat <<-EOF -flax bm3d bm4d py2jn colour_demosaicing ray[tune,train] +flax bm3d bm4d py2jn colour_demosaicing hyperopt ray[tune,train] EOF ) From 83c8e573aeb6fbadbd59d3018ba9b2169e25174d Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 17:16:48 -0600 Subject: [PATCH 16/31] Python 3.7 no longer supported --- scico/_version.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/scico/_version.py b/scico/_version.py index 86c7b18fc..c51a4a2d4 100644 --- a/scico/_version.py +++ b/scico/_version.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2020-2022 by SCICO Developers +# Copyright (C) 2020-2024 by SCICO Developers # All rights reserved. BSD 3-clause License. # This file is part of the SCICO package. Details of the copyright and # user license can be found in the 'LICENSE' file distributed with the @@ -7,10 +7,8 @@ """Support functions for determining the package version.""" -import ast import os import re -import sys from ast import parse from subprocess import PIPE, Popen from typing import Any, Optional, Tuple, Union @@ -43,13 +41,7 @@ def variable_assign_value(path: str, var: str) -> Any: try: # See http://stackoverflow.com/questions/2058802 value_obj = parse(next(filter(lambda line: line.startswith(var), f))).body[0].value # type: ignore - if sys.version_info.major == 3 and sys.version_info.minor == 7: - if isinstance(value_obj, ast.Num): - value = value_obj.n # type: ignore - elif isinstance(value_obj, ast.Str): - value = value_obj.s # type: ignore - else: - value = value_obj.s # type: ignore + value = value_obj.value # type: ignore except StopIteration: raise RuntimeError(f"Could not find initialization of variable {var}") From 2ab5771f708ba03c8370f6c7bcd0be963208fd4c Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Tue, 20 Aug 2024 17:17:28 -0600 Subject: [PATCH 17/31] Trivial edit --- scico/_version.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scico/_version.py b/scico/_version.py index c51a4a2d4..25daf2db3 100644 --- a/scico/_version.py +++ b/scico/_version.py @@ -42,7 +42,6 @@ def variable_assign_value(path: str, var: str) -> Any: # See http://stackoverflow.com/questions/2058802 value_obj = parse(next(filter(lambda line: line.startswith(var), f))).body[0].value # type: ignore value = value_obj.value # type: ignore - except StopIteration: raise RuntimeError(f"Could not find initialization of variable {var}") return value From 024c2b4953d585a77f7723290c9e8aa4fbea71bd Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 09:46:14 -0600 Subject: [PATCH 18/31] Address PR review comments --- docs/source/install.rst | 2 +- scico/_version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/install.rst b/docs/source/install.rst index 77985be5d..b6698ae53 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -6,7 +6,7 @@ Installing SCICO SCICO requires Python version 3.8 or later. (Version 3.10 is recommended as it is the version under which SCICO has been most thoroughly tested, and is the minimum supported Python version for -the most recent versions of JAX.) It is supported on both Linux and +the most recent versions of JAX.) SCICO is supported on both Linux and MacOS, but is not currently supported on Windows due to the limited support for ``jaxlib`` on Windows. However, Windows users can use SCICO via the `Windows Subsystem for Linux diff --git a/scico/_version.py b/scico/_version.py index 25daf2db3..bf9f9d6f6 100644 --- a/scico/_version.py +++ b/scico/_version.py @@ -39,7 +39,7 @@ def variable_assign_value(path: str, var: str) -> Any: """ with open(path) as f: try: - # See http://stackoverflow.com/questions/2058802 + # See https://stackoverflow.com/a/30471662 value_obj = parse(next(filter(lambda line: line.startswith(var), f))).body[0].value # type: ignore value = value_obj.value # type: ignore except StopIteration: From 74840b92863ff95afeba0b30b87413667c08c631 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 09:50:36 -0600 Subject: [PATCH 19/31] Switch for Python 3.12 for CI --- .github/workflows/lint.yml | 2 +- .github/workflows/mypy.yml | 2 +- .github/workflows/pypi_upload.yml | 2 +- .github/workflows/pytest_latest.yml | 2 +- .github/workflows/pytest_macos.yml | 2 +- .github/workflows/pytest_ubuntu.yml | 6 +++--- .github/workflows/test_examples.yml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a4eeb8cee..2e6a0eeaa 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.12" - name: Black code formatter uses: psf/black@stable with: diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 5e1d474de..02b680a64 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -20,7 +20,7 @@ jobs: - name: Install Python 3 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.12" - name: Install dependencies run: | pip install mypy diff --git a/.github/workflows/pypi_upload.yml b/.github/workflows/pypi_upload.yml index f60c78f47..a6e79f3a2 100644 --- a/.github/workflows/pypi_upload.yml +++ b/.github/workflows/pypi_upload.yml @@ -21,7 +21,7 @@ jobs: - name: Install Python 3 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.12" - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/pytest_latest.yml b/.github/workflows/pytest_latest.yml index 60754eda6..fabbe22b5 100644 --- a/.github/workflows/pytest_latest.yml +++ b/.github/workflows/pytest_latest.yml @@ -21,7 +21,7 @@ jobs: - name: Install Python 3 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.12" - name: Install lastversion run: | python -m pip install --upgrade pip diff --git a/.github/workflows/pytest_macos.yml b/.github/workflows/pytest_macos.yml index ec97f4c02..aba92884a 100644 --- a/.github/workflows/pytest_macos.yml +++ b/.github/workflows/pytest_macos.yml @@ -35,7 +35,7 @@ jobs: miniforge-version: latest activate-environment: test-env use-mamba: true - python-version: "3.10" + python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache uses: actions/cache@v3 diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index babfb1d9f..5f9cb9c23 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -35,7 +35,7 @@ jobs: miniforge-version: latest activate-environment: test-env use-mamba: true - python-version: "3.10" + python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache uses: actions/cache@v3 @@ -97,10 +97,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.12 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.12" - name: Install deps run: | python -m pip install --upgrade pip diff --git a/.github/workflows/test_examples.yml b/.github/workflows/test_examples.yml index 74645a29a..d1928bdad 100644 --- a/.github/workflows/test_examples.yml +++ b/.github/workflows/test_examples.yml @@ -33,7 +33,7 @@ jobs: miniforge-version: latest activate-environment: test-env use-mamba: true - python-version: "3.10" + python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache uses: actions/cache@v3 From 0e7c845e8fb05ccfe01d691b0492854744a45ab2 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 11:38:40 -0600 Subject: [PATCH 20/31] Attempt to resolve CI test failures --- .github/workflows/pytest_macos.yml | 2 +- .github/workflows/pytest_ubuntu.yml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest_macos.yml b/.github/workflows/pytest_macos.yml index aba92884a..398538bfc 100644 --- a/.github/workflows/pytest_macos.yml +++ b/.github/workflows/pytest_macos.yml @@ -59,7 +59,7 @@ jobs: pip install pytest-split pip install -r requirements.txt pip install -r dev_requirements.txt - mamba install -c conda-forge svmbir>=0.3.3 + # mamba install -c conda-forge svmbir>=0.3.3 mamba install -c astra-toolbox astra-toolbox mamba install -c conda-forge pyyaml pip install --upgrade --force-reinstall scipy>=1.6.0 # Temporary fix for GLIBCXX_3.4.30 not found in conda forge version diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index 5f9cb9c23..31d653677 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -81,7 +81,7 @@ jobs: pytest -x --cov --level=2 --durations-path=$DURATIONS_FILE --splits=5 --group=${{ matrix.group }} --pyargs scico # Upload coverage data - name: Upload coverage - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: coverage${{ matrix.group }} path: .coverage @@ -107,9 +107,10 @@ jobs: pip install coverage - name: Download all artifacts # Downloads coverage1, coverage2, etc. - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 - name: Run coverage run: | + ls -R coverage combine coverage*/.coverage* coverage report coverage xml From d8bf788ef62058c096355e7032b4ffa3ca07247d Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 11:48:02 -0600 Subject: [PATCH 21/31] Attempt to resolve CI test failures --- .github/workflows/pytest_ubuntu.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index 31d653677..0aef70ff4 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -79,6 +79,7 @@ jobs: DURATIONS_FILE=$(mktemp) bzcat data/pytest/durations_ubuntu.bz2 > $DURATIONS_FILE pytest -x --cov --level=2 --durations-path=$DURATIONS_FILE --splits=5 --group=${{ matrix.group }} --pyargs scico + ls -lR # Upload coverage data - name: Upload coverage uses: actions/upload-artifact@v4 From 1ae98d9a0dce04f57a4620807006d5bb96f80b70 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 11:58:36 -0600 Subject: [PATCH 22/31] Attempt to resolve CI test failures --- .github/workflows/pytest_ubuntu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index 0aef70ff4..0f389dc85 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -79,7 +79,7 @@ jobs: DURATIONS_FILE=$(mktemp) bzcat data/pytest/durations_ubuntu.bz2 > $DURATIONS_FILE pytest -x --cov --level=2 --durations-path=$DURATIONS_FILE --splits=5 --group=${{ matrix.group }} --pyargs scico - ls -lR + ls -aR --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc # Upload coverage data - name: Upload coverage uses: actions/upload-artifact@v4 @@ -111,7 +111,7 @@ jobs: uses: actions/download-artifact@v4 - name: Run coverage run: | - ls -R + ls -aR --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc coverage combine coverage*/.coverage* coverage report coverage xml From 047ed5f8b41bdecb6360131bbbb06dd4de48554a Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 12:08:45 -0600 Subject: [PATCH 23/31] Attempt to resolve CI test failures --- .github/workflows/pytest_ubuntu.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index 0f389dc85..e3f613db3 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -79,13 +79,13 @@ jobs: DURATIONS_FILE=$(mktemp) bzcat data/pytest/durations_ubuntu.bz2 > $DURATIONS_FILE pytest -x --cov --level=2 --durations-path=$DURATIONS_FILE --splits=5 --group=${{ matrix.group }} --pyargs scico - ls -aR --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc + ls -a --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc --ignore=data ${{ github.workspace }} # Upload coverage data - name: Upload coverage uses: actions/upload-artifact@v4 with: name: coverage${{ matrix.group }} - path: .coverage + path: ${{ github.workspace }}/.coverage # Run doc tests - name: Run doc tests if: matrix.group == 1 @@ -111,7 +111,7 @@ jobs: uses: actions/download-artifact@v4 - name: Run coverage run: | - ls -aR --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc + ls -aR --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc --ignore=data coverage combine coverage*/.coverage* coverage report coverage xml From 71c6215dc2985b9c831580ab067c15efc3a61c08 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 12:17:58 -0600 Subject: [PATCH 24/31] Attempt to resolve CI test failures --- .github/workflows/pytest_ubuntu.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index e3f613db3..4e1676230 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -79,13 +79,21 @@ jobs: DURATIONS_FILE=$(mktemp) bzcat data/pytest/durations_ubuntu.bz2 > $DURATIONS_FILE pytest -x --cov --level=2 --durations-path=$DURATIONS_FILE --splits=5 --group=${{ matrix.group }} --pyargs scico - ls -a --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc --ignore=data ${{ github.workspace }} + echo Workspace: ${{ github.workspace }} + ls -a ${{ github.workspace }} + ls -l ${{ github.workspace }}/.coverage # Upload coverage data - name: Upload coverage uses: actions/upload-artifact@v4 with: name: coverage${{ matrix.group }} path: ${{ github.workspace }}/.coverage + # Temporary + - name Temporary + run: | + echo Workspace: ${{ github.workspace }} + ls -a ${{ github.workspace }} + ls -l ${{ github.workspace }}/.coverage # Run doc tests - name: Run doc tests if: matrix.group == 1 From dc7f1ae74644fd8db0c2174df2f7ab2bd4d05d7c Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 12:35:35 -0600 Subject: [PATCH 25/31] Attempt to resolve CI test failures --- .github/workflows/pytest_ubuntu.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index 4e1676230..bde8a1180 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -86,6 +86,7 @@ jobs: - name: Upload coverage uses: actions/upload-artifact@v4 with: + include-hidden-files: true name: coverage${{ matrix.group }} path: ${{ github.workspace }}/.coverage # Temporary From b1f2600b5c88a8b0ca900dba2e612b848928950a Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 12:37:09 -0600 Subject: [PATCH 26/31] Fix yaml syntax error --- .github/workflows/pytest_ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index bde8a1180..1bef991d4 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -90,7 +90,7 @@ jobs: name: coverage${{ matrix.group }} path: ${{ github.workspace }}/.coverage # Temporary - - name Temporary + - name: Temporary run: | echo Workspace: ${{ github.workspace }} ls -a ${{ github.workspace }} From 368df35c7d6708a6a959405c94ee0e600bc01b5a Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 12:44:10 -0600 Subject: [PATCH 27/31] Clean up --- .github/workflows/pytest_ubuntu.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index 1bef991d4..e4b9bbdc9 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -79,9 +79,6 @@ jobs: DURATIONS_FILE=$(mktemp) bzcat data/pytest/durations_ubuntu.bz2 > $DURATIONS_FILE pytest -x --cov --level=2 --durations-path=$DURATIONS_FILE --splits=5 --group=${{ matrix.group }} --pyargs scico - echo Workspace: ${{ github.workspace }} - ls -a ${{ github.workspace }} - ls -l ${{ github.workspace }}/.coverage # Upload coverage data - name: Upload coverage uses: actions/upload-artifact@v4 @@ -89,12 +86,6 @@ jobs: include-hidden-files: true name: coverage${{ matrix.group }} path: ${{ github.workspace }}/.coverage - # Temporary - - name: Temporary - run: | - echo Workspace: ${{ github.workspace }} - ls -a ${{ github.workspace }} - ls -l ${{ github.workspace }}/.coverage # Run doc tests - name: Run doc tests if: matrix.group == 1 @@ -120,8 +111,7 @@ jobs: uses: actions/download-artifact@v4 - name: Run coverage run: | - ls -aR --ignore=.git --ignore=scico --ignore=docs --ignore=examples --ignore=misc --ignore=data - coverage combine coverage*/.coverage* + coverage combine coverage?/.coverage coverage report coverage xml - uses: codecov/codecov-action@v3 From c7bb2b79399d85510e2bc42caf92768952e2eda5 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 12:45:41 -0600 Subject: [PATCH 28/31] Add comment --- .github/workflows/pytest_macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pytest_macos.yml b/.github/workflows/pytest_macos.yml index 398538bfc..183495582 100644 --- a/.github/workflows/pytest_macos.yml +++ b/.github/workflows/pytest_macos.yml @@ -59,6 +59,7 @@ jobs: pip install pytest-split pip install -r requirements.txt pip install -r dev_requirements.txt + # Temporarily disabled due to svmbir failure with numpy 2.x under Python 3.12 # mamba install -c conda-forge svmbir>=0.3.3 mamba install -c astra-toolbox astra-toolbox mamba install -c conda-forge pyyaml From 1c7987369747c05489b49f0720ae855afc5b2b65 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 14:21:45 -0600 Subject: [PATCH 29/31] Address PR comments --- docs/source/contributing.rst | 2 +- docs/source/install.rst | 8 ++++---- misc/conda/README.rst | 4 ++-- misc/conda/make_conda_env.sh | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst index b3d6f917a..6b080e30b 100644 --- a/docs/source/contributing.rst +++ b/docs/source/contributing.rst @@ -30,7 +30,7 @@ Installing a Development Version :: - conda create -n scico python=3.11 + conda create -n scico python=3.12 5. Activate the created conda virtual environment: diff --git a/docs/source/install.rst b/docs/source/install.rst index b6698ae53..0931ef820 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -3,10 +3,10 @@ Installing SCICO ================ -SCICO requires Python version 3.8 or later. (Version 3.10 is -recommended as it is the version under which SCICO has been most -thoroughly tested, and is the minimum supported Python version for -the most recent versions of JAX.) SCICO is supported on both Linux and +SCICO requires Python version 3.8 or later. (Version 3.12 is +recommended as it is the version under which SCICO is tested in GitHub +continuous integration, and since the most recent versions of JAX require +version 3.10 or later.) SCICO is supported on both Linux and MacOS, but is not currently supported on Windows due to the limited support for ``jaxlib`` on Windows. However, Windows users can use SCICO via the `Windows Subsystem for Linux diff --git a/misc/conda/README.rst b/misc/conda/README.rst index f1cd68e1d..9df4e6c5e 100644 --- a/misc/conda/README.rst +++ b/misc/conda/README.rst @@ -19,11 +19,11 @@ To install miniconda in ``/opt/conda`` do ./install_conda.sh -y /opt/conda -To create a conda environment called ``py310`` with default Python version (3.10) and without GPU support +To create a conda environment called ``scico`` with Python version 3.12 and without GPU support :: - ./make_conda_env.sh -y -e py310 + ./make_conda_env.sh -y -p 3.12 -e scico To include GPU support, follow the `jax installation instructions `__ after diff --git a/misc/conda/make_conda_env.sh b/misc/conda/make_conda_env.sh index d3b99d466..b5aa4411d 100755 --- a/misc/conda/make_conda_env.sh +++ b/misc/conda/make_conda_env.sh @@ -28,7 +28,7 @@ Usage: $SCRIPT [-h] [-y] [-g] [-p python_version] [-e env_name] [-v] Verbose operation [-t] Display actions that would be taken but do nothing [-y] Do not ask for confirmation - [-p python_version] Specify Python version (e.g. 3.10) + [-p python_version] Specify Python version (e.g. 3.12) [-e env_name] Specify conda environment name EOF ) @@ -36,7 +36,7 @@ EOF AGREE=no VERBOSE=no TEST=no -PYVER="3.10" +PYVER="3.12" ENVNM=py$(echo $PYVER | sed -e 's/\.//g') # Project requirements files From 4a06cca9548b65681aa8bf0779f5142278cd57f9 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 14:39:24 -0600 Subject: [PATCH 30/31] Bump actions/cache version --- .github/workflows/pytest_macos.yml | 2 +- .github/workflows/pytest_ubuntu.yml | 2 +- .github/workflows/test_examples.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest_macos.yml b/.github/workflows/pytest_macos.yml index 183495582..b81374b91 100644 --- a/.github/workflows/pytest_macos.yml +++ b/.github/workflows/pytest_macos.yml @@ -38,7 +38,7 @@ jobs: python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ env.CONDA }}/envs key: conda-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('dev_requirements.txt') }}-${{ env.CACHE_NUMBER }} diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index e4b9bbdc9..5071bf34a 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -38,7 +38,7 @@ jobs: python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ env.CONDA }}/envs key: conda-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('dev_requirements.txt') }}-${{ env.CACHE_NUMBER }} diff --git a/.github/workflows/test_examples.yml b/.github/workflows/test_examples.yml index d1928bdad..c8ccea7f2 100644 --- a/.github/workflows/test_examples.yml +++ b/.github/workflows/test_examples.yml @@ -36,7 +36,7 @@ jobs: python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ env.CONDA }}/envs key: conda-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('dev_requirements.txt') }}-${{ hashFiles('examples/examples_requirements.txt') }}-${{ env.CACHE_NUMBER }} From b92329888e16d7dddaaaedb4fd192b4fdd022af1 Mon Sep 17 00:00:00 2001 From: Brendt Wohlberg Date: Thu, 5 Sep 2024 14:47:08 -0600 Subject: [PATCH 31/31] Avoid use of mambaforge in response to deprecation warning --- .github/workflows/pytest_macos.yml | 14 ++++++-------- .github/workflows/pytest_ubuntu.yml | 14 ++++++-------- .github/workflows/test_examples.yml | 12 +++++------- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/.github/workflows/pytest_macos.yml b/.github/workflows/pytest_macos.yml index b81374b91..1ab2e88fe 100644 --- a/.github/workflows/pytest_macos.yml +++ b/.github/workflows/pytest_macos.yml @@ -27,14 +27,12 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive - # Set up conda/mamba environment - - name: Set up mambaforge + # Set up conda environment + - name: Set up miniconda uses: conda-incubator/setup-miniconda@v3 with: - miniforge-variant: Mambaforge miniforge-version: latest activate-environment: test-env - use-mamba: true python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache @@ -54,15 +52,15 @@ jobs: - name: Install dependencies if: steps.cache.outputs.cache-hit != 'true' run: | - mamba install -c conda-forge pytest pytest-cov + conda install -c conda-forge pytest pytest-cov python -m pip install --upgrade pip pip install pytest-split pip install -r requirements.txt pip install -r dev_requirements.txt # Temporarily disabled due to svmbir failure with numpy 2.x under Python 3.12 - # mamba install -c conda-forge svmbir>=0.3.3 - mamba install -c astra-toolbox astra-toolbox - mamba install -c conda-forge pyyaml + # conda install -c conda-forge svmbir>=0.3.3 + conda install -c astra-toolbox astra-toolbox + conda install -c conda-forge pyyaml pip install --upgrade --force-reinstall scipy>=1.6.0 # Temporary fix for GLIBCXX_3.4.30 not found in conda forge version pip install bm3d>=4.0.0 pip install bm4d>=4.0.0 diff --git a/.github/workflows/pytest_ubuntu.yml b/.github/workflows/pytest_ubuntu.yml index 5071bf34a..e8c0a1705 100644 --- a/.github/workflows/pytest_ubuntu.yml +++ b/.github/workflows/pytest_ubuntu.yml @@ -27,14 +27,12 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive - # Set up conda/mamba environment - - name: Set up mambaforge + # Set up conda environment + - name: Set up miniconda uses: conda-incubator/setup-miniconda@v3 with: - miniforge-variant: Mambaforge miniforge-version: latest activate-environment: test-env - use-mamba: true python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache @@ -57,14 +55,14 @@ jobs: - name: Install dependencies if: steps.cache.outputs.cache-hit != 'true' run: | - mamba install -c conda-forge pytest pytest-cov + conda install -c conda-forge pytest pytest-cov python -m pip install --upgrade pip pip install pytest-split pip install -r requirements.txt pip install -r dev_requirements.txt - mamba install -c conda-forge svmbir>=0.3.3 - mamba install -c conda-forge astra-toolbox - mamba install -c conda-forge pyyaml + conda install -c conda-forge svmbir>=0.3.3 + conda install -c conda-forge astra-toolbox + conda install -c conda-forge pyyaml pip install --upgrade --force-reinstall scipy>=1.6.0 # Temporary fix for GLIBCXX_3.4.30 not found in conda forge version pip install bm3d>=4.0.0 pip install bm4d>=4.2.2 diff --git a/.github/workflows/test_examples.yml b/.github/workflows/test_examples.yml index c8ccea7f2..c2b5e4d23 100644 --- a/.github/workflows/test_examples.yml +++ b/.github/workflows/test_examples.yml @@ -25,14 +25,12 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive - # Set up conda/mamba environment - - name: Set up mambaforge + # Set up conda environment + - name: Set up miniconda uses: conda-incubator/setup-miniconda@v3 with: - miniforge-variant: Mambaforge miniforge-version: latest activate-environment: test-env - use-mamba: true python-version: "3.12" # Configure conda environment cache - name: Set up conda environment cache @@ -55,12 +53,12 @@ jobs: - name: Install dependencies if: steps.cache.outputs.cache-hit != 'true' run: | - mamba install -c conda-forge pytest pytest-cov + conda install -c conda-forge pytest pytest-cov python -m pip install --upgrade pip pip install -r requirements.txt pip install -r dev_requirements.txt - mamba install -c conda-forge astra-toolbox - mamba install -c conda-forge pyyaml + conda install -c conda-forge astra-toolbox + conda install -c conda-forge pyyaml pip install --upgrade --force-reinstall scipy>=1.6.0 # Temporary fix for GLIBCXX_3.4.30 not found in conda forge version pip install -r examples/examples_requirements.txt # Install package to be tested