From 03b2cbca83a6ac9d57f3d61ff3b6c52238cecd69 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:11:41 -0400 Subject: [PATCH 01/15] add py312 and py313 to CI test matrix --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dc123268..58b8a823 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ matrix.os}} strategy: matrix: - python-version: ['3.10','3.11'] + python-version: ['3.10','3.11','3.12','3.13'] os: [ubuntu-latest, macOS-latest, windows-latest] steps: From e9612706ebeb8c78d969ca382cc34bf41fcc6fb4 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:16:14 -0400 Subject: [PATCH 02/15] Relax silx pin in requirements.txt --- requirements.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 9cd57728..c2188ce4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,8 +5,6 @@ h5py nodejs numpy<2 pandas -# pygix fails to improt if silx > 2.0.0 -silx==2.0.0 pyfai pygix scikit-image From d74f64da26e54de4d476fbcbc661a7efabf03cfb Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:39:38 -0400 Subject: [PATCH 03/15] Add dev extras to pyproject.toml --- pyproject.toml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7ebf1c2b..4deef4b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,6 +63,12 @@ doc = [ "sphinx", "pydata_sphinx_theme" ] +dev = ["flake8", + "pytest", + "coverage", + "pybind11", + "wheel" + ] test = [ "pytest", "black", @@ -83,7 +89,12 @@ all-nogpu = [ "pytest", "black", "codecov", - "pylint" + "pylint", + "flake8", + "pytest", + "coverage", + "pybind11", + "wheel" ] all = [ "tiled[all]>=0.1.0a74", @@ -102,7 +113,12 @@ all = [ "pytest", "black", "codecov", - "pylint" + "pylint", + "flake8", + "pytest", + "coverage", + "pybind11", + "wheel" ] [project.urls] From c59d8e7c65956d3bb33a803e444f8bc9d49baae0 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:40:57 -0400 Subject: [PATCH 04/15] Switch to using pyproject.toml to build environment --- .github/workflows/main.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 58b8a823..5916622c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,18 +26,14 @@ jobs: with: path: ${{ env.pythonLocation }} # Look to see if there is a cache hit for the corresponding requirements file - key: ${{ runner.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements.txt') }} + key: ${{ runner.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('pyproject.toml') }} restore-keys: | ${{ runner.os }}-py${{ matrix.python-version }}-pip- ${{ runner.os }}- - name: Install dependencies run: | python -m pip install --upgrade pip - pip install flake8 pytest coverage - pip install pybind11 wheel - pip install -r requirements.txt - pip install -r requirements-bluesky.txt - pip install dask + pip install .[dev,bluesky] - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names From c22ad630291f42065f7af2336fdc88700a6a4a1d Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:45:15 -0400 Subject: [PATCH 05/15] test on a plus sign rather than full matrix --- .github/workflows/main.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5916622c..c116c8df 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,7 +1,6 @@ name: PyHyperScattering CI Testing -on: - push: +on: pull_request: # The branches below must be a subset of the branches above branches: [ main ] @@ -14,7 +13,15 @@ jobs: matrix: python-version: ['3.10','3.11','3.12','3.13'] os: [ubuntu-latest, macOS-latest, windows-latest] - + exclude: + - os: macOS-latest + python-version: '3.11' + - os: macOS-latest + python-version: '3.12' + - os: windows-latest + python-version: '3.11' + - os: windows-latest + python-version: '3.12' steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} From 78463583588f10b1b4c37c976c367f59f3f30200 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:52:25 -0400 Subject: [PATCH 06/15] Delete requirements.txt --- requirements.txt | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index c2188ce4..00000000 --- a/requirements.txt +++ /dev/null @@ -1,16 +0,0 @@ -versioneer -astropy -fabio -h5py -nodejs -numpy<2 -pandas -pyfai -pygix -scikit-image -scipy -pillow -xarray -tqdm -pydata_sphinx_theme -numexpr!=2.8.5,!=2.8.6 From f2375ce2fa94b833803ae0e460dce00449b7de17 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:52:34 -0400 Subject: [PATCH 07/15] Delete requirements-bluesky.txt --- requirements-bluesky.txt | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 requirements-bluesky.txt diff --git a/requirements-bluesky.txt b/requirements-bluesky.txt deleted file mode 100644 index 92b0e124..00000000 --- a/requirements-bluesky.txt +++ /dev/null @@ -1,4 +0,0 @@ -tiled[all]>=0.1.0a74 -databroker[all]>=2.0.0b10 -bluesky-tiled-plugins -bottleneck From cac00bc49c44a493b9ac0dc5ac891a1ec6f34ddd Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:52:42 -0400 Subject: [PATCH 08/15] Delete requirements-performance.txt --- requirements-performance.txt | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 requirements-performance.txt diff --git a/requirements-performance.txt b/requirements-performance.txt deleted file mode 100644 index 27678963..00000000 --- a/requirements-performance.txt +++ /dev/null @@ -1,3 +0,0 @@ -pyopencl -dask -cupy From c5644fdb57d3a79852e1fccfe8be443ab14ee2c1 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:52:51 -0400 Subject: [PATCH 09/15] Delete requirements-ui.txt --- requirements-ui.txt | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 requirements-ui.txt diff --git a/requirements-ui.txt b/requirements-ui.txt deleted file mode 100644 index 33e657f2..00000000 --- a/requirements-ui.txt +++ /dev/null @@ -1,3 +0,0 @@ -holoviews -hvplot -matplotlib From 3eeee4b493b60ccf4d62a779d6b1251ce2f61eb3 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 12:53:32 -0400 Subject: [PATCH 10/15] Delete env.yml --- env.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100755 env.yml diff --git a/env.yml b/env.yml deleted file mode 100755 index b1cc0ad3..00000000 --- a/env.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: pyhyperscattering -channels: - - conda-forge - - lightsource2-tag - - defaults -dependencies: - - astropy - - fabio - - h5py - - hdf5 - - nodejs - - numpy - - pandas - - pyfai - - pyopencl - - scikit-image - - xarray - - scipy - - python>=3.8 From 5441c8cb6a1a521c69750906cd4f579e731adfc5 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 14:10:48 -0400 Subject: [PATCH 11/15] remove pyopencl from main dependencies --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4deef4b1..f5f3cfc4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,6 @@ dependencies = [ "numpy<2", "pandas", "pyfai", - "pyopencl", "scikit-image", "scipy", "pillow", From ad0cb2dd2fd7a70958147b8c4ebfb333a02a6c2e Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 15:19:01 -0400 Subject: [PATCH 12/15] don't test windows on py 313 --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c116c8df..ab896c40 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,8 +20,9 @@ jobs: python-version: '3.12' - os: windows-latest python-version: '3.11' + # this last one is a specific incompatibility... - os: windows-latest - python-version: '3.12' + python-version: '3.13' steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} From 95dcb2e6d17b00e9ab8e36c99e39b2b5caeb244f Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 15:53:23 -0400 Subject: [PATCH 13/15] add back req.txt as docs-requirements.txt --- docs-requirements.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 docs-requirements.txt diff --git a/docs-requirements.txt b/docs-requirements.txt new file mode 100644 index 00000000..235dc25a --- /dev/null +++ b/docs-requirements.txt @@ -0,0 +1,15 @@ +versioneer +astropy +fabio +h5py +nodejs +numpy<2 +pandas +pyfai +scikit-image +scipy +pillow +xarray +tqdm +pydata_sphinx_theme +numexpr!=2.8.5,!=2.8.6 From 983ac2559f8ca9cc8bfab42aed4890081e679aab Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 15:57:42 -0400 Subject: [PATCH 14/15] point docs4nist at docs-requirements --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index affa8cb4..ca3750f7 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -12,4 +12,4 @@ jobs: formats: |- epub pdf - pip-requirements: 'requirements.txt' + pip-requirements: 'docs-requirements.txt' From 7383a1808ec4c866df8bda7c1c391af48058dfa5 Mon Sep 17 00:00:00 2001 From: Peter Beaucage Date: Wed, 2 Apr 2025 16:08:32 -0400 Subject: [PATCH 15/15] Try a really simple requirements.txt --- docs-requirements.txt | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/docs-requirements.txt b/docs-requirements.txt index 235dc25a..9c558e35 100644 --- a/docs-requirements.txt +++ b/docs-requirements.txt @@ -1,15 +1 @@ -versioneer -astropy -fabio -h5py -nodejs -numpy<2 -pandas -pyfai -scikit-image -scipy -pillow -xarray -tqdm -pydata_sphinx_theme -numexpr!=2.8.5,!=2.8.6 +.