From 68fb4b0fd47368aedd99e0817274a4418b9b5958 Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Fri, 3 Oct 2025 11:08:02 +0200 Subject: [PATCH 1/2] apply copier update --- .copier-answers.yml | 4 +- .../workflows/nightly_at_main_lower_bound.yml | 37 +++++++++++++++++++ .github/workflows/python-version-ci | 2 +- .github/workflows/release.yml | 4 +- .pre-commit-config.yaml | 3 +- .python-version | 2 +- docs/about/index.md | 4 +- docs/conf.py | 7 +++- docs/developer/getting-started.md | 2 +- docs/index.md | 4 +- pyproject.toml | 12 +++--- requirements/docs.in | 2 +- tox.ini | 6 +-- 13 files changed, 67 insertions(+), 22 deletions(-) create mode 100644 .github/workflows/nightly_at_main_lower_bound.yml diff --git a/.copier-answers.yml b/.copier-answers.yml index a51c642..a9b158f 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,9 +1,9 @@ # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY -_commit: d3d4dc7 +_commit: 7e41523 _src_path: gh:scipp/copier_template description: A simple tool to create time-of-flight chopper cascade diagrams max_python: '3.13' -min_python: '3.10' +min_python: '3.11' namespace_package: '' nightly_deps: scipp,plopp orgname: scipp diff --git a/.github/workflows/nightly_at_main_lower_bound.yml b/.github/workflows/nightly_at_main_lower_bound.yml new file mode 100644 index 0000000..c13c3f7 --- /dev/null +++ b/.github/workflows/nightly_at_main_lower_bound.yml @@ -0,0 +1,37 @@ +name: Nightly test using lower bound dependencies + +on: + workflow_dispatch: + schedule: + - cron: '30 1 * * 1-5' + +jobs: + setup: + name: Setup variables + runs-on: 'ubuntu-24.04' + outputs: + min_python: ${{ steps.vars.outputs.min_python }} + steps: + - uses: actions/checkout@v4 + - name: Get Python version for other CI jobs + id: vars + run: echo "min_python=$(< .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT" + + tests: + name: Tests at lower bound + needs: setup + strategy: + matrix: + os: ['ubuntu-24.04'] + python: + - version: '${{needs.setup.outputs.min_python}}' + runs-on: ${{ matrix.os }} + env: + ESS_PROTECTED_FILESTORE_USERNAME: ${{ secrets.ESS_PROTECTED_FILESTORE_USERNAME }} + ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }} + steps: + - uses: actions/checkout@v4 + - uses: astral-sh/setup-uv@v6 + with: + python-version: ${{ matrix.python.version }} + - run: uv run --extra=test --resolution=lowest-direct pytest diff --git a/.github/workflows/python-version-ci b/.github/workflows/python-version-ci index c8cfe39..2c07333 100644 --- a/.github/workflows/python-version-ci +++ b/.github/workflows/python-version-ci @@ -1 +1 @@ -3.10 +3.11 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ac5a03f..4b157ab 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: upload_pypi: name: Deploy PyPI - needs: build_wheels + needs: [build_wheels] runs-on: 'ubuntu-24.04' environment: release permissions: @@ -44,7 +44,7 @@ jobs: - uses: pypa/gh-action-pypi-publish@v1.12.4 docs: - needs: upload_pypi + needs: [upload_pypi] uses: ./.github/workflows/docs.yml with: publish: ${{ github.event_name == 'release' && github.event.action == 'published' }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0f3f9a9..045e4a4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,7 +10,6 @@ repos: - id: check-merge-conflict - id: check-toml - id: check-yaml - exclude: conda/meta.yaml - id: detect-private-key - id: trailing-whitespace args: [ --markdown-linebreak-ext=md ] @@ -36,6 +35,8 @@ repos: - id: codespell additional_dependencies: - tomli + exclude_types: + - svg - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.10.0 hooks: diff --git a/.python-version b/.python-version index c8cfe39..2c07333 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.10 +3.11 diff --git a/docs/about/index.md b/docs/about/index.md index f97cafb..be1fd8c 100644 --- a/docs/about/index.md +++ b/docs/about/index.md @@ -2,11 +2,11 @@ ## Development -Tof is an open source project by the [European Spallation Source ERIC](https://europeanspallationsource.se/) (ESS). +Tof is an open source project by the [European Spallation Source ERIC](https://ess.eu/) (ESS). ## License -Tof is available as open source under the [BSD-3 license](https://opensource.org/licenses/BSD-3-Clause). +Tof is available as open source under the [BSD-3 license](https://opensource.org/license/BSD-3-Clause). ## Citing Tof diff --git a/docs/conf.py b/docs/conf.py index e2dc666..f3b79eb 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -32,6 +32,7 @@ 'sphinx_autodoc_typehints', 'sphinx_copybutton', 'sphinx_design', + 'sphinxcontrib.autodoc_pydantic', 'nbsphinx', 'myst_parser', ] @@ -181,7 +182,7 @@ }, { "name": "Conda", - "url": "https://anaconda.org/scipp/tof", + "url": "https://anaconda.org/conda-forge/tof", "icon": "fa-custom fa-anaconda", "type": "fontawesome", }, @@ -266,4 +267,8 @@ 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/', + r'https?://dx\.doi\.org/', ] diff --git a/docs/developer/getting-started.md b/docs/developer/getting-started.md index a196f56..a766751 100644 --- a/docs/developer/getting-started.md +++ b/docs/developer/getting-started.md @@ -40,7 +40,7 @@ Alternatively, if you want a different workflow, take a look at ``tox.ini`` or ` Run the tests using ```sh -tox -e py310 +tox -e py311 ``` (or just `tox` if you want to run all environments). diff --git a/docs/index.md b/docs/index.md index 9e5a685..6fd8df5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,10 +23,10 @@ # {transparent}`Tof` - +
A simple tool to create time-of-flight chopper cascade diagrams

- +
## ✨ [Try it in your browser](https://scipp.github.io/toflite/lab/index.html?path=app.ipynb) ✨ diff --git a/pyproject.toml b/pyproject.toml index 94429f1..4c72b83 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,28 +1,30 @@ [build-system] -requires = ["setuptools>=68", "setuptools_scm[toml]>=8.0"] +requires = [ + "setuptools>=77", + "setuptools_scm[toml]>=8.0", +] build-backend = "setuptools.build_meta" [project] name = "tof" description = "A simple tool to create time-of-flight chopper cascade diagrams" 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", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering", "Typing :: Typed", ] -requires-python = ">=3.10" +requires-python = ">=3.11" # IMPORTANT: # Run 'tox -e deps' after making changes here. This will update requirement files. diff --git a/requirements/docs.in b/requirements/docs.in index dc4445e..a612dae 100644 --- a/requirements/docs.in +++ b/requirements/docs.in @@ -1,5 +1,5 @@ -r base.in -gitpython +autodoc-pydantic ipykernel ipympl ipywidgets diff --git a/tox.ini b/tox.ini index aa7934b..b63f275 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py310 +envlist = py311 isolated_build = true [testenv] @@ -26,8 +26,8 @@ commands = pytest {posargs} description = invoke sphinx-build to build the HTML docs deps = -r requirements/docs.txt allowlist_externals=find -commands = python -m sphinx -j2 -v -b html -d {toxworkdir}/docs_doctrees docs html - python -m sphinx -j2 -v -b doctest -d {toxworkdir}/docs_doctrees docs html +commands = python -m sphinx -W -j2 -v -b html -d {toxworkdir}/docs_doctrees docs html + python -m sphinx -W -j2 -v -b doctest -d {toxworkdir}/docs_doctrees docs html find html -type f -name "*.ipynb" -not -path "html/_sources/*" -delete [testenv:releasedocs] From d7864fc3e941fc8d585fb03badb97852c68440cf Mon Sep 17 00:00:00 2001 From: Neil Vaytet Date: Tue, 7 Oct 2025 08:32:14 +0200 Subject: [PATCH 2/2] update deps --- requirements/base.txt | 20 ++++---- requirements/basetest.txt | 10 ++-- requirements/ci.txt | 32 +++++------- requirements/dev.txt | 50 ++++++++---------- requirements/docs.txt | 103 +++++++++++++++++++++----------------- requirements/mypy.txt | 6 ++- requirements/nightly.txt | 26 +++++----- requirements/static.txt | 14 +++--- requirements/test.txt | 10 ++-- requirements/wheels.txt | 4 +- 10 files changed, 135 insertions(+), 140 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 0e57824..bddf3e2 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -5,21 +5,21 @@ # # requirements upgrade # -contourpy==1.3.2 +contourpy==1.3.3 # via matplotlib cycler==0.12.1 # via matplotlib -fonttools==4.57.0 +fonttools==4.60.1 # via matplotlib -kiwisolver==1.4.8 +kiwisolver==1.4.9 # via matplotlib lazy-loader==0.4 # via # -r base.in # plopp -matplotlib==3.10.1 +matplotlib==3.10.6 # via plopp -numpy==2.2.5 +numpy==2.3.3 # via # contourpy # matplotlib @@ -29,17 +29,17 @@ packaging==25.0 # via # lazy-loader # matplotlib -pillow==11.2.1 +pillow==11.3.0 # via matplotlib -plopp==25.4.1 +plopp==25.9.0 # via -r base.in -pyparsing==3.2.3 +pyparsing==3.2.5 # via matplotlib python-dateutil==2.9.0.post0 # via matplotlib -scipp==25.5.1 +scipp==25.8.0 # via -r base.in -scipy==1.15.2 +scipy==1.16.2 # via -r base.in six==1.17.0 # via python-dateutil diff --git a/requirements/basetest.txt b/requirements/basetest.txt index a645354..46d1e9b 100644 --- a/requirements/basetest.txt +++ b/requirements/basetest.txt @@ -5,15 +5,13 @@ # # requirements upgrade # -exceptiongroup==1.2.2 - # via pytest iniconfig==2.1.0 # via pytest packaging==25.0 # via pytest -pluggy==1.5.0 +pluggy==1.6.0 # via pytest -pytest==8.3.5 - # via -r basetest.in -tomli==2.2.1 +pygments==2.19.2 # via pytest +pytest==8.4.2 + # via -r basetest.in diff --git a/requirements/ci.txt b/requirements/ci.txt index 4cfa93a..8ab2e8f 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -5,25 +5,25 @@ # # requirements upgrade # -cachetools==5.5.2 +cachetools==6.2.0 # via tox -certifi==2025.4.26 +certifi==2025.8.3 # via requests chardet==5.2.0 # via tox -charset-normalizer==3.4.1 +charset-normalizer==3.4.3 # via requests colorama==0.4.6 # via tox -distlib==0.3.9 +distlib==0.4.0 # via virtualenv -filelock==3.18.0 +filelock==3.19.1 # via # tox # virtualenv gitdb==4.0.12 # via gitpython -gitpython==3.1.44 +gitpython==3.1.45 # via -r ci.in idna==3.10 # via requests @@ -31,27 +31,21 @@ packaging==25.0 # via # pyproject-api # tox -platformdirs==4.3.7 +platformdirs==4.4.0 # via # tox # virtualenv -pluggy==1.5.0 +pluggy==1.6.0 # via tox -pyproject-api==1.9.0 +pyproject-api==1.9.1 # via tox -requests==2.32.3 +requests==2.32.5 # via -r ci.in smmap==5.0.2 # via gitdb -tomli==2.2.1 - # via - # pyproject-api - # tox -tox==4.25.0 +tox==4.30.3 # via -r ci.in -typing-extensions==4.13.2 - # via tox -urllib3==2.4.0 +urllib3==2.5.0 # via requests -virtualenv==20.30.0 +virtualenv==20.34.0 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index b038015..7787cf9 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -12,29 +12,27 @@ -r static.txt -r test.txt -r wheels.txt -annotated-types==0.7.0 - # via pydantic -anyio==4.9.0 +anyio==4.11.0 # via # httpx # jupyter-server -argon2-cffi==23.1.0 +argon2-cffi==25.1.0 # via jupyter-server -argon2-cffi-bindings==21.2.0 +argon2-cffi-bindings==25.1.0 # via argon2-cffi arrow==1.3.0 # via isoduration async-lru==2.0.5 # via jupyterlab -cffi==1.17.1 +cffi==2.0.0 # via argon2-cffi-bindings -click==8.1.8 +click==8.3.0 # via # pip-compile-multi # pip-tools -copier==9.7.1 +copier==9.10.2 # via -r dev.in -dunamai==1.23.1 +dunamai==1.25.0 # via copier fqdn==1.5.1 # via jsonschema @@ -50,20 +48,20 @@ isoduration==20.11.0 # via jsonschema jinja2-ansible-filters==1.3.2 # via copier -json5==0.12.0 +json5==0.12.1 # via jupyterlab-server jsonpointer==3.0.0 # via jsonschema -jsonschema[format-nongpl]==4.23.0 +jsonschema[format-nongpl]==4.25.1 # via # jupyter-events # jupyterlab-server # nbformat jupyter-events==0.12.0 # via jupyter-server -jupyter-lsp==2.2.5 +jupyter-lsp==2.3.0 # via jupyterlab -jupyter-server==2.15.0 +jupyter-server==2.17.0 # via # jupyter-lsp # jupyterlab @@ -71,33 +69,29 @@ jupyter-server==2.15.0 # notebook-shim jupyter-server-terminals==0.5.3 # via jupyter-server -jupyterlab==4.4.1 +jupyterlab==4.4.9 # via -r dev.in jupyterlab-server==2.27.3 # via jupyterlab +lark==1.3.0 + # via rfc3987-syntax notebook-shim==0.2.4 # via jupyterlab overrides==7.7.0 # via jupyter-server -pathspec==0.12.1 - # via copier -pip-compile-multi==3.0.0 +pip-compile-multi==3.2.2 # via -r dev.in -pip-tools==7.4.1 +pip-tools==7.5.1 # via pip-compile-multi plumbum==1.9.0 # via copier -prometheus-client==0.21.1 +prometheus-client==0.23.1 # via jupyter-server -pycparser==2.22 +pycparser==2.23 # via cffi -pydantic==2.11.3 - # via copier -pydantic-core==2.33.1 - # via pydantic python-json-logger==3.3.0 # via jupyter-events -questionary==2.1.0 +questionary==2.1.1 # via copier rfc3339-validator==0.1.4 # via @@ -107,6 +101,8 @@ rfc3986-validator==0.1.1 # via # jsonschema # jupyter-events +rfc3987-syntax==1.1.0 + # via jsonschema send2trash==1.8.3 # via jupyter-server sniffio==1.3.1 @@ -117,10 +113,8 @@ terminado==0.18.1 # jupyter-server-terminals toposort==1.10 # via pip-compile-multi -types-python-dateutil==2.9.0.20241206 +types-python-dateutil==2.9.0.20250822 # via arrow -typing-inspection==0.4.0 - # via pydantic uri-template==1.3.0 # via jsonschema webcolors==24.11.1 diff --git a/requirements/docs.txt b/requirements/docs.txt index 9d94136..91c5b27 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,4 +1,4 @@ -# SHA1:2a8960989e9d322f665c9b96396d9bdc32327efa +# SHA1:564b1d9d33c0a47b1cdc1eafabd2cfe5609b6093 # # This file was generated by pip-compile-multi. # To update, run: @@ -10,31 +10,35 @@ accessible-pygments==0.0.5 # via pydata-sphinx-theme alabaster==1.0.0 # via sphinx +annotated-types==0.7.0 + # via pydantic asttokens==3.0.0 # via stack-data attrs==25.3.0 # via # jsonschema # referencing +autodoc-pydantic==2.2.0 + # via -r docs.in babel==2.17.0 # via # pydata-sphinx-theme # sphinx -beautifulsoup4==4.13.4 +beautifulsoup4==4.14.2 # via # nbconvert # pydata-sphinx-theme bleach[css]==6.2.0 # via nbconvert -certifi==2025.4.26 +certifi==2025.8.3 # via requests -charset-normalizer==3.4.1 +charset-normalizer==3.4.3 # via requests -comm==0.2.2 +comm==0.2.3 # via # ipykernel # ipywidgets -debugpy==1.8.14 +debugpy==1.8.17 # via ipykernel decorator==5.2.1 # via ipython @@ -46,30 +50,26 @@ docutils==0.21.2 # nbsphinx # pydata-sphinx-theme # sphinx -exceptiongroup==1.2.2 - # via ipython -executing==2.2.0 +executing==2.2.1 # via stack-data -fastjsonschema==2.21.1 +fastjsonschema==2.21.2 # via nbformat -gitdb==4.0.12 - # via gitpython -gitpython==3.1.44 - # via -r docs.in idna==3.10 # via requests imagesize==1.4.1 # via sphinx -ipykernel==6.29.5 +ipykernel==6.30.1 # via -r docs.in ipympl==0.9.7 # via -r docs.in -ipython==8.36.0 +ipython==9.6.0 # via # ipykernel # ipympl # ipywidgets -ipywidgets==8.1.6 +ipython-pygments-lexers==1.1.1 + # via ipython +ipywidgets==8.1.7 # via # -r docs.in # ipympl @@ -81,15 +81,15 @@ jinja2==3.1.6 # nbconvert # nbsphinx # sphinx -jsonschema==4.23.0 +jsonschema==4.25.1 # via nbformat -jsonschema-specifications==2025.4.1 +jsonschema-specifications==2025.9.1 # via jsonschema jupyter-client==8.6.3 # via # ipykernel # nbclient -jupyter-core==5.7.2 +jupyter-core==5.8.1 # via # ipykernel # jupyter-client @@ -98,13 +98,13 @@ 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 # mdit-py-plugins # myst-parser -markupsafe==3.0.2 +markupsafe==3.0.3 # via # jinja2 # nbconvert @@ -112,11 +112,11 @@ matplotlib-inline==0.1.7 # via # ipykernel # ipython -mdit-py-plugins==0.4.2 +mdit-py-plugins==0.5.0 # via myst-parser mdurl==0.1.2 # via markdown-it-py -mistune==3.1.3 +mistune==3.1.4 # via nbconvert myst-parser==4.0.1 # via -r docs.in @@ -135,32 +135,43 @@ nest-asyncio==1.6.0 # via ipykernel pandocfilters==1.5.1 # via nbconvert -parso==0.8.4 +parso==0.8.5 # via jedi pexpect==4.9.0 # via ipython -platformdirs==4.3.7 +platformdirs==4.4.0 # via jupyter-core -prompt-toolkit==3.0.51 +prompt-toolkit==3.0.52 # via ipython -psutil==7.0.0 +psutil==7.1.0 # via ipykernel ptyprocess==0.7.0 # via pexpect pure-eval==0.2.3 # via stack-data +pydantic==2.11.9 + # via + # autodoc-pydantic + # pydantic-settings +pydantic-core==2.33.2 + # via pydantic +pydantic-settings==2.11.0 + # via autodoc-pydantic pydata-sphinx-theme==0.15.4 # via sphinx-book-theme -pygments==2.19.1 +pygments==2.19.2 # via # accessible-pygments # ipython + # ipython-pygments-lexers # nbconvert # pydata-sphinx-theme # sphinx -pyyaml==6.0.2 +python-dotenv==1.1.1 + # via pydantic-settings +pyyaml==6.0.3 # via myst-parser -pyzmq==26.4.0 +pyzmq==27.1.0 # via # ipykernel # jupyter-client @@ -168,21 +179,20 @@ referencing==0.36.2 # via # jsonschema # jsonschema-specifications -requests==2.32.3 +requests==2.32.5 # via sphinx -rpds-py==0.24.0 +rpds-py==0.27.1 # via # jsonschema # referencing -smmap==5.0.2 - # via gitdb -snowballstemmer==2.2.0 +snowballstemmer==3.0.1 # via sphinx -soupsieve==2.7 +soupsieve==2.8 # via beautifulsoup4 sphinx==8.1.3 # via # -r docs.in + # autodoc-pydantic # myst-parser # nbsphinx # pydata-sphinx-theme @@ -214,15 +224,12 @@ stack-data==0.6.3 # via ipython tinycss2==1.4.0 # via bleach -tomli==2.2.1 - # via sphinx -tornado==6.4.2 +tornado==6.5.2 # via # ipykernel # jupyter-client traitlets==5.14.3 # via - # comm # ipykernel # ipympl # ipython @@ -234,16 +241,22 @@ traitlets==5.14.3 # nbconvert # nbformat # nbsphinx -typing-extensions==4.13.2 +typing-extensions==4.15.0 # via # beautifulsoup4 # ipython - # mistune + # pydantic + # pydantic-core # pydata-sphinx-theme # referencing -urllib3==2.4.0 + # typing-inspection +typing-inspection==0.4.2 + # via + # pydantic + # pydantic-settings +urllib3==2.5.0 # via requests -wcwidth==0.2.13 +wcwidth==0.2.14 # via prompt-toolkit webencodings==0.5.1 # via diff --git a/requirements/mypy.txt b/requirements/mypy.txt index 91cc256..a2b0d1f 100644 --- a/requirements/mypy.txt +++ b/requirements/mypy.txt @@ -6,9 +6,11 @@ # requirements upgrade # -r test.txt -mypy==1.15.0 +mypy==1.18.2 # via -r mypy.in mypy-extensions==1.1.0 # via mypy -typing-extensions==4.13.2 +pathspec==0.12.1 + # via mypy +typing-extensions==4.15.0 # via mypy diff --git a/requirements/nightly.txt b/requirements/nightly.txt index 42149ce..deec3ad 100644 --- a/requirements/nightly.txt +++ b/requirements/nightly.txt @@ -8,25 +8,23 @@ --index-url https://pypi.anaconda.org/scipp-nightly-wheels/simple/ --extra-index-url https://pypi.org/simple -contourpy==1.3.2 +contourpy==1.3.3 # via matplotlib cycler==0.12.1 # via matplotlib -exceptiongroup==1.2.2 - # via pytest -fonttools==4.57.0 +fonttools==4.60.1 # via matplotlib iniconfig==2.1.0 # via pytest -kiwisolver==1.4.8 +kiwisolver==1.4.10rc0 # via matplotlib lazy-loader==0.4 # via # -r nightly.in # plopp -matplotlib==3.10.1 +matplotlib==3.10.6 # via plopp -numpy==2.2.5 +numpy==2.3.3 # via # contourpy # matplotlib @@ -37,23 +35,23 @@ packaging==25.0 # lazy-loader # matplotlib # pytest -pillow==11.2.1 +pillow==11.3.0 # via matplotlib plopp @ git+https://github.com/scipp/plopp@main # via -r nightly.in -pluggy==1.5.0 +pluggy==1.6.0 + # via pytest +pygments==2.19.2 # via pytest -pyparsing==3.2.3 +pyparsing==3.3.0a1 # via matplotlib -pytest==8.3.5 +pytest==8.4.2 # via -r nightly.in python-dateutil==2.9.0.post0 # via matplotlib scipp==100.0.0.dev0 # via -r nightly.in -scipy==1.15.2 +scipy==1.16.2 # via -r nightly.in six==1.17.0 # via python-dateutil -tomli==2.2.1 - # via pytest diff --git a/requirements/static.txt b/requirements/static.txt index 13cb705..1c80de1 100644 --- a/requirements/static.txt +++ b/requirements/static.txt @@ -7,19 +7,19 @@ # cfgv==3.4.0 # via pre-commit -distlib==0.3.9 +distlib==0.4.0 # via virtualenv -filelock==3.18.0 +filelock==3.19.1 # via virtualenv -identify==2.6.10 +identify==2.6.15 # via pre-commit nodeenv==1.9.1 # via pre-commit -platformdirs==4.3.7 +platformdirs==4.4.0 # via virtualenv -pre-commit==4.2.0 +pre-commit==4.3.0 # via -r static.in -pyyaml==6.0.2 +pyyaml==6.0.3 # via pre-commit -virtualenv==20.30.0 +virtualenv==20.34.0 # via pre-commit diff --git a/requirements/test.txt b/requirements/test.txt index a98f19a..3c311ef 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -6,13 +6,11 @@ # requirements upgrade # -r base.txt -exceptiongroup==1.2.2 - # via pytest iniconfig==2.1.0 # via pytest -pluggy==1.5.0 +pluggy==1.6.0 # via pytest -pytest==8.3.5 - # via -r test.in -tomli==2.2.1 +pygments==2.19.2 # via pytest +pytest==8.4.2 + # via -r test.in diff --git a/requirements/wheels.txt b/requirements/wheels.txt index 651191e..3558aae 100644 --- a/requirements/wheels.txt +++ b/requirements/wheels.txt @@ -5,11 +5,9 @@ # # requirements upgrade # -build==1.2.2.post1 +build==1.3.0 # via -r wheels.in packaging==25.0 # via build pyproject-hooks==1.2.0 # via build -tomli==2.2.1 - # via build