From 34b0b99c35110c8ec259f15fdb48c0ffdf357061 Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Sun, 10 Mar 2024 18:08:04 +0000 Subject: [PATCH 1/7] Tweak github release text --- RELEASE_TEXT.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/RELEASE_TEXT.md b/RELEASE_TEXT.md index 42ba9c7..7d7b57c 100644 --- a/RELEASE_TEXT.md +++ b/RELEASE_TEXT.md @@ -1,20 +1,24 @@ -The HyperSpy bundle is similar to the [Miniforge](https://github.com/conda-forge/miniforge)/[Anaconda](https://docs.anaconda.com/anaconda/) distribution and uses the `conda` or `mamba` package manager. +Download one of the installers in the `"Assets"` section. -**[Installation instructions](https://hyperspy.org/hyperspy-bundle/install.html)** +See below the information to select the most suitable installer for a given platform (`Windows`, `Linux` or `Mac`) and architecture / type (`AMD`, `Intel`, `Silicon`, `Portable`). ## Recommended: Anaconda-type distribution (Linux, MacOS and Windows) -For Windows and Linux, there is the choice between two variants, which are optimised for Intel or AMD CPUs: -- `Intel`: with the MKL library, -- `AMD`: with the openblas library. +The HyperSpy bundle is similar to the [Miniforge](https://github.com/conda-forge/miniforge)/[Anaconda](https://docs.anaconda.com/anaconda/) distribution and uses the `conda` or `mamba` package manager. + +**[Installation instructions](https://hyperspy.org/hyperspy-bundle/install.html)** + +For Windows and Linux, there is the choice between two variants: +- `Intel`: optimised for Intel architecture (uses the MKL library), +- `AMD`: optimised for AMD architecture (uses the openblas library). For Mac, there are also two variants available: -- `Intel` for Mac computers with Intel CPU, with MKL library +- `Intel` for Mac computers with Intel CPU, with the MKL library - `Silicon` for Mac computers with Apple Silicon (M1, M2, etc.) CPU, with the Accelerate library For included packages, [see documentation](https://hyperspy.org/hyperspy-bundle/index.html#included-software-and-libraries). -This distribution is built using [constructor 3.6.0](https://github.com/conda/constructor). +This distribution is built using [constructor 3.6.0](https://conda.github.io/constructor). ## Portable (Windows only) The portable distribution is based on the [WinPython](https://winpython.github.io) distribution and is a self-extracting archive. Running the installer will install the distribution in the current directory. Since the distribution is portable, it can be moved to any directory or run from an external drive. From 13c08b8b61523ced20f767c0be3a42f0ba11fff9 Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 4 Apr 2024 15:39:00 +0100 Subject: [PATCH 2/7] Bump winpython version to latest 3.11 - 3.12 can't be used because pyfftw wheel are missing for 3.12 --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b2ee48..a70d1c5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -349,10 +349,10 @@ jobs: needs: create_release_job runs-on: windows-latest env: - WP_URL: https://github.com/winpython/winpython/releases/download/7.0.20230928/Winpython64-3.11.5.0mkl.exe - WP_SHA256: 0b2037660064589dd73a58ac17f44d9e657cfc5fcea92cec9223185243a0a3bc + WP_URL: https://github.com/winpython/winpython/releases/download/7.1.20240203final/Winpython64-3.11.8.0.exe + WP_SHA256: 0fa1bad92e7287632ce6c32c263c694b109b714b5d12e56063b2cd4281a71f7c WP_EXE: winpython.exe - WP_DIR_NAME: WPy64-31150 + WP_DIR_NAME: WPy64-31180 #LIB_TO_INSTALL: abtem ase atomap exspy graphviz holospy hdf5plugin hyperspy[all] hyperspyui kikuchipy lumispy matplotlib-scalebar nglview particlespy py4dstem pymatgen pystackreg python-rapidjson pyxem scanning_drift_corr start_jupyter_cm LIB_TO_INSTALL: abtem ase atomap exspy graphviz holospy hdf5plugin hyperspy[all] hyperspyui lumispy matplotlib-scalebar nglview particlespy py4dstem pymatgen pystackreg python-rapidjson pyxem scanning_drift_corr start_jupyter_cm From 8d0396bfe8f032be49ae227547da8f470238469e Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 4 Apr 2024 15:42:06 +0100 Subject: [PATCH 3/7] Run hyperspy and rosettasciio test suite using 2 processes --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a70d1c5..b21a1a6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -264,7 +264,7 @@ jobs: if: always() run: | conda activate "${{ env.install_dir }}" - pytest --pyargs rsciio --reruns 3 + pytest --pyargs rsciio --reruns 3 -n 2 - shell: bash -l {0} name: Test hyperspy @@ -452,14 +452,14 @@ jobs: shell: cmd run: | call "${{ env.WP_DIR_NAME }}\scripts\env.bat" - pytest --pyargs hyperspy --reruns 3 -n 4 + pytest --pyargs hyperspy --reruns 3 -n 2 - name: Run test RosettaSciIO if: always() shell: cmd run: | call "${{ env.WP_DIR_NAME }}\scripts\env.bat" - pytest --pyargs rsciio --reruns 3 + pytest --pyargs rsciio --reruns 3 -n 2 - name: Run test hyperspy_gui_ipywidgets if: always() From bcf3190a1c8a12b808bfab70935c7da8d936667e Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 4 Apr 2024 15:43:48 +0100 Subject: [PATCH 4/7] Bump micromamba version --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b21a1a6..d3ee171 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -111,7 +111,7 @@ jobs: TARGET_PLATFORM: osx-arm64 env: DISPLAY: ':0' - MICROMAMBA_VERSION: '1.5.6' + MICROMAMBA_VERSION: '1.5.8' steps: - uses: actions/checkout@v4 From 45723e87d80ac2485e04e14736a3c11f458f845b Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 4 Apr 2024 15:39:19 +0100 Subject: [PATCH 5/7] Clean up skipping tests --- .github/workflows/release.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d3ee171..43ed17d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -285,6 +285,7 @@ jobs: if: runner.os != 'linux' && always() run: | conda activate "${{ env.install_dir }}" + # test_image_contrast_tool not supported with agg backend pytest --pyargs hyperspy_gui_traitsui -k "not test_image_contrast_tool" - shell: bash -l {0} @@ -466,14 +467,14 @@ jobs: shell: cmd run: | call "${{ env.WP_DIR_NAME }}\scripts\env.bat" - # test_spikes_removal_tool fails randomly, fixed in https://github.com/hyperspy/hyperspy_gui_ipywidgets/pull/51 - pytest --pyargs hyperspy_gui_ipywidgets -k "not test_image_contrast_tool and not test_spikes_removal_tool" + pytest --pyargs hyperspy_gui_ipywidgets - - name: Run test hyperspy_gui_traitsui + - name: Run test hyperspy_gui_traitsui --reruns 3 if: always() shell: cmd run: | call "${{ env.WP_DIR_NAME }}\scripts\env.bat" + # test_image_contrast_tool not supported with agg backend pytest --pyargs hyperspy_gui_traitsui -k "not test_image_contrast_tool" - name: Run test exspy From 030da3b7088344bee3db858ef541ab2dfdddadc3 Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 4 Apr 2024 16:58:19 +0100 Subject: [PATCH 6/7] Tidy up lmfit workaround on winpython build --- .github/workflows/release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 43ed17d..9378dac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -380,9 +380,6 @@ jobs: where python where pip pip install ${{ env.LIB_TO_INSTALL }} - # lmfit version seems to be old - # numdifftools latest version has support for numpy 1.25 - pip install --upgrade lmfit numdifftools - name: Pip list shell: cmd From 10093da61d6acb5350b8af3aaac8beef8db05963 Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 4 Apr 2024 17:53:08 +0100 Subject: [PATCH 7/7] Upgrade imageio in winpython build as workaround for incompatibility with available pillow version --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9378dac..1bf3a47 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -380,6 +380,8 @@ jobs: where python where pip pip install ${{ env.LIB_TO_INSTALL }} + # workaround for imageio / pillow incompatiblity? + pip install --upgrade imageio - name: Pip list shell: cmd