diff --git a/.constraints/py3.10.txt b/.constraints/py3.10.txt index de5eee73..3e2a7f1c 100644 --- a/.constraints/py3.10.txt +++ b/.constraints/py3.10.txt @@ -1,13 +1,9 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.10.txt --strip-extras --unsafe-package=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools -# +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o .constraints/py3.10.txt --all-extras --no-annotate --python-version=3.10 --no-emit-package setuptools accessible-pygments==0.0.4 alabaster==0.7.16 annotated-types==0.6.0 -anyio==4.2.0 +anyio==4.3.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 @@ -15,12 +11,12 @@ asttokens==2.4.1 async-lru==2.0.4 attrs==23.2.0 babel==2.14.0 -beautifulsoup4==4.12.2 -black==23.12.1 +beautifulsoup4==4.12.3 +black==24.2.0 bleach==6.1.0 -cachetools==5.3.2 +cachetools==5.3.3 cattrs==23.2.3 -certifi==2023.11.17 +certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 @@ -29,16 +25,16 @@ click==8.1.7 colorama==0.4.6 comm==0.2.1 contourpy==1.2.0 -coverage==7.4.0 -cryptography==41.0.7 +coverage==7.4.3 +cryptography==42.0.5 cycler==0.12.1 dataproperty==1.0.1 -debugpy==1.8.0 +debugpy==1.8.1 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.8 -docstring-to-markdown==0.13 +docstring-to-markdown==0.15 docutils==0.20.1 dominate==2.9.1 exceptiongroup==1.2.0 @@ -47,26 +43,29 @@ executing==2.0.1 fastjsonschema==2.19.1 feynman==2.1.0 filelock==3.13.1 -fonttools==4.47.2 +fonttools==4.49.0 fqdn==1.5.1 gitdb==4.0.11 -gitpython==3.1.41 +gitpython==3.1.42 greenlet==3.0.3 -identify==2.5.33 +h11==0.14.0 +httpcore==1.0.4 +httpx==0.27.0 +identify==2.5.35 idna==3.6 imagesize==1.4.1 -importlib-metadata==7.0.1 +importlib-metadata==7.0.2 iniconfig==2.0.0 -ipykernel==6.28.0 -ipython==8.20.0 -ipywidgets==8.1.1 +ipykernel==6.29.3 +ipython==8.22.2 +ipywidgets==8.1.2 isoduration==20.11.0 isort==5.13.2 jedi==0.19.1 jinja2==3.1.3 -json5==0.9.14 +json5==0.9.22 jsonpointer==2.4 -jsonschema==4.20.0 +jsonschema==4.21.1 jsonschema-specifications==2023.12.1 jupyter==1.0.0 jupyter-cache==1.0.0 @@ -74,25 +73,25 @@ jupyter-client==8.6.0 jupyter-console==6.6.3 jupyter-core==5.7.1 jupyter-events==0.9.0 -jupyter-lsp==2.2.1 -jupyter-server==2.12.4 +jupyter-lsp==2.2.4 +jupyter-server==2.13.0 jupyter-server-mathjax==0.2.6 -jupyter-server-terminals==0.5.1 -jupyterlab==4.0.10 +jupyter-server-terminals==0.5.2 +jupyterlab==4.1.4 jupyterlab-code-formatter==2.2.1 jupyterlab-git==0.50.0 -jupyterlab-lsp==5.0.1 -jupyterlab-myst==2.1.0 +jupyterlab-lsp==5.1.0 +jupyterlab-myst==2.3.1 jupyterlab-pygments==0.3.0 -jupyterlab-server==2.25.2 -jupyterlab-widgets==3.0.9 +jupyterlab-server==2.25.3 +jupyterlab-widgets==3.0.10 kiwisolver==1.4.5 -latexcodec==2.0.1 +latexcodec==3.0.0 livereload==2.6.3 lsprotocol==2023.0.1 markdown-it-py==3.0.0 -markupsafe==2.1.3 -matplotlib==3.8.2 +markupsafe==2.1.5 +matplotlib==3.8.3 matplotlib-inline==0.1.6 mbstrdecoder==1.1.3 mdit-py-plugins==0.4.0 @@ -104,93 +103,93 @@ mypy-extensions==1.0.0 myst-nb==1.0.0 myst-parser==2.0.0 nbclient==0.6.8 -nbconvert==7.14.1 +nbconvert==7.16.2 nbdime==4.0.1 nbformat==5.9.2 -nbmake==1.4.6 -nest-asyncio==1.5.8 +nbmake==1.5.3 +nest-asyncio==1.6.0 nodeenv==1.8.0 -notebook==7.0.6 -notebook-shim==0.2.3 -numpy==1.26.3 -overrides==7.4.0 +notebook==7.1.1 +notebook-shim==0.2.4 +numpy==1.26.4 +overrides==7.7.0 packaging==23.2 -pandocfilters==1.5.0 +pandocfilters==1.5.1 parso==0.8.3 pathspec==0.12.1 pathvalidate==3.2.0 pexpect==4.9.0 pillow==10.2.0 -platformdirs==4.1.0 -pluggy==1.3.0 -pre-commit==3.6.0 -prometheus-client==0.19.0 +platformdirs==4.2.0 +pluggy==1.4.0 +pre-commit==3.6.2 +prometheus-client==0.20.0 prompt-toolkit==3.0.43 -psutil==5.9.7 +psutil==5.9.8 ptyprocess==0.7.0 pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydantic==2.5.3 -pydantic-core==2.14.6 -pydata-sphinx-theme==0.15.1 -pygithub==2.1.1 +pydantic==2.6.3 +pydantic-core==2.16.3 +pydata-sphinx-theme==0.15.2 +pygithub==2.2.0 pygments==2.17.2 pyjwt==2.8.0 pynacl==1.5.0 -pyparsing==3.1.1 +pyparsing==3.1.2 pyproject-api==1.6.1 pytablewriter==1.2.0 -pytest==7.4.4 +pytest==8.0.2 pytest-cov==4.1.0 pytest-xdist==3.5.0 -python-dateutil==2.8.2 -python-gitlab==4.3.0 +python-dateutil==2.9.0.post0 +python-gitlab==4.4.0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 -python-lsp-ruff==2.0.2 -python-lsp-server==1.9.0 +python-lsp-ruff==2.2.0 +python-lsp-server==1.10.0 pytoolconfig==1.3.1 -pytz==2023.3.post1 +pytz==2024.1 pyyaml==6.0.1 pyzmq==25.1.2 qtconsole==5.5.1 qtpy==2.4.1 -referencing==0.32.1 +referencing==0.33.0 requests==2.31.0 requests-toolbelt==1.0.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rope==1.11.0 -rpds-py==0.16.2 -ruff==0.1.13 +rope==1.12.0 +rpds-py==0.18.0 +ruff==0.3.1 send2trash==1.8.2 six==1.16.0 smmap==5.0.1 -sniffio==1.3.0 +sniffio==1.3.1 snowballstemmer==2.2.0 soupsieve==2.5 sphinx==7.2.6 sphinx-api-relink==0.0.8 -sphinx-autobuild==2021.3.14 -sphinx-book-theme==1.1.0 +sphinx-autobuild==2024.2.4 +sphinx-book-theme==1.1.2 sphinx-codeautolink==0.15.0 sphinx-comments==0.0.3 sphinx-copybutton==0.5.2 sphinx-design==0.5.0 sphinx-hep-pdgref==0.2.0 sphinx-pybtex-etal-style==0.0.2 -sphinx-thebe==0.3.0 +sphinx-thebe==0.3.1 sphinx-togglebutton==0.3.2 -sphinxcontrib-applehelp==1.0.7 +sphinxcontrib-applehelp==1.0.8 sphinxcontrib-bibtex==2.6.2 -sphinxcontrib-devhelp==1.0.5 -sphinxcontrib-htmlhelp==2.0.4 +sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-htmlhelp==2.0.5 sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.6 -sphinxcontrib-serializinghtml==1.1.9 -sqlalchemy==2.0.25 +sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-serializinghtml==1.1.10 +sqlalchemy==2.0.28 stack-data==0.6.3 sympy==1.12 tabledata==1.3.3 @@ -200,28 +199,27 @@ terminado==0.18.0 tinycss2==1.2.1 tomli==2.0.1 tornado==6.4 -tox==4.12.0 +tox==4.14.1 traitlets==5.14.1 typepy==1.3.2 -types-docutils==0.20.0.20240106 +types-docutils==0.20.0.20240304 types-pkg-resources==0.1.3 types-python-dateutil==2.8.19.20240106 types-pyyaml==6.0.12.12 -types-setuptools==69.0.0.20240106 -typing-extensions==4.9.0 +types-setuptools==69.1.0.20240302 +typing-extensions==4.10.0 ujson==5.9.0 uri-template==1.3.0 -urllib3==2.1.0 -virtualenv==20.25.0 +urllib3==2.2.1 +virtualenv==20.25.1 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.7.0 wheel==0.42.0 -widgetsnbextension==4.0.9 +widgetsnbextension==4.0.10 wrapt==1.16.0 zipp==3.17.0 -# The following packages are considered to be unsafe in a requirements file: -# pwa-pages +# The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.11.txt b/.constraints/py3.11.txt index cdbdb66b..fdf21cb6 100644 --- a/.constraints/py3.11.txt +++ b/.constraints/py3.11.txt @@ -1,13 +1,9 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.11.txt --strip-extras --unsafe-package=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools -# +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o .constraints/py3.11.txt --all-extras --no-annotate --python-version=3.11 --no-emit-package setuptools accessible-pygments==0.0.4 alabaster==0.7.16 annotated-types==0.6.0 -anyio==4.2.0 +anyio==4.3.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 @@ -15,12 +11,12 @@ asttokens==2.4.1 async-lru==2.0.4 attrs==23.2.0 babel==2.14.0 -beautifulsoup4==4.12.2 -black==23.12.1 +beautifulsoup4==4.12.3 +black==24.2.0 bleach==6.1.0 -cachetools==5.3.2 +cachetools==5.3.3 cattrs==23.2.3 -certifi==2023.11.17 +certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 @@ -29,16 +25,16 @@ click==8.1.7 colorama==0.4.6 comm==0.2.1 contourpy==1.2.0 -coverage==7.4.0 -cryptography==41.0.7 +coverage==7.4.3 +cryptography==42.0.5 cycler==0.12.1 dataproperty==1.0.1 -debugpy==1.8.0 +debugpy==1.8.1 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.8 -docstring-to-markdown==0.13 +docstring-to-markdown==0.15 docutils==0.20.1 dominate==2.9.1 execnet==2.0.2 @@ -46,26 +42,29 @@ executing==2.0.1 fastjsonschema==2.19.1 feynman==2.1.0 filelock==3.13.1 -fonttools==4.47.2 +fonttools==4.49.0 fqdn==1.5.1 gitdb==4.0.11 -gitpython==3.1.41 +gitpython==3.1.42 greenlet==3.0.3 -identify==2.5.33 +h11==0.14.0 +httpcore==1.0.4 +httpx==0.27.0 +identify==2.5.35 idna==3.6 imagesize==1.4.1 -importlib-metadata==7.0.1 +importlib-metadata==7.0.2 iniconfig==2.0.0 -ipykernel==6.28.0 -ipython==8.20.0 -ipywidgets==8.1.1 +ipykernel==6.29.3 +ipython==8.22.2 +ipywidgets==8.1.2 isoduration==20.11.0 isort==5.13.2 jedi==0.19.1 jinja2==3.1.3 -json5==0.9.14 +json5==0.9.22 jsonpointer==2.4 -jsonschema==4.20.0 +jsonschema==4.21.1 jsonschema-specifications==2023.12.1 jupyter==1.0.0 jupyter-cache==1.0.0 @@ -73,25 +72,25 @@ jupyter-client==8.6.0 jupyter-console==6.6.3 jupyter-core==5.7.1 jupyter-events==0.9.0 -jupyter-lsp==2.2.1 -jupyter-server==2.12.4 +jupyter-lsp==2.2.4 +jupyter-server==2.13.0 jupyter-server-mathjax==0.2.6 -jupyter-server-terminals==0.5.1 -jupyterlab==4.0.10 +jupyter-server-terminals==0.5.2 +jupyterlab==4.1.4 jupyterlab-code-formatter==2.2.1 jupyterlab-git==0.50.0 -jupyterlab-lsp==5.0.1 -jupyterlab-myst==2.1.0 +jupyterlab-lsp==5.1.0 +jupyterlab-myst==2.3.1 jupyterlab-pygments==0.3.0 -jupyterlab-server==2.25.2 -jupyterlab-widgets==3.0.9 +jupyterlab-server==2.25.3 +jupyterlab-widgets==3.0.10 kiwisolver==1.4.5 -latexcodec==2.0.1 +latexcodec==3.0.0 livereload==2.6.3 lsprotocol==2023.0.1 markdown-it-py==3.0.0 -markupsafe==2.1.3 -matplotlib==3.8.2 +markupsafe==2.1.5 +matplotlib==3.8.3 matplotlib-inline==0.1.6 mbstrdecoder==1.1.3 mdit-py-plugins==0.4.0 @@ -103,93 +102,93 @@ mypy-extensions==1.0.0 myst-nb==1.0.0 myst-parser==2.0.0 nbclient==0.6.8 -nbconvert==7.14.1 +nbconvert==7.16.2 nbdime==4.0.1 nbformat==5.9.2 -nbmake==1.4.6 -nest-asyncio==1.5.8 +nbmake==1.5.3 +nest-asyncio==1.6.0 nodeenv==1.8.0 -notebook==7.0.6 -notebook-shim==0.2.3 -numpy==1.26.3 -overrides==7.4.0 +notebook==7.1.1 +notebook-shim==0.2.4 +numpy==1.26.4 +overrides==7.7.0 packaging==23.2 -pandocfilters==1.5.0 +pandocfilters==1.5.1 parso==0.8.3 pathspec==0.12.1 pathvalidate==3.2.0 pexpect==4.9.0 pillow==10.2.0 -platformdirs==4.1.0 -pluggy==1.3.0 -pre-commit==3.6.0 -prometheus-client==0.19.0 +platformdirs==4.2.0 +pluggy==1.4.0 +pre-commit==3.6.2 +prometheus-client==0.20.0 prompt-toolkit==3.0.43 -psutil==5.9.7 +psutil==5.9.8 ptyprocess==0.7.0 pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydantic==2.5.3 -pydantic-core==2.14.6 -pydata-sphinx-theme==0.15.1 -pygithub==2.1.1 +pydantic==2.6.3 +pydantic-core==2.16.3 +pydata-sphinx-theme==0.15.2 +pygithub==2.2.0 pygments==2.17.2 pyjwt==2.8.0 pynacl==1.5.0 -pyparsing==3.1.1 +pyparsing==3.1.2 pyproject-api==1.6.1 pytablewriter==1.2.0 -pytest==7.4.4 +pytest==8.0.2 pytest-cov==4.1.0 pytest-xdist==3.5.0 -python-dateutil==2.8.2 -python-gitlab==4.3.0 +python-dateutil==2.9.0.post0 +python-gitlab==4.4.0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 -python-lsp-ruff==2.0.2 -python-lsp-server==1.9.0 +python-lsp-ruff==2.2.0 +python-lsp-server==1.10.0 pytoolconfig==1.3.1 -pytz==2023.3.post1 +pytz==2024.1 pyyaml==6.0.1 pyzmq==25.1.2 qtconsole==5.5.1 qtpy==2.4.1 -referencing==0.32.1 +referencing==0.33.0 requests==2.31.0 requests-toolbelt==1.0.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rope==1.11.0 -rpds-py==0.16.2 -ruff==0.1.13 +rope==1.12.0 +rpds-py==0.18.0 +ruff==0.3.1 send2trash==1.8.2 six==1.16.0 smmap==5.0.1 -sniffio==1.3.0 +sniffio==1.3.1 snowballstemmer==2.2.0 soupsieve==2.5 sphinx==7.2.6 sphinx-api-relink==0.0.8 -sphinx-autobuild==2021.3.14 -sphinx-book-theme==1.1.0 +sphinx-autobuild==2024.2.4 +sphinx-book-theme==1.1.2 sphinx-codeautolink==0.15.0 sphinx-comments==0.0.3 sphinx-copybutton==0.5.2 sphinx-design==0.5.0 sphinx-hep-pdgref==0.2.0 sphinx-pybtex-etal-style==0.0.2 -sphinx-thebe==0.3.0 +sphinx-thebe==0.3.1 sphinx-togglebutton==0.3.2 -sphinxcontrib-applehelp==1.0.7 +sphinxcontrib-applehelp==1.0.8 sphinxcontrib-bibtex==2.6.2 -sphinxcontrib-devhelp==1.0.5 -sphinxcontrib-htmlhelp==2.0.4 +sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-htmlhelp==2.0.5 sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.6 -sphinxcontrib-serializinghtml==1.1.9 -sqlalchemy==2.0.25 +sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-serializinghtml==1.1.10 +sqlalchemy==2.0.28 stack-data==0.6.3 sympy==1.12 tabledata==1.3.3 @@ -198,28 +197,27 @@ tcolorpy==0.1.4 terminado==0.18.0 tinycss2==1.2.1 tornado==6.4 -tox==4.12.0 +tox==4.14.1 traitlets==5.14.1 typepy==1.3.2 -types-docutils==0.20.0.20240106 +types-docutils==0.20.0.20240304 types-pkg-resources==0.1.3 types-python-dateutil==2.8.19.20240106 types-pyyaml==6.0.12.12 -types-setuptools==69.0.0.20240106 -typing-extensions==4.9.0 +types-setuptools==69.1.0.20240302 +typing-extensions==4.10.0 ujson==5.9.0 uri-template==1.3.0 -urllib3==2.1.0 -virtualenv==20.25.0 +urllib3==2.2.1 +virtualenv==20.25.1 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.7.0 wheel==0.42.0 -widgetsnbextension==4.0.9 +widgetsnbextension==4.0.10 wrapt==1.16.0 zipp==3.17.0 -# The following packages are considered to be unsafe in a requirements file: -# pwa-pages +# The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.12.txt b/.constraints/py3.12.txt index 70b11715..4d7360bf 100644 --- a/.constraints/py3.12.txt +++ b/.constraints/py3.12.txt @@ -1,13 +1,9 @@ -# -# This file is autogenerated by pip-compile with Python 3.12 -# by the following command: -# -# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.12.txt --strip-extras --unsafe-package=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools -# +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o .constraints/py3.12.txt --all-extras --no-annotate --python-version=3.12 --no-emit-package setuptools accessible-pygments==0.0.4 alabaster==0.7.16 annotated-types==0.6.0 -anyio==4.2.0 +anyio==4.3.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 @@ -15,12 +11,12 @@ asttokens==2.4.1 async-lru==2.0.4 attrs==23.2.0 babel==2.14.0 -beautifulsoup4==4.12.2 -black==23.12.1 +beautifulsoup4==4.12.3 +black==24.2.0 bleach==6.1.0 -cachetools==5.3.2 +cachetools==5.3.3 cattrs==23.2.3 -certifi==2023.11.17 +certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 @@ -29,16 +25,16 @@ click==8.1.7 colorama==0.4.6 comm==0.2.1 contourpy==1.2.0 -coverage==7.4.0 -cryptography==41.0.7 +coverage==7.4.3 +cryptography==42.0.5 cycler==0.12.1 dataproperty==1.0.1 -debugpy==1.8.0 +debugpy==1.8.1 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.8 -docstring-to-markdown==0.13 +docstring-to-markdown==0.15 docutils==0.20.1 dominate==2.9.1 execnet==2.0.2 @@ -46,26 +42,29 @@ executing==2.0.1 fastjsonschema==2.19.1 feynman==2.1.0 filelock==3.13.1 -fonttools==4.47.2 +fonttools==4.49.0 fqdn==1.5.1 gitdb==4.0.11 -gitpython==3.1.41 +gitpython==3.1.42 greenlet==3.0.3 -identify==2.5.33 +h11==0.14.0 +httpcore==1.0.4 +httpx==0.27.0 +identify==2.5.35 idna==3.6 imagesize==1.4.1 -importlib-metadata==7.0.1 +importlib-metadata==7.0.2 iniconfig==2.0.0 -ipykernel==6.28.0 -ipython==8.20.0 -ipywidgets==8.1.1 +ipykernel==6.29.3 +ipython==8.22.2 +ipywidgets==8.1.2 isoduration==20.11.0 isort==5.13.2 jedi==0.19.1 jinja2==3.1.3 -json5==0.9.14 +json5==0.9.22 jsonpointer==2.4 -jsonschema==4.20.0 +jsonschema==4.21.1 jsonschema-specifications==2023.12.1 jupyter==1.0.0 jupyter-cache==1.0.0 @@ -73,25 +72,25 @@ jupyter-client==8.6.0 jupyter-console==6.6.3 jupyter-core==5.7.1 jupyter-events==0.9.0 -jupyter-lsp==2.2.1 -jupyter-server==2.12.4 +jupyter-lsp==2.2.4 +jupyter-server==2.13.0 jupyter-server-mathjax==0.2.6 -jupyter-server-terminals==0.5.1 -jupyterlab==4.0.10 +jupyter-server-terminals==0.5.2 +jupyterlab==4.1.4 jupyterlab-code-formatter==2.2.1 jupyterlab-git==0.50.0 -jupyterlab-lsp==5.0.1 -jupyterlab-myst==2.1.0 +jupyterlab-lsp==5.1.0 +jupyterlab-myst==2.3.1 jupyterlab-pygments==0.3.0 -jupyterlab-server==2.25.2 -jupyterlab-widgets==3.0.9 +jupyterlab-server==2.25.3 +jupyterlab-widgets==3.0.10 kiwisolver==1.4.5 -latexcodec==2.0.1 +latexcodec==3.0.0 livereload==2.6.3 lsprotocol==2023.0.1 markdown-it-py==3.0.0 -markupsafe==2.1.3 -matplotlib==3.8.2 +markupsafe==2.1.5 +matplotlib==3.8.3 matplotlib-inline==0.1.6 mbstrdecoder==1.1.3 mdit-py-plugins==0.4.0 @@ -103,93 +102,93 @@ mypy-extensions==1.0.0 myst-nb==1.0.0 myst-parser==2.0.0 nbclient==0.6.8 -nbconvert==7.14.1 +nbconvert==7.16.2 nbdime==4.0.1 nbformat==5.9.2 -nbmake==1.4.6 -nest-asyncio==1.5.8 +nbmake==1.5.3 +nest-asyncio==1.6.0 nodeenv==1.8.0 -notebook==7.0.6 -notebook-shim==0.2.3 -numpy==1.26.3 -overrides==7.4.0 +notebook==7.1.1 +notebook-shim==0.2.4 +numpy==1.26.4 +overrides==7.7.0 packaging==23.2 -pandocfilters==1.5.0 +pandocfilters==1.5.1 parso==0.8.3 pathspec==0.12.1 pathvalidate==3.2.0 pexpect==4.9.0 pillow==10.2.0 -platformdirs==4.1.0 -pluggy==1.3.0 -pre-commit==3.6.0 -prometheus-client==0.19.0 +platformdirs==4.2.0 +pluggy==1.4.0 +pre-commit==3.6.2 +prometheus-client==0.20.0 prompt-toolkit==3.0.43 -psutil==5.9.7 +psutil==5.9.8 ptyprocess==0.7.0 pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydantic==2.5.3 -pydantic-core==2.14.6 -pydata-sphinx-theme==0.15.1 -pygithub==2.1.1 +pydantic==2.6.3 +pydantic-core==2.16.3 +pydata-sphinx-theme==0.15.2 +pygithub==2.2.0 pygments==2.17.2 pyjwt==2.8.0 pynacl==1.5.0 -pyparsing==3.1.1 +pyparsing==3.1.2 pyproject-api==1.6.1 pytablewriter==1.2.0 -pytest==7.4.4 +pytest==8.0.2 pytest-cov==4.1.0 pytest-xdist==3.5.0 -python-dateutil==2.8.2 -python-gitlab==4.3.0 +python-dateutil==2.9.0.post0 +python-gitlab==4.4.0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 -python-lsp-ruff==2.0.2 -python-lsp-server==1.9.0 +python-lsp-ruff==2.2.0 +python-lsp-server==1.10.0 pytoolconfig==1.3.1 -pytz==2023.3.post1 +pytz==2024.1 pyyaml==6.0.1 pyzmq==25.1.2 qtconsole==5.5.1 qtpy==2.4.1 -referencing==0.32.1 +referencing==0.33.0 requests==2.31.0 requests-toolbelt==1.0.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rope==1.11.0 -rpds-py==0.16.2 -ruff==0.1.13 +rope==1.12.0 +rpds-py==0.18.0 +ruff==0.3.1 send2trash==1.8.2 six==1.16.0 smmap==5.0.1 -sniffio==1.3.0 +sniffio==1.3.1 snowballstemmer==2.2.0 soupsieve==2.5 sphinx==7.2.6 sphinx-api-relink==0.0.8 -sphinx-autobuild==2021.3.14 -sphinx-book-theme==1.1.0 +sphinx-autobuild==2024.2.4 +sphinx-book-theme==1.1.2 sphinx-codeautolink==0.15.0 sphinx-comments==0.0.3 sphinx-copybutton==0.5.2 sphinx-design==0.5.0 sphinx-hep-pdgref==0.2.0 sphinx-pybtex-etal-style==0.0.2 -sphinx-thebe==0.3.0 +sphinx-thebe==0.3.1 sphinx-togglebutton==0.3.2 -sphinxcontrib-applehelp==1.0.7 +sphinxcontrib-applehelp==1.0.8 sphinxcontrib-bibtex==2.6.2 -sphinxcontrib-devhelp==1.0.5 -sphinxcontrib-htmlhelp==2.0.4 +sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-htmlhelp==2.0.5 sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.6 -sphinxcontrib-serializinghtml==1.1.9 -sqlalchemy==2.0.25 +sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-serializinghtml==1.1.10 +sqlalchemy==2.0.28 stack-data==0.6.3 sympy==1.12 tabledata==1.3.3 @@ -198,28 +197,27 @@ tcolorpy==0.1.4 terminado==0.18.0 tinycss2==1.2.1 tornado==6.4 -tox==4.12.0 +tox==4.14.1 traitlets==5.14.1 typepy==1.3.2 -types-docutils==0.20.0.20240106 +types-docutils==0.20.0.20240304 types-pkg-resources==0.1.3 types-python-dateutil==2.8.19.20240106 types-pyyaml==6.0.12.12 -types-setuptools==69.0.0.20240106 -typing-extensions==4.9.0 +types-setuptools==69.1.0.20240302 +typing-extensions==4.10.0 ujson==5.9.0 uri-template==1.3.0 -urllib3==2.1.0 -virtualenv==20.25.0 +urllib3==2.2.1 +virtualenv==20.25.1 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.7.0 wheel==0.42.0 -widgetsnbextension==4.0.9 +widgetsnbextension==4.0.10 wrapt==1.16.0 zipp==3.17.0 -# The following packages are considered to be unsafe in a requirements file: -# pwa-pages +# The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.7.txt b/.constraints/py3.7.txt index 7780f8ca..56bb0b19 100644 --- a/.constraints/py3.7.txt +++ b/.constraints/py3.7.txt @@ -1,9 +1,5 @@ -# -# This file is autogenerated by pip-compile with Python 3.7 -# by the following command: -# -# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.7.txt --resolver=backtracking --strip-extras --unsafe-package=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools -# +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o .constraints/py3.7.txt --all-extras --no-annotate --python-version=3.7 --no-emit-package setuptools accessible-pygments==0.0.4 aiofiles==22.1.0 aiosqlite==0.19.0 @@ -15,13 +11,13 @@ arrow==1.2.3 attrs==23.2.0 babel==2.14.0 backcall==0.2.0 -beautifulsoup4==4.12.2 +beautifulsoup4==4.12.3 black==23.3.0 bleach==6.0.0 cached-property==1.5.2 -cachetools==5.3.2 +cachetools==5.3.3 cattrs==23.1.2 -certifi==2023.11.17 +certifi==2024.2.2 cffi==1.15.1 cfgv==3.3.1 chardet==5.2.0 @@ -30,7 +26,7 @@ click==8.1.7 colorama==0.4.6 comm==0.1.4 coverage==7.2.7 -cryptography==41.0.7 +cryptography==42.0.5 cycler==0.11.0 dataproperty==1.0.1 debugpy==1.7.0 @@ -38,7 +34,7 @@ decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.8 -docstring-to-markdown==0.13 +docstring-to-markdown==0.15 docutils==0.17.1 dominate==2.9.1 entrypoints==0.4 @@ -50,7 +46,7 @@ filelock==3.12.2 fonttools==4.38.0 fqdn==1.5.1 gitdb==4.0.11 -gitpython==3.1.41 +gitpython==3.1.42 greenlet==3.0.3 identify==2.5.24 idna==3.6 @@ -61,12 +57,12 @@ iniconfig==2.0.0 ipykernel==6.16.2 ipython==7.34.0 ipython-genutils==0.2.0 -ipywidgets==8.1.1 +ipywidgets==8.1.2 isoduration==20.11.0 isort==5.11.5 jedi==0.18.2 jinja2==3.1.3 -json5==0.9.14 +json5==0.9.16 jsonpointer==2.4 jsonschema==4.17.3 jupyter==1.0.0 @@ -81,20 +77,20 @@ jupyter-server-fileid==0.9.1 jupyter-server-mathjax==0.2.6 jupyter-server-ydoc==0.8.0 jupyter-ydoc==0.2.5 -jupyterlab==3.6.6 +jupyterlab==3.6.7 jupyterlab-code-formatter==2.2.1 jupyterlab-git==0.44.0 jupyterlab-lsp==3.10.2 jupyterlab-myst==1.2.0 jupyterlab-pygments==0.2.2 jupyterlab-server==2.24.0 -jupyterlab-widgets==3.0.9 +jupyterlab-widgets==3.0.10 kiwisolver==1.4.5 -latexcodec==2.0.1 +latexcodec==3.0.0 livereload==2.6.3 lsprotocol==2023.0.1 markdown-it-py==2.2.0 -markupsafe==2.1.3 +markupsafe==2.1.5 matplotlib==3.5.3 matplotlib-inline==0.1.6 mbstrdecoder==1.1.3 @@ -112,13 +108,13 @@ nbconvert==7.6.0 nbdime==3.2.1 nbformat==5.8.0 nbmake==1.3.0 -nest-asyncio==1.5.8 +nest-asyncio==1.6.0 nodeenv==1.8.0 notebook==6.5.6 -notebook-shim==0.2.3 +notebook-shim==0.2.4 numpy==1.21.6 packaging==23.2 -pandocfilters==1.5.0 +pandocfilters==1.5.1 parso==0.8.3 pathspec==0.11.2 pathvalidate==3.2.0 @@ -131,32 +127,32 @@ pluggy==1.2.0 pre-commit==2.21.0 prometheus-client==0.17.1 prompt-toolkit==3.0.43 -psutil==5.9.7 +psutil==5.9.8 ptyprocess==0.7.0 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydantic==1.10.13 +pydantic==1.10.14 pydata-sphinx-theme==0.13.3 -pygithub==2.1.1 +pygithub==2.2.0 pygments==2.17.2 pyjwt==2.8.0 pynacl==1.5.0 -pyparsing==3.1.1 +pyparsing==3.1.2 pyproject-api==1.5.3 pyrsistent==0.19.3 pytablewriter==1.2.0 pytest==7.4.4 pytest-cov==4.1.0 pytest-xdist==3.5.0 -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 python-gitlab==3.15.0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.0.0 python-lsp-ruff==1.6.0 python-lsp-server==1.7.4 pytoolconfig==1.3.0 -pytz==2023.3.post1 +pytz==2024.1 pyyaml==6.0.1 pyzmq==24.0.1 qtconsole==5.4.4 @@ -166,11 +162,11 @@ requests-toolbelt==1.0.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rope==1.9.0 -ruff==0.1.13 +ruff==0.1.15 send2trash==1.8.2 six==1.16.0 smmap==5.0.1 -sniffio==1.3.0 +sniffio==1.3.1 snowballstemmer==2.2.0 soupsieve==2.4.1 sphinx==5.3.0 @@ -192,7 +188,7 @@ sphinxcontrib-htmlhelp==2.0.0 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 -sqlalchemy==1.4.51 +sqlalchemy==1.4.52 sympy==1.10.1 tabledata==1.3.3 tabulate==0.9.0 @@ -214,18 +210,17 @@ typing-extensions==4.7.1 ujson==5.7.0 uri-template==1.3.0 urllib3==2.0.7 -virtualenv==20.25.0 +virtualenv==20.25.1 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.6.1 wheel==0.42.0 -widgetsnbextension==4.0.9 +widgetsnbextension==4.0.10 wrapt==1.16.0 y-py==0.6.2 ypy-websocket==0.8.4 zipp==3.15.0 -# The following packages are considered to be unsafe in a requirements file: -# pwa-pages +# The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.8.txt b/.constraints/py3.8.txt index ec176adc..17701260 100644 --- a/.constraints/py3.8.txt +++ b/.constraints/py3.8.txt @@ -1,13 +1,9 @@ -# -# This file is autogenerated by pip-compile with Python 3.8 -# by the following command: -# -# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.8.txt --strip-extras --unsafe-package=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools -# +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o .constraints/py3.8.txt --all-extras --no-annotate --python-version=3.8 --no-emit-package setuptools accessible-pygments==0.0.4 alabaster==0.7.13 annotated-types==0.6.0 -anyio==4.2.0 +anyio==4.3.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 @@ -16,12 +12,12 @@ async-lru==2.0.4 attrs==23.2.0 babel==2.14.0 backcall==0.2.0 -beautifulsoup4==4.12.2 -black==23.12.1 +beautifulsoup4==4.12.3 +black==24.2.0 bleach==6.1.0 -cachetools==5.3.2 +cachetools==5.3.3 cattrs==23.2.3 -certifi==2023.11.17 +certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 @@ -30,16 +26,16 @@ click==8.1.7 colorama==0.4.6 comm==0.2.1 contourpy==1.1.1 -coverage==7.4.0 -cryptography==41.0.7 +coverage==7.4.3 +cryptography==42.0.5 cycler==0.12.1 dataproperty==1.0.1 -debugpy==1.8.0 +debugpy==1.8.1 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.8 -docstring-to-markdown==0.13 +docstring-to-markdown==0.15 docutils==0.17.1 dominate==2.9.1 exceptiongroup==1.2.0 @@ -48,27 +44,30 @@ executing==2.0.1 fastjsonschema==2.19.1 feynman==2.1.0 filelock==3.13.1 -fonttools==4.47.2 +fonttools==4.49.0 fqdn==1.5.1 gitdb==4.0.11 -gitpython==3.1.41 +gitpython==3.1.42 greenlet==3.0.3 -identify==2.5.33 +h11==0.14.0 +httpcore==1.0.4 +httpx==0.27.0 +identify==2.5.35 idna==3.6 imagesize==1.4.1 -importlib-metadata==7.0.1 -importlib-resources==6.1.1 +importlib-metadata==7.0.2 +importlib-resources==6.1.3 iniconfig==2.0.0 -ipykernel==6.28.0 +ipykernel==6.29.3 ipython==8.12.3 -ipywidgets==8.1.1 +ipywidgets==8.1.2 isoduration==20.11.0 isort==5.13.2 jedi==0.19.1 jinja2==3.1.3 -json5==0.9.14 +json5==0.9.22 jsonpointer==2.4 -jsonschema==4.20.0 +jsonschema==4.21.1 jsonschema-specifications==2023.12.1 jupyter==1.0.0 jupyter-cache==0.6.1 @@ -76,25 +75,25 @@ jupyter-client==8.6.0 jupyter-console==6.6.3 jupyter-core==5.7.1 jupyter-events==0.9.0 -jupyter-lsp==2.2.1 -jupyter-server==2.12.4 +jupyter-lsp==2.2.4 +jupyter-server==2.13.0 jupyter-server-mathjax==0.2.6 -jupyter-server-terminals==0.5.1 -jupyterlab==4.0.10 +jupyter-server-terminals==0.5.2 +jupyterlab==4.1.4 jupyterlab-code-formatter==2.2.1 jupyterlab-git==0.50.0 -jupyterlab-lsp==5.0.1 -jupyterlab-myst==2.1.0 +jupyterlab-lsp==5.1.0 +jupyterlab-myst==2.3.1 jupyterlab-pygments==0.3.0 -jupyterlab-server==2.25.2 -jupyterlab-widgets==3.0.9 +jupyterlab-server==2.25.3 +jupyterlab-widgets==3.0.10 kiwisolver==1.4.5 -latexcodec==2.0.1 +latexcodec==3.0.0 livereload==2.6.3 lsprotocol==2023.0.1 markdown-it-py==2.2.0 -markupsafe==2.1.3 -matplotlib==3.7.4 +markupsafe==2.1.5 +matplotlib==3.7.5 matplotlib-inline==0.1.6 mbstrdecoder==1.1.3 mdit-py-plugins==0.3.5 @@ -106,18 +105,18 @@ mypy-extensions==1.0.0 myst-nb==0.17.2 myst-parser==0.18.1 nbclient==0.6.8 -nbconvert==7.14.1 +nbconvert==7.16.2 nbdime==4.0.1 nbformat==5.9.2 -nbmake==1.4.6 -nest-asyncio==1.5.8 +nbmake==1.5.3 +nest-asyncio==1.6.0 nodeenv==1.8.0 -notebook==7.0.6 -notebook-shim==0.2.3 +notebook==7.1.1 +notebook-shim==0.2.4 numpy==1.24.4 -overrides==7.4.0 +overrides==7.7.0 packaging==23.2 -pandocfilters==1.5.0 +pandocfilters==1.5.1 parso==0.8.3 pathspec==0.12.1 pathvalidate==3.2.0 @@ -125,54 +124,54 @@ pexpect==4.9.0 pickleshare==0.7.5 pillow==10.2.0 pkgutil-resolve-name==1.3.10 -platformdirs==4.1.0 -pluggy==1.3.0 +platformdirs==4.2.0 +pluggy==1.4.0 pre-commit==3.5.0 -prometheus-client==0.19.0 +prometheus-client==0.20.0 prompt-toolkit==3.0.43 -psutil==5.9.7 +psutil==5.9.8 ptyprocess==0.7.0 pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydantic==2.5.3 -pydantic-core==2.14.6 +pydantic==2.6.3 +pydantic-core==2.16.3 pydata-sphinx-theme==0.14.4 -pygithub==2.1.1 +pygithub==2.2.0 pygments==2.17.2 pyjwt==2.8.0 pynacl==1.5.0 -pyparsing==3.1.1 +pyparsing==3.1.2 pyproject-api==1.6.1 pytablewriter==1.2.0 -pytest==7.4.4 +pytest==8.0.2 pytest-cov==4.1.0 pytest-xdist==3.5.0 -python-dateutil==2.8.2 -python-gitlab==4.3.0 +python-dateutil==2.9.0.post0 +python-gitlab==4.4.0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 -python-lsp-ruff==2.0.2 -python-lsp-server==1.9.0 +python-lsp-ruff==2.2.0 +python-lsp-server==1.10.0 pytoolconfig==1.3.1 -pytz==2023.3.post1 +pytz==2024.1 pyyaml==6.0.1 pyzmq==25.1.2 qtconsole==5.5.1 qtpy==2.4.1 -referencing==0.32.1 +referencing==0.33.0 requests==2.31.0 requests-toolbelt==1.0.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rope==1.11.0 -rpds-py==0.16.2 -ruff==0.1.13 +rope==1.12.0 +rpds-py==0.18.0 +ruff==0.3.1 send2trash==1.8.2 six==1.16.0 smmap==5.0.1 -sniffio==1.3.0 +sniffio==1.3.1 snowballstemmer==2.2.0 soupsieve==2.5 sphinx==5.3.0 @@ -185,7 +184,7 @@ sphinx-copybutton==0.5.2 sphinx-design==0.5.0 sphinx-hep-pdgref==0.2.0 sphinx-pybtex-etal-style==0.0.2 -sphinx-thebe==0.3.0 +sphinx-thebe==0.3.1 sphinx-togglebutton==0.3.2 sphinxcontrib-applehelp==1.0.4 sphinxcontrib-bibtex==2.6.2 @@ -194,7 +193,7 @@ sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 -sqlalchemy==2.0.25 +sqlalchemy==2.0.28 stack-data==0.6.3 sympy==1.12 tabledata==1.3.3 @@ -204,28 +203,27 @@ terminado==0.18.0 tinycss2==1.2.1 tomli==2.0.1 tornado==6.4 -tox==4.12.0 +tox==4.14.1 traitlets==5.14.1 typepy==1.3.2 -types-docutils==0.20.0.20240106 +types-docutils==0.20.0.20240304 types-pkg-resources==0.1.3 types-python-dateutil==2.8.19.20240106 types-pyyaml==6.0.12.12 -types-setuptools==69.0.0.20240106 -typing-extensions==4.9.0 +types-setuptools==69.1.0.20240302 +typing-extensions==4.10.0 ujson==5.9.0 uri-template==1.3.0 -urllib3==2.1.0 -virtualenv==20.25.0 +urllib3==2.2.1 +virtualenv==20.25.1 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.7.0 wheel==0.42.0 -widgetsnbextension==4.0.9 +widgetsnbextension==4.0.10 wrapt==1.16.0 zipp==3.17.0 -# The following packages are considered to be unsafe in a requirements file: -# pwa-pages +# The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.9.txt b/.constraints/py3.9.txt index b4defd3c..512d1610 100644 --- a/.constraints/py3.9.txt +++ b/.constraints/py3.9.txt @@ -1,13 +1,9 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.9.txt --strip-extras --unsafe-package=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools -# +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o .constraints/py3.9.txt --all-extras --no-annotate --python-version=3.9 --no-emit-package setuptools accessible-pygments==0.0.4 alabaster==0.7.16 annotated-types==0.6.0 -anyio==4.2.0 +anyio==4.3.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 @@ -15,12 +11,12 @@ asttokens==2.4.1 async-lru==2.0.4 attrs==23.2.0 babel==2.14.0 -beautifulsoup4==4.12.2 -black==23.12.1 +beautifulsoup4==4.12.3 +black==24.2.0 bleach==6.1.0 -cachetools==5.3.2 +cachetools==5.3.3 cattrs==23.2.3 -certifi==2023.11.17 +certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 @@ -29,16 +25,16 @@ click==8.1.7 colorama==0.4.6 comm==0.2.1 contourpy==1.2.0 -coverage==7.4.0 -cryptography==41.0.7 +coverage==7.4.3 +cryptography==42.0.5 cycler==0.12.1 dataproperty==1.0.1 -debugpy==1.8.0 +debugpy==1.8.1 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.8 -docstring-to-markdown==0.13 +docstring-to-markdown==0.15 docutils==0.20.1 dominate==2.9.1 exceptiongroup==1.2.0 @@ -47,27 +43,30 @@ executing==2.0.1 fastjsonschema==2.19.1 feynman==2.1.0 filelock==3.13.1 -fonttools==4.47.2 +fonttools==4.49.0 fqdn==1.5.1 gitdb==4.0.11 -gitpython==3.1.41 +gitpython==3.1.42 greenlet==3.0.3 -identify==2.5.33 +h11==0.14.0 +httpcore==1.0.4 +httpx==0.27.0 +identify==2.5.35 idna==3.6 imagesize==1.4.1 -importlib-metadata==7.0.1 -importlib-resources==6.1.1 +importlib-metadata==7.0.2 +importlib-resources==6.1.3 iniconfig==2.0.0 -ipykernel==6.28.0 +ipykernel==6.29.3 ipython==8.18.1 -ipywidgets==8.1.1 +ipywidgets==8.1.2 isoduration==20.11.0 isort==5.13.2 jedi==0.19.1 jinja2==3.1.3 -json5==0.9.14 +json5==0.9.22 jsonpointer==2.4 -jsonschema==4.20.0 +jsonschema==4.21.1 jsonschema-specifications==2023.12.1 jupyter==1.0.0 jupyter-cache==1.0.0 @@ -75,25 +74,25 @@ jupyter-client==8.6.0 jupyter-console==6.6.3 jupyter-core==5.7.1 jupyter-events==0.9.0 -jupyter-lsp==2.2.1 -jupyter-server==2.12.4 +jupyter-lsp==2.2.4 +jupyter-server==2.13.0 jupyter-server-mathjax==0.2.6 -jupyter-server-terminals==0.5.1 -jupyterlab==4.0.10 +jupyter-server-terminals==0.5.2 +jupyterlab==4.1.4 jupyterlab-code-formatter==2.2.1 jupyterlab-git==0.50.0 -jupyterlab-lsp==5.0.1 -jupyterlab-myst==2.1.0 +jupyterlab-lsp==5.1.0 +jupyterlab-myst==2.3.1 jupyterlab-pygments==0.3.0 -jupyterlab-server==2.25.2 -jupyterlab-widgets==3.0.9 +jupyterlab-server==2.25.3 +jupyterlab-widgets==3.0.10 kiwisolver==1.4.5 -latexcodec==2.0.1 +latexcodec==3.0.0 livereload==2.6.3 lsprotocol==2023.0.1 markdown-it-py==3.0.0 -markupsafe==2.1.3 -matplotlib==3.8.2 +markupsafe==2.1.5 +matplotlib==3.8.3 matplotlib-inline==0.1.6 mbstrdecoder==1.1.3 mdit-py-plugins==0.4.0 @@ -105,93 +104,93 @@ mypy-extensions==1.0.0 myst-nb==1.0.0 myst-parser==2.0.0 nbclient==0.6.8 -nbconvert==7.14.1 +nbconvert==7.16.2 nbdime==4.0.1 nbformat==5.9.2 -nbmake==1.4.6 -nest-asyncio==1.5.8 +nbmake==1.5.3 +nest-asyncio==1.6.0 nodeenv==1.8.0 -notebook==7.0.6 -notebook-shim==0.2.3 -numpy==1.26.3 -overrides==7.4.0 +notebook==7.1.1 +notebook-shim==0.2.4 +numpy==1.26.4 +overrides==7.7.0 packaging==23.2 -pandocfilters==1.5.0 +pandocfilters==1.5.1 parso==0.8.3 pathspec==0.12.1 pathvalidate==3.2.0 pexpect==4.9.0 pillow==10.2.0 -platformdirs==4.1.0 -pluggy==1.3.0 -pre-commit==3.6.0 -prometheus-client==0.19.0 +platformdirs==4.2.0 +pluggy==1.4.0 +pre-commit==3.6.2 +prometheus-client==0.20.0 prompt-toolkit==3.0.43 -psutil==5.9.7 +psutil==5.9.8 ptyprocess==0.7.0 pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydantic==2.5.3 -pydantic-core==2.14.6 -pydata-sphinx-theme==0.15.1 -pygithub==2.1.1 +pydantic==2.6.3 +pydantic-core==2.16.3 +pydata-sphinx-theme==0.15.2 +pygithub==2.2.0 pygments==2.17.2 pyjwt==2.8.0 pynacl==1.5.0 -pyparsing==3.1.1 +pyparsing==3.1.2 pyproject-api==1.6.1 pytablewriter==1.2.0 -pytest==7.4.4 +pytest==8.0.2 pytest-cov==4.1.0 pytest-xdist==3.5.0 -python-dateutil==2.8.2 -python-gitlab==4.3.0 +python-dateutil==2.9.0.post0 +python-gitlab==4.4.0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 -python-lsp-ruff==2.0.2 -python-lsp-server==1.9.0 +python-lsp-ruff==2.2.0 +python-lsp-server==1.10.0 pytoolconfig==1.3.1 -pytz==2023.3.post1 +pytz==2024.1 pyyaml==6.0.1 pyzmq==25.1.2 qtconsole==5.5.1 qtpy==2.4.1 -referencing==0.32.1 +referencing==0.33.0 requests==2.31.0 requests-toolbelt==1.0.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rope==1.11.0 -rpds-py==0.16.2 -ruff==0.1.13 +rope==1.12.0 +rpds-py==0.18.0 +ruff==0.3.1 send2trash==1.8.2 six==1.16.0 smmap==5.0.1 -sniffio==1.3.0 +sniffio==1.3.1 snowballstemmer==2.2.0 soupsieve==2.5 sphinx==7.2.6 sphinx-api-relink==0.0.8 -sphinx-autobuild==2021.3.14 -sphinx-book-theme==1.1.0 +sphinx-autobuild==2024.2.4 +sphinx-book-theme==1.1.2 sphinx-codeautolink==0.15.0 sphinx-comments==0.0.3 sphinx-copybutton==0.5.2 sphinx-design==0.5.0 sphinx-hep-pdgref==0.2.0 sphinx-pybtex-etal-style==0.0.2 -sphinx-thebe==0.3.0 +sphinx-thebe==0.3.1 sphinx-togglebutton==0.3.2 -sphinxcontrib-applehelp==1.0.7 +sphinxcontrib-applehelp==1.0.8 sphinxcontrib-bibtex==2.6.2 -sphinxcontrib-devhelp==1.0.5 -sphinxcontrib-htmlhelp==2.0.4 +sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-htmlhelp==2.0.5 sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.6 -sphinxcontrib-serializinghtml==1.1.9 -sqlalchemy==2.0.25 +sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-serializinghtml==1.1.10 +sqlalchemy==2.0.28 stack-data==0.6.3 sympy==1.12 tabledata==1.3.3 @@ -201,28 +200,27 @@ terminado==0.18.0 tinycss2==1.2.1 tomli==2.0.1 tornado==6.4 -tox==4.12.0 +tox==4.14.1 traitlets==5.14.1 typepy==1.3.2 -types-docutils==0.20.0.20240106 +types-docutils==0.20.0.20240304 types-pkg-resources==0.1.3 types-python-dateutil==2.8.19.20240106 types-pyyaml==6.0.12.12 -types-setuptools==69.0.0.20240106 -typing-extensions==4.9.0 +types-setuptools==69.1.0.20240302 +typing-extensions==4.10.0 ujson==5.9.0 uri-template==1.3.0 -urllib3==2.1.0 -virtualenv==20.25.0 +urllib3==2.2.1 +virtualenv==20.25.1 wcwidth==0.2.13 webcolors==1.13 webencodings==0.5.1 websocket-client==1.7.0 wheel==0.42.0 -widgetsnbextension==4.0.9 +widgetsnbextension==4.0.10 wrapt==1.16.0 zipp==3.17.0 -# The following packages are considered to be unsafe in a requirements file: -# pwa-pages +# The following packages were excluded from the output: # setuptools diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 127d2da2..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: 2 -updates: - - package-ecosystem: github-actions - directory: "/" - assignees: - - redeboer - commit-message: - prefix: MAINT - labels: - - 🔨 Maintenance - schedule: - interval: monthly diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dea11f5e..53ac26ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,8 @@ name: CI concurrency: group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true + cancel-in-progress: |- + ${{ github.ref != format('refs/heads/{0}', github.event.repository.default_branch) }} env: PYTHONHASHSEED: "0" diff --git a/.github/workflows/pr-linting.yml b/.github/workflows/pr-linting.yml index cd3bb74f..0fab8410 100644 --- a/.github/workflows/pr-linting.yml +++ b/.github/workflows/pr-linting.yml @@ -10,24 +10,5 @@ on: - unlabeled jobs: - check-labels: - name: Check labels - runs-on: ubuntu-22.04 - steps: - - uses: docker://agilepathway/pull-request-label-checker:latest # cspell:ignore agilepathway - with: - any_of: >- - 🐛 Bug,✨ Feature,⚙️ Enhancement,⚠️ Interface,❗ Behavior,📝 Docs,🔨 Maintenance,🖱️ DX - none_of: Epic,💫 Good first issue - repo_token: ${{ secrets.GITHUB_TOKEN }} - - check-title: - name: Check title - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - run: npm install @compwa/commitlint-config - - name: Create commitlint config - run: | - echo "module.exports = {extends: ['@compwa/commitlint-config']}" > commitlint.config.js - - uses: JulienKode/pull-request-name-linter-action@v0.5.0 # cspell:ignore kode + lint-pr: + uses: ComPWA/actions/.github/workflows/pr-linting.yml@v1 diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index d64f197b..52340935 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -11,6 +11,6 @@ jobs: update_release_draft: runs-on: ubuntu-22.04 steps: - - uses: release-drafter/release-drafter@v5 + - uses: release-drafter/release-drafter@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/requirements.yml b/.github/workflows/requirements.yml index b2562f25..ec42f28d 100644 --- a/.github/workflows/requirements.yml +++ b/.github/workflows/requirements.yml @@ -2,7 +2,8 @@ name: Requirements concurrency: group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true + cancel-in-progress: |- + ${{ github.ref != format('refs/heads/{0}', github.event.repository.default_branch) }} on: pull_request: diff --git a/.gitpod.yml b/.gitpod.yml index f1f18561..baf57924 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -22,7 +22,6 @@ vscode: - executablebookproject.myst-highlight - github.vscode-github-actions - github.vscode-pull-request-github - - ms-python.black-formatter - ms-python.mypy-type-checker - ms-python.python - ms-python.vscode-pylance @@ -30,9 +29,8 @@ vscode: - ms-vsliveshare.vsliveshare - redhat.vscode-yaml - ryanluker.vscode-coverage-gutters - - Soulcode.vscode-unwanted-extensions + - soulcode.vscode-unwanted-extensions - stkb.rewrap - streetsidesoftware.code-spell-checker - tamasfe.even-better-toml - - tyriar.sort-lines - yzhang.markdown-all-in-one diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6a7a4a0b..aa578fcc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,8 +15,33 @@ repos: - id: check-hooks-apply - id: check-useless-excludes + - repo: https://github.com/kynan/nbstripout + rev: 0.7.1 + hooks: + - id: nbstripout + args: + - --extra-keys + - | + cell.attachments + cell.metadata.code_folding + cell.metadata.id + cell.metadata.pycharm + cell.metadata.user_expressions + metadata.celltoolbar + metadata.colab.name + metadata.colab.provenance + metadata.interpreter + metadata.notify_time + metadata.toc + metadata.toc-autonumbering + metadata.toc-showcode + metadata.toc-showmarkdowntxt + metadata.toc-showtags + metadata.varInspector + metadata.vscode + - repo: https://github.com/ComPWA/policy - rev: 0.2.2 + rev: 0.3.0 hooks: - id: check-dev-files args: @@ -29,6 +54,15 @@ repos: - id: colab-toc-visible - id: fix-nbformat-version + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.3.1 + hooks: + - id: ruff + args: [--fix] + types_or: [python, pyi, jupyter] + - id: ruff-format + types_or: [python, pyi, jupyter] + - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: @@ -53,21 +87,25 @@ repos: args: ["--django"] - id: trailing-whitespace - - repo: https://github.com/psf/black-pre-commit-mirror - rev: 23.12.1 + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v4.0.0-alpha.8 hooks: - - id: black - - id: black-jupyter - args: [--line-length=85] - types_or: [jupyter] + - id: prettier - - repo: https://github.com/asottile/blacken-docs - rev: 1.16.0 + - repo: https://github.com/ComPWA/mirrors-taplo + rev: v0.8.1 hooks: - - id: blacken-docs + - id: taplo + + - repo: https://github.com/pappasam/toml-sort + rev: v0.23.1 + hooks: + - id: toml-sort + args: + - --in-place - repo: https://github.com/sirosen/check-jsonschema - rev: 0.27.3 + rev: 0.28.0 hooks: - id: check-jsonschema name: Check project inventory YAML files @@ -77,7 +115,7 @@ repos: args: ["--schemafile", "./docs/software/project-inventory-schema.json"] - repo: https://github.com/streetsidesoftware/cspell-cli - rev: v8.3.0 + rev: v8.6.0 hooks: - id: cspell @@ -102,60 +140,11 @@ repos: types: - python - - repo: https://github.com/kynan/nbstripout - rev: 0.6.1 - hooks: - - id: nbstripout - args: - - --extra-keys - - | - cell.attachments - cell.metadata.code_folding - cell.metadata.id - cell.metadata.pycharm - cell.metadata.user_expressions - metadata.celltoolbar - metadata.colab.name - metadata.colab.provenance - metadata.interpreter - metadata.notify_time - metadata.toc - metadata.toc-autonumbering - metadata.toc-showcode - metadata.toc-showmarkdowntxt - metadata.toc-showtags - metadata.varInspector - metadata.vscode - - - repo: https://github.com/pre-commit/mirrors-prettier - rev: v4.0.0-alpha.8 - hooks: - - id: prettier - - repo: https://github.com/ComPWA/mirrors-pyright - rev: v1.1.345 + rev: v1.1.352 hooks: - id: pyright - - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.13 - hooks: - - id: ruff - args: [--fix] - types_or: [python, pyi, jupyter] - - - repo: https://github.com/ComPWA/mirrors-taplo - rev: v0.8.1 - hooks: - - id: taplo - - - repo: https://github.com/pappasam/toml-sort - rev: v0.23.1 - hooks: - - id: toml-sort - args: - - --in-place - - repo: local hooks: - id: update-json-schema diff --git a/.vscode/extensions.json b/.vscode/extensions.json index a90a5fa2..55cb02b9 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -8,7 +8,6 @@ "executablebookproject.myst-highlight", "github.vscode-github-actions", "github.vscode-pull-request-github", - "ms-python.black-formatter", "ms-python.mypy-type-checker", "ms-python.python", "ms-python.vscode-pylance", @@ -16,20 +15,21 @@ "ms-vsliveshare.vsliveshare", "redhat.vscode-yaml", "ryanluker.vscode-coverage-gutters", - "Soulcode.vscode-unwanted-extensions", + "soulcode.vscode-unwanted-extensions", "stkb.rewrap", "streetsidesoftware.code-spell-checker", "tamasfe.even-better-toml", - "tyriar.sort-lines", "yzhang.markdown-all-in-one" ], "unwantedRecommendations": [ "bungcip.better-toml", "davidanson.vscode-markdownlint", "garaioag.garaio-vscode-unwanted-recommendations", + "ms-python.black-formatter", "ms-python.flake8", "ms-python.isort", "ms-python.pylint", - "travisillig.vscode-json-stable-stringify" + "travisillig.vscode-json-stable-stringify", + "tyriar.sort-lines" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index a0877d09..fa0a30a0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -19,13 +19,12 @@ "editor.codeActionsOnSave": { "source.organizeImports": "explicit" }, - "editor.defaultFormatter": "ms-python.black-formatter", + "editor.defaultFormatter": "charliermarsh.ruff", "editor.rulers": [88] }, "[yaml]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, - "black-formatter.importStrategy": "fromEnvironment", "coverage-gutters.coverageFileNames": ["coverage.xml"], "coverage-gutters.coverageReportFileName": "**/htmlcov/index.html", "coverage-gutters.showGutterCoverage": false, @@ -41,6 +40,7 @@ }, "git.rebaseWhenSync": true, "github-actions.workflows.pinned.workflows": [".github/workflows/ci.yml"], + "gitlens.telemetry.enabled": false, "livePreview.defaultPreviewPath": "docs/_build/html", "multiDiffEditor.experimental.enabled": true, "mypy-type-checker.args": ["--config-file=${workspaceFolder}/pyproject.toml"], @@ -51,6 +51,10 @@ "dollarmath", "tasklist" ], + "notebook.codeActionsOnSave": { + "notebook.source.organizeImports": "explicit" + }, + "notebook.formatOnSave.enabled": true, "notebook.gotoSymbols.showAllSymbols": true, "python.analysis.autoImportCompletions": false, "python.analysis.inlayHints.pytestParameters": true, @@ -64,13 +68,16 @@ ], "python.testing.pytestEnabled": true, "python.testing.unittestEnabled": false, + "redhat.telemetry.enabled": false, "rewrap.wrappingColumn": 88, "ruff.enable": true, + "ruff.importStrategy": "fromEnvironment", "ruff.organizeImports": true, "search.exclude": { "**/tests/**/__init__.py": true, ".constraints/*.txt": true }, + "telemetry.telemetryLevel": "off", "yaml.schemas": { "./docs/software/project-inventory-schema.json": ["docs/software/*.yml"], "https://json.schemastore.org/github-workflow.json": "./.github/workflows/requirements.yml" diff --git a/README.md b/README.md index b39a9f97..82569a03 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,6 @@ [![Test coverage](https://codecov.io/gh/ComPWA/PWA-pages/branch/main/graph/badge.svg)](https://codecov.io/gh/ComPWA/PWA-pages) [![Spelling checked](https://img.shields.io/badge/cspell-checked-brightgreen.svg)](https://github.com/streetsidesoftware/cspell/tree/master/packages/cspell) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) -[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) This repository contains the source code for the diff --git a/docs/conf.py b/docs/conf.py index 6b778e1a..13cbb241 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -151,6 +151,7 @@ nb_execution_timeout = -1 nb_output_stderr = "remove" nitpick_ignore_regex = [ + (r"py:(class|obj)", "ComputedFieldInfo"), (r"py:(class|obj)", "ConfigDict"), (r"py:(class|obj)", "FieldInfo"), (r"py:(class|obj)", "Model.__fields__"), diff --git a/pyproject.toml b/pyproject.toml index cf398d8b..6b7256f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,9 +80,9 @@ doc = [ "sphinxcontrib-bibtex >=2.2", # bibtex_reference_style "sympy", ] -format = ["black"] jupyter = [ "PWA-pages[doc]", + "black", "isort", "jupyterlab", "jupyterlab-code-formatter", @@ -92,24 +92,11 @@ jupyter = [ "python-lsp-ruff", "python-lsp-server[rope]", ] -lint = [ - "PWA-pages[mypy]", - "ruff", -] -mypy = [ - "mypy >=0.730", # error code support - "sphinx-api-relink >=0.0.8", - "types-PyYAML", - "types-docutils", - "types-pkg-resources", - "types-python-dateutil", - "types-setuptools", -] sty = [ - "PWA-pages[format]", - "PWA-pages[lint]", - "PWA-pages[test]", # for pytest type hints + "PWA-pages[types]", + "mypy >=0.730", # error code support "pre-commit >=1.4.0", + "ruff", ] test = [ "nbmake", @@ -117,6 +104,15 @@ test = [ "pytest-cov", "pytest-xdist", ] +types = [ + "pytest", + "sphinx-api-relink >=0.0.8", + "types-PyYAML", + "types-docutils", + "types-pkg-resources", + "types-python-dateutil", + "types-setuptools", +] [project.readme] content-type = "text/markdown" @@ -145,30 +141,6 @@ where = ["src"] [tool.setuptools_scm] write_to = "src/pwa_pages/version.py" -[tool.black] -exclude = ''' -/( - .*\.egg-info - | .*build - | \.eggs - | \.git - | \.tox - | \.venv - | \.vscode - | dist -)/ -''' -include = '\.pyi?$' -preview = true -target-version = [ - "py310", - "py311", - "py312", - "py37", - "py38", - "py39", -] - [tool.coverage.run] branch = true source = ["src"] @@ -212,6 +184,7 @@ include = [ "docs", "src", ] +reportCallIssue = false reportGeneralTypeIssues = false reportIncompatibleMethodOverride = false reportMissingParameterType = false @@ -256,6 +229,19 @@ testpaths = [ [tool.ruff] extend-include = ["*.ipynb"] +preview = true +show-fixes = true +src = [ + "src", + "tests", +] +target-version = "py37" + +[tool.ruff.format] +docstring-code-format = true +line-ending = "lf" + +[tool.ruff.lint] extend-select = [ "A", "B", @@ -299,17 +285,16 @@ ignore = [ "D407", "D416", "E501", + "ISC001", + "PLW1514", "SIM108", ] -show-fixes = true -src = [ - "src", - "tests", -] -target-version = "py37" task-tags = ["cspell"] -[tool.ruff.per-file-ignores] +[tool.ruff.lint.isort] +split-on-trailing-comma = false + +[tool.ruff.lint.per-file-ignores] "*.ipynb" = [ "B018", "C90", @@ -347,13 +332,15 @@ task-tags = ["cspell"] "D", "INP001", "PGH001", + "PLC2701", "PLR0913", "PLR2004", + "PLR6301", "S101", "T20", ] -[tool.ruff.pydocstyle] +[tool.ruff.lint.pydocstyle] convention = "google" [tool.tomlsort] diff --git a/tests/repo/test_github.py b/tests/repo/test_github.py index 05c50bcd..bf8dd068 100644 --- a/tests/repo/test_github.py +++ b/tests/repo/test_github.py @@ -56,7 +56,7 @@ def test_extract_github_repo_name(repo_name, url): ], ) def test_extract_github_repo_name_error(url): - assert extract_github_repo_name(url) == "" + assert extract_github_repo_name(url) == "" # noqa: PLC1901 def test_get_github_repo(): diff --git a/tests/test_project_inventory.py b/tests/test_project_inventory.py index 54bb2bed..6773bf85 100644 --- a/tests/test_project_inventory.py +++ b/tests/test_project_inventory.py @@ -25,7 +25,8 @@ class TestProjectInventory: def test_collaboration_undefined(self): - yaml_content = dedent(""" + yaml_content = dedent( + """ projects: - name: MyProject url: "https://www.w3.org/Provider/Style/dummy.html" @@ -33,7 +34,8 @@ def test_collaboration_undefined(self): collaborations: CERN: "https://home.cern" - """) + """ + ) config = yaml.safe_load(yaml_content) with pytest.raises(ValidationError, match=r"No collaboration defined for SSC"): ProjectInventory(**config) @@ -97,7 +99,7 @@ def test_create_project_entry(): def test_checkmark_language(): project = Project(name="name", url="url", languages=["C++"]) assert _checkmark_language(project, "c++", min_percentage=0) == "✓" - assert _checkmark_language(project, "Python", min_percentage=0) == "" + assert _checkmark_language(project, "Python", min_percentage=0) == "" # noqa: PLC1901 @pytest.mark.parametrize("fetch", [False, True])