Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 39 additions & 8 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,15 +123,15 @@ jobs:
fetch-tags: true
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: "0.7.21"
python-version: "3.11"
version: "0.12.0"
python-version: "3.12"
cache-suffix: ${{ matrix.package }}-lower-bound
- name: Test with lowest direct dependencies
working-directory: packages/${{ matrix.package }}
run: uv run --extra=test --resolution=lowest-direct pytest

latest-dependencies:
name: Latest dependencies ${{ matrix.package }}
name: Latest dependencies ${{ matrix.package }} py${{ matrix.python }}
strategy:
fail-fast: false
matrix:
Expand All @@ -143,23 +143,54 @@ jobs:
- essreflectometry
- esssans
- essspectroscopy
python: ["3.12", "3.13", "3.14"]
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
with:
fetch-tags: true
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: "0.7.21"
python-version: "3.11"
cache-suffix: ${{ matrix.package }}-latest
version: "0.12.0"
python-version: ${{ matrix.python }}
cache-suffix: ${{ matrix.package }}-latest-py${{ matrix.python }}
- name: Test with latest dependencies
working-directory: packages/${{ matrix.package }}
run: uv run --extra=test --resolution=highest pytest

free-threaded:
name: Free-threaded ${{ matrix.package }}
strategy:
fail-fast: false
matrix:
# Excluded packages that do not work on free-threaded Python yet:
# - essnmx: importing bitshuffle re-enables the GIL, which
# filterwarnings = error escalates to a collection error.
# - essdiffraction: numba-jitted code aborts the interpreter when run
# from dask worker threads.
package:
- essreduce
- essimaging
- essreflectometry
- esssans
- essspectroscopy
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
with:
fetch-tags: true
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version: "0.12.0"
python-version: "3.14t"
cache-suffix: ${{ matrix.package }}-free-threaded
- name: Test on free-threaded Python
working-directory: packages/${{ matrix.package }}
run: uv run --extra=test pytest

report-test-failure:
name: Report nightly failures
needs: [ test, publish, lower-bound, latest-dependencies ]
needs: [ test, publish, lower-bound, latest-dependencies, free-threaded ]
runs-on: ubuntu-slim
if: failure() && github.event_name == 'schedule'
env:
Expand All @@ -184,7 +215,7 @@ jobs:

report-test-success:
name: Report nightly success
needs: [ test, publish, lower-bound, latest-dependencies ]
needs: [ test, publish, lower-bound, latest-dependencies, free-threaded ]
runs-on: ubuntu-slim
if: github.ref == 'refs/heads/main'
env:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-python@v6
with:
python-version: "3.11"
python-version: "3.12"
- name: Copy LICENSE into package
run: cp LICENSE packages/${{ needs.determine-package.outputs.package }}/LICENSE
- name: Build package
Expand Down Expand Up @@ -157,7 +157,7 @@ jobs:
fetch-depth: 0 # Fetch depth must be 0 otherwise the git log comment won't find all relevant commits between tags.
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # 6.2.0
with:
python-version: "3.11"
python-version: "3.12"
- name: Install dependencise
run: pip install pydantic==2.13.3
- name: Download PR metadata
Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.11
3.12
4 changes: 2 additions & 2 deletions packages/essdiffraction/.copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
_commit: 024a41b
_src_path: gh:scipp/copier_template
description: Diffraction data reduction for the European Spallation Source
max_python: '3.13'
min_python: '3.11'
max_python: '3.14'
min_python: '3.12'
namespace_package: ess
nightly_deps: scipp,scippnexus,sciline,plopp,scippneutron,essreduce,tof
orgname: scipp
Expand Down
4 changes: 2 additions & 2 deletions packages/essdiffraction/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
requires-python = ">=3.11"
requires-python = ">=3.12"

# IMPORTANT:
# Run 'tox -e deps' after making changes here. This will update requirement files.
Expand Down
4 changes: 2 additions & 2 deletions packages/essimaging/.copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
_commit: b87e087
_src_path: gh:scipp/copier_template
description: Imaging data reduction for the European Spallation Source
max_python: '3.13'
min_python: '3.11'
max_python: '3.14'
min_python: '3.12'
namespace_package: ess
nightly_deps: scipp,sciline,scippnexus,plopp,essreduce,scippneutron,tof,scitiff
orgname: scipp
Expand Down
4 changes: 2 additions & 2 deletions packages/essimaging/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
# The min python version should be updated in the root pixi.toml file
# pre-commit will automatically update the following pin
requires-python = ">=3.11"
requires-python = ">=3.12"

dynamic = ["version"]

Expand Down
4 changes: 2 additions & 2 deletions packages/essnmx/.copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
_commit: 0dae45f
_src_path: gh:scipp/copier_template
description: Data reduction for NMX at the European Spallation Source.
max_python: '3.13'
min_python: '3.11'
max_python: '3.14'
min_python: '3.12'
namespace_package: ess
nightly_deps: scipp,sciline,scippnexus,plopp
orgname: scipp
Expand Down
4 changes: 2 additions & 2 deletions packages/essnmx/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
requires-python = ">=3.11"
requires-python = ">=3.12"

# IMPORTANT:
# Run 'tox -e deps' after making changes here. This will update requirement files.
Expand Down
4 changes: 2 additions & 2 deletions packages/essreduce/.copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
_commit: c3214e6
_src_path: gh:scipp/copier_template
description: Common data reduction tools for the ESS facility
max_python: '3.13'
min_python: '3.11'
max_python: '3.14'
min_python: '3.12'
namespace_package: ess
nightly_deps: scippnexus,scipp,sciline,cyclebane,scippneutron,tof
orgname: scipp
Expand Down
6 changes: 3 additions & 3 deletions packages/essreduce/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,23 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
# The min python version should be updated in the root pixi.toml file
# pre-commit will automatically update the following pin
requires-python = ">=3.11"
requires-python = ">=3.12"

dynamic = ["version"]

dependencies = [
"dask>=2022.1.0",
"graphviz>=0.20",
"sciline>=25.11.0",
"scipp>=26.3.1",
"scipp>=26.7.0",
"scippneutron>=26.6.0",
"scippnexus>=25.06.0",
"scipy>=1.14",
Expand Down
4 changes: 2 additions & 2 deletions packages/essreflectometry/.copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
_commit: 024a41b
_src_path: gh:scipp/copier_template
description: Reflectometry data reduction for the European Spallation Source
max_python: '3.13'
min_python: '3.11'
max_python: '3.14'
min_python: '3.12'
namespace_package: ess
nightly_deps: plopp,sciline,scippneutron,scippnexus,scipp
orgname: scipp
Expand Down
4 changes: 2 additions & 2 deletions packages/essreflectometry/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
requires-python = ">=3.11"
requires-python = ">=3.12"

# IMPORTANT:
# Run 'tox -e deps' after making changes here. This will update requirement files.
Expand Down
4 changes: 2 additions & 2 deletions packages/esssans/.copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
_commit: 7e41523
_src_path: gh:scipp/copier_template
description: SANS data reduction for the European Spallation Source
max_python: '3.13'
min_python: '3.11'
max_python: '3.14'
min_python: '3.12'
namespace_package: ess
nightly_deps: plopp,sciline,scippneutron,scippnexus,scipp,essreduce
orgname: scipp
Expand Down
4 changes: 2 additions & 2 deletions packages/esssans/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
# The min python version should be updated in the root pixi.toml file
# pre-commit will automatically update the following pin
requires-python = ">=3.11"
requires-python = ">=3.12"

dynamic = ["version"]

Expand Down
4 changes: 2 additions & 2 deletions packages/essspectroscopy/.copier-answers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
_commit: 024a41b
_src_path: gh:scipp/copier_template
description: 'Spectroscopy data reduction for the European Spallation Source '
max_python: '3.13'
min_python: '3.11'
max_python: '3.14'
min_python: '3.12'
namespace_package: ess
nightly_deps: scipp,scippneutron,sciline,plopp,scippnexus,essreduce
orgname: scipp
Expand Down
4 changes: 2 additions & 2 deletions packages/essspectroscopy/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
requires-python = ">=3.11"
requires-python = ">=3.12"

# IMPORTANT:
# Run 'tox -e deps' after making changes here. This will update requirement files.
Expand Down
Loading
Loading