diff --git a/.copier-answers.yml b/.copier-answers.yml index 20883544..a135d31c 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY -_commit: d3d4dc7 +_commit: 3f79959 _src_path: gh:scipp/copier_template description: Reflectometry data reduction for the European Spallation Source max_python: '3.13' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0f3f9a95..d9053bd4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,14 +16,14 @@ repos: args: [ --markdown-linebreak-ext=md ] exclude: '\.svg' - repo: https://github.com/kynan/nbstripout - rev: 0.7.1 + rev: 0.8.1 hooks: - id: nbstripout types: [ "jupyter" ] args: [ "--drop-empty-cells", "--extra-keys 'metadata.language_info.version cell.metadata.jp-MarkdownHeadingCollapsed cell.metadata.pycharm'" ] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.0 + rev: v0.11.8 hooks: - id: ruff args: [ --fix ] @@ -31,7 +31,7 @@ repos: - id: ruff-format types_or: [ python, pyi ] - repo: https://github.com/codespell-project/codespell - rev: v2.3.0 + rev: v2.4.1 hooks: - id: codespell additional_dependencies: @@ -47,7 +47,7 @@ repos: - id: rst-inline-touching-normal - id: text-unicode-replacement-char - repo: https://github.com/rhysd/actionlint - rev: v1.7.3 + rev: v1.7.7 hooks: - id: actionlint # Disable because of false-positive SC2046 diff --git a/.python-version b/.python-version new file mode 100644 index 00000000..c8cfe395 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.10 diff --git a/docs/conf.py b/docs/conf.py index 591fb29c..e190fc9d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -264,6 +264,9 @@ def do_not_plot(*args, **kwargs): linkcheck_ignore = [ # Specific lines in Github blobs cannot be found by linkcheck. r'https?://github\.com/.*?/blob/[a-f0-9]+/.+?#', + # Linkcheck seems to be denied access by some DOI resolvers. + # Since DOIs are supposed to be permanent, we don't need to check them.' + r'https://doi\.org/', ] # -- Options for Matplotlib in notebooks ---------------------------------- diff --git a/docs/index.md b/docs/index.md index 5b26ac3c..a5b34110 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,10 +23,10 @@ # {transparent}`ESSreflectometry` - +
Reflectometry data reduction for the European Spallation Source

- +
## Overview diff --git a/pyproject.toml b/pyproject.toml index 80848da4..bdd34707 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "setuptools>=68", + "setuptools>=77", "setuptools_scm[toml]>=8.0", ] build-backend = "setuptools.build_meta" @@ -9,11 +9,11 @@ build-backend = "setuptools.build_meta" name = "essreflectometry" description = "Reflectometry data reduction for the European Spallation Source" authors = [{ name = "Scipp contributors" }] -license = { file = "LICENSE" } +license = "BSD-3-Clause" +license-files = ["LICENSE"] readme = "README.md" classifiers = [ "Intended Audience :: Science/Research", - "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", diff --git a/requirements/base.txt b/requirements/base.txt index f56f5b0f..e8f9f7ba 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -23,7 +23,7 @@ dnspython==2.7.0 # via email-validator email-validator==2.2.0 # via scippneutron -essreduce==25.4.1 +essreduce==25.5.0 # via -r base.in fonttools==4.57.0 # via matplotlib @@ -47,7 +47,7 @@ lazy-loader==0.4 # scippneutron locket==1.0.0 # via partd -matplotlib==3.10.1 +matplotlib==3.10.3 # via # mpltoolbox # plopp @@ -110,7 +110,7 @@ scipp==25.5.0 # essreduce # scippneutron # scippnexus -scippneutron==25.2.1 +scippneutron==25.5.0 # via # -r base.in # essreduce @@ -119,7 +119,7 @@ scippnexus==25.4.0 # -r base.in # essreduce # scippneutron -scipy==1.15.2 +scipy==1.15.3 # via # scippneutron # scippnexus diff --git a/requirements/basetest.txt b/requirements/basetest.txt index bec1ee21..9cba074a 100644 --- a/requirements/basetest.txt +++ b/requirements/basetest.txt @@ -19,7 +19,7 @@ packaging==25.0 # via # pooch # pytest -platformdirs==4.3.7 +platformdirs==4.3.8 # via pooch pluggy==1.5.0 # via pytest diff --git a/requirements/ci.txt b/requirements/ci.txt index 932e7305..9484b0ef 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -32,7 +32,7 @@ packaging==25.0 # -r ci.in # pyproject-api # tox -platformdirs==4.3.7 +platformdirs==4.3.8 # via # tox # virtualenv @@ -54,5 +54,5 @@ typing-extensions==4.13.2 # via tox urllib3==2.4.0 # via requests -virtualenv==20.30.0 +virtualenv==20.31.2 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 137ca11b..5e1b5861 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -28,7 +28,7 @@ cffi==1.17.1 # via argon2-cffi-bindings copier==9.7.1 # via -r dev.in -dunamai==1.23.1 +dunamai==1.24.0 # via copier fqdn==1.5.1 # via jsonschema @@ -65,7 +65,7 @@ jupyter-server==2.15.0 # notebook-shim jupyter-server-terminals==0.5.3 # via jupyter-server -jupyterlab==4.4.1 +jupyterlab==4.4.2 # via -r dev.in jupyterlab-server==2.27.3 # via jupyterlab diff --git a/requirements/docs.txt b/requirements/docs.txt index 770c8f71..fc05c6ec 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -72,7 +72,7 @@ ipython==8.36.0 # ipywidgets ipytree==0.2.2 # via -r docs.in -ipywidgets==8.1.6 +ipywidgets==8.1.7 # via # -r docs.in # bqplot @@ -104,7 +104,7 @@ jupyter-core==5.7.2 # nbformat jupyterlab-pygments==0.3.0 # via nbconvert -jupyterlab-widgets==3.0.14 +jupyterlab-widgets==3.0.15 # via ipywidgets markdown-it-py==3.0.0 # via @@ -145,7 +145,7 @@ parso==0.8.4 # via jedi pexpect==4.9.0 # via ipython -platformdirs==4.3.7 +platformdirs==4.3.8 # via # jupyter-core # pooch @@ -186,7 +186,7 @@ rpds-py==0.24.0 # via # jsonschema # referencing -snowballstemmer==2.2.0 +snowballstemmer==3.0.0.1 # via sphinx soupsieve==2.7 # via beautifulsoup4 diff --git a/requirements/nightly.txt b/requirements/nightly.txt index 6f2b4803..4e99640a 100644 --- a/requirements/nightly.txt +++ b/requirements/nightly.txt @@ -30,7 +30,7 @@ dnspython==2.7.0 # via email-validator email-validator==2.2.0 # via scippneutron -essreduce==25.4.1 +essreduce==25.5.0 # via -r nightly.in exceptiongroup==1.2.2 # via pytest @@ -60,7 +60,7 @@ lazy-loader==0.4 # scippneutron locket==1.0.0 # via partd -matplotlib==3.10.1 +matplotlib==3.10.3 # via # mpltoolbox # plopp @@ -92,7 +92,7 @@ partd==1.4.2 # via dask pillow==11.2.1 # via matplotlib -platformdirs==4.3.7 +platformdirs==4.3.8 # via pooch plopp @ git+https://github.com/scipp/plopp@main # via @@ -144,7 +144,7 @@ scippnexus @ git+https://github.com/scipp/scippnexus@main # -r nightly.in # essreduce # scippneutron -scipy==1.15.2 +scipy==1.15.3 # via # scippneutron # scippnexus diff --git a/requirements/static.txt b/requirements/static.txt index 13cb7054..b2c56f97 100644 --- a/requirements/static.txt +++ b/requirements/static.txt @@ -15,11 +15,11 @@ identify==2.6.10 # via pre-commit nodeenv==1.9.1 # via pre-commit -platformdirs==4.3.7 +platformdirs==4.3.8 # via virtualenv pre-commit==4.2.0 # via -r static.in pyyaml==6.0.2 # via pre-commit -virtualenv==20.30.0 +virtualenv==20.31.2 # via pre-commit diff --git a/src/ess/offspec/conversions.py b/src/ess/offspec/conversions.py index 7b29ec31..5534e8cf 100644 --- a/src/ess/offspec/conversions.py +++ b/src/ess/offspec/conversions.py @@ -16,9 +16,9 @@ def coordinate_transformation_graph_sample() -> CoordTransformationGraph[SampleR } -def coordinate_transformation_graph_reference() -> ( - CoordTransformationGraph[ReferenceRun] -): +def coordinate_transformation_graph_reference() -> CoordTransformationGraph[ + ReferenceRun +]: return { **beamline.beamline(scatter=False), **tof.elastic_wavelength("tof"), diff --git a/src/ess/reflectometry/tools.py b/src/ess/reflectometry/tools.py index 6302824e..3409789d 100644 --- a/src/ess/reflectometry/tools.py +++ b/src/ess/reflectometry/tools.py @@ -84,8 +84,7 @@ def linlogspace( num = [num] if len(scale) != len(edges) - 1: raise ValueError( - "Sizes do not match. The length of edges should be one " - "greater than scale." + "Sizes do not match. The length of edges should be one greater than scale." ) funcs = {"linear": sc.linspace, "log": sc.geomspace}