From 098867f1ed7e54a0927d46aa082a6d2089f72a8f Mon Sep 17 00:00:00 2001 From: rettigl Date: Mon, 20 Oct 2025 23:56:18 +0200 Subject: [PATCH 1/4] update pynxtools to v 0.12.0 --- pyproject.toml | 2 +- tests/test_processor.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1f0c7e60..8260f888 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,7 @@ dependencies = [ "photutils<2.0", "psutil>=5.9.0", "pynxtools-mpes>=0.2.5", - "pynxtools>=0.11.1", + "pynxtools>=0.12.0", "pyyaml>=6.0.0", "scipy>=1.8.0", "symmetrize>=0.5.5", diff --git a/tests/test_processor.py b/tests/test_processor.py index cb3b50f5..9de036d5 100644 --- a/tests/test_processor.py +++ b/tests/test_processor.py @@ -1236,13 +1236,13 @@ def test_save(caplog) -> None: ) assert ( caplog.messages[0] - == "WARNING: The data entry corresponding to /ENTRY[entry]/SAMPLE[sample]/name is " - "required and hasn't been supplied by the reader." + == "WARNING: The required field /ENTRY[entry]/SAMPLE[sample]/name hasn't been " + "supplied." ) assert ( caplog.messages[1] - == "WARNING: Field /ENTRY[entry]/INSTRUMENT[instrument]/undocumented_field written " - "without documentation." + == "WARNING: Field /ENTRY[entry]/INSTRUMENT[instrument]/undocumented_field has no " + "documentation." ) os.remove("output.nxs") os.remove("temp_eln.yaml") From 2aff1c36d54cccdab31b98d9c147329ae955a889 Mon Sep 17 00:00:00 2001 From: rettigl Date: Tue, 21 Oct 2025 11:13:11 +0200 Subject: [PATCH 2/4] fix typing issues --- src/sed/binning/binning.py | 2 +- src/sed/binning/numba_bin.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sed/binning/binning.py b/src/sed/binning/binning.py index 9599d284..e6884538 100644 --- a/src/sed/binning/binning.py +++ b/src/sed/binning/binning.py @@ -178,7 +178,7 @@ def bin_partition( ranges=ranges, ) elif hist_mode == "numpy": - hist_partition, edges = np.histogramdd( + hist_partition, edges = np.histogramdd( # type: ignore vals, bins=bins, range=ranges, diff --git a/src/sed/binning/numba_bin.py b/src/sed/binning/numba_bin.py index 7daeda97..36b01fc9 100644 --- a/src/sed/binning/numba_bin.py +++ b/src/sed/binning/numba_bin.py @@ -195,7 +195,7 @@ def numba_histogramdd( num_rows, num_cols = sample.shape # pylint: disable=unused-variable if isinstance(bins, (int, np.int_)): # bins provided as a single number - bins = num_cols * [bins] + bins = cast(int, num_cols) * [bins] num_bins = len(bins) # Number of dimensions in bins if num_bins != num_cols: # check number of dimensions From b606e91bf43b5bb111d921bc38fd504ed04dffe4 Mon Sep 17 00:00:00 2001 From: rettigl Date: Tue, 21 Oct 2025 11:26:29 +0200 Subject: [PATCH 3/4] Move to numpy > 2.0.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8260f888..1c94a1f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ dependencies = [ "matplotlib>=3.5.1", "natsort>=8.1.0", "numba>=0.55.1", - "numpy>=1.18", + "numpy>=2.0.0", "pandas>=1.4.1", "photutils<2.0", "psutil>=5.9.0", From 7df38b80cb1dcc1f05b53a38e47ec4468dbf4024 Mon Sep 17 00:00:00 2001 From: rettigl Date: Tue, 4 Nov 2025 21:39:07 +0100 Subject: [PATCH 4/4] remove pyhton 3.9, and run pipelines on python 3.12 --- .github/workflows/benchmark.yml | 6 +++--- .github/workflows/documentation.yml | 4 ++-- .github/workflows/linting.yml | 4 ++-- .github/workflows/testing_coverage.yml | 6 +++--- .github/workflows/testing_multiversion.yml | 2 +- pyproject.toml | 5 ++--- 6 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index ce0dc48b..af603b40 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -28,10 +28,10 @@ jobs: private_key: ${{ secrets.APP_PRIVATE_KEY }} # Setup python - - 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 dependencies run: | @@ -42,7 +42,7 @@ jobs: uv pip install ".[dev]" # Run benchmarks - - name: Run benchmarks on python 3.10 + - name: Run benchmarks on python 3.12 run: | pytest --full-trace --show-capture=no -sv benchmarks/benchmark_*.py diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index da4be209..8806632d 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -34,10 +34,10 @@ jobs: fetch-depth: 0 # Setup python - - 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 dependencies run: | diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 36ef4282..facac2f5 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -17,10 +17,10 @@ jobs: fetch-depth: 0 # Setup python - - 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 dependencies run: | diff --git a/.github/workflows/testing_coverage.yml b/.github/workflows/testing_coverage.yml index 46d04e3a..cfd51d17 100644 --- a/.github/workflows/testing_coverage.yml +++ b/.github/workflows/testing_coverage.yml @@ -20,10 +20,10 @@ jobs: fetch-depth: 0 # Setup python - - 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 dependencies run: | @@ -34,7 +34,7 @@ jobs: uv pip install -e ".[dev]" # Run pytest with coverage report, saving to xml - - name: Run tests on python 3.10 + - name: Run tests on python 3.12 run: | pytest --cov --cov-report xml:cobertura.xml --full-trace --show-capture=no -sv -n auto tests/ diff --git a/.github/workflows/testing_multiversion.yml b/.github/workflows/testing_multiversion.yml index 7a9daab0..da70dd66 100644 --- a/.github/workflows/testing_multiversion.yml +++ b/.github/workflows/testing_multiversion.yml @@ -17,7 +17,7 @@ jobs: # Using matrix strategy strategy: matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12", "3.13"] steps: # Check out repo and set up Python diff --git a/pyproject.toml b/pyproject.toml index 1c94a1f4..c2875329 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,9 +19,8 @@ authors = [ readme = "README.md" keywords = ["sed", "mpes", "flash", "arpes"] license = { file = "LICENSE" } -requires-python = ">=3.9" +requires-python = ">=3.10" classifiers = [ - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -45,7 +44,7 @@ dependencies = [ "pandas>=1.4.1", "photutils<2.0", "psutil>=5.9.0", - "pynxtools-mpes>=0.2.5", + "pynxtools-mpes>=0.2.6", "pynxtools>=0.12.0", "pyyaml>=6.0.0", "scipy>=1.8.0",