From dbd06e2a61313f45630329b1c9ce8a204ecccc84 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Tue, 10 Sep 2024 21:49:54 -0400 Subject: [PATCH] MAINT: autoupdate constraints and pre-commit config (#532) * MAINT: apply fixes by pre-commit hooks * MAINT: write `sphinx-build` flags full --------- Co-authored-by: GitHub --- .constraints/py3.10.txt | 114 ++++++++++++++++---------------- .constraints/py3.11.txt | 115 ++++++++++++++++----------------- .constraints/py3.12.txt | 114 ++++++++++++++++---------------- .constraints/py3.8.txt | 96 ++++++++++++++------------- .constraints/py3.9.txt | 112 ++++++++++++++++---------------- .cspell.json | 3 +- .envrc | 11 +++- .gitattributes | 1 + .gitignore | 2 +- .gitpod.yml | 36 ----------- .pre-commit-config.yaml | 65 +++++++++---------- .vscode/extensions.json | 1 + .vscode/settings.json | 3 +- CONTRIBUTING.md | 1 - README.md | 1 - environment.yml | 1 - pyproject.toml | 140 +++++++++++++++++++++++++++++++++++++++- tox.ini | 26 ++++---- 18 files changed, 472 insertions(+), 370 deletions(-) create mode 100644 .gitattributes delete mode 100644 .gitpod.yml diff --git a/.constraints/py3.10.txt b/.constraints/py3.10.txt index b050ac45..117f53c8 100644 --- a/.constraints/py3.10.txt +++ b/.constraints/py3.10.txt @@ -12,13 +12,13 @@ asttokens==2.4.1 astunparse==1.6.3 async-lru==2.0.4 attrs==24.2.0 -babel==2.15.0 +babel==2.16.0 beautifulsoup4==4.12.3 bleach==6.1.0 -cachetools==5.4.0 -cattrs==23.2.3 -certifi==2024.7.4 -cffi==1.17.0 +cachetools==5.5.0 +cattrs==24.1.0 +certifi==2024.8.30 +cffi==1.17.1 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 @@ -26,7 +26,7 @@ click==8.1.7 cloudpickle==3.0.0 colorama==0.4.6 comm==0.2.2 -contourpy==1.2.1 +contourpy==1.3.0 coverage==7.6.1 cycler==0.12.1 debugpy==1.8.5 @@ -38,9 +38,9 @@ docstring-to-markdown==0.15 docutils==0.21.2 exceptiongroup==1.2.2 execnet==2.1.1 -executing==2.0.1 +executing==2.1.0 fastjsonschema==2.20.0 -filelock==3.15.4 +filelock==3.16.0 flatbuffers==24.3.25 fonttools==4.53.1 fqdn==1.5.1 @@ -49,24 +49,24 @@ gitdb==4.0.11 gitpython==3.1.43 google-pasta==0.2.0 graphviz==0.20.3 -greenlet==3.0.3 -grpcio==1.65.4 +greenlet==3.1.0 +grpcio==1.66.1 h11==0.14.0 h5py==3.11.0 hepunits==2.3.4 httpcore==1.0.5 -httpx==0.27.0 +httpx==0.27.2 identify==2.6.0 -idna==3.7 +idna==3.8 imagesize==1.4.1 -iminuit==2.28.0 -importlib-metadata==8.2.0 +iminuit==2.29.1 +importlib-metadata==8.4.0 iniconfig==2.0.0 ipykernel==6.29.5 ipympl==0.9.4 -ipython==8.26.0 +ipython==8.27.0 ipython-genutils==0.2.0 -ipywidgets==8.1.3 +ipywidgets==8.1.5 isoduration==20.11.0 jax==0.4.31 jaxlib==0.4.31 @@ -76,7 +76,7 @@ json5==0.9.25 jsonpointer==3.0.0 jsonschema==4.23.0 jsonschema-specifications==2023.12.1 -jupyter==1.0.0 +jupyter==1.1.1 jupyter-cache==1.0.0 jupyter-client==8.6.2 jupyter-console==6.6.3 @@ -86,42 +86,42 @@ jupyter-lsp==2.2.5 jupyter-server==2.14.2 jupyter-server-mathjax==0.2.6 jupyter-server-terminals==0.5.3 -jupyterlab==4.2.4 -jupyterlab-code-formatter==3.0.0 +jupyterlab==4.2.5 +jupyterlab-code-formatter==3.0.2 jupyterlab-git==0.50.1 jupyterlab-lsp==5.1.0 jupyterlab-myst==2.4.2 jupyterlab-pygments==0.3.0 jupyterlab-server==2.27.3 -jupyterlab-widgets==3.0.11 -keras==3.4.1 -kiwisolver==1.4.5 +jupyterlab-widgets==3.0.13 +keras==3.5.0 +kiwisolver==1.4.7 libclang==18.1.1 llvmlite==0.43.0 lsprotocol==2023.0.1 -markdown==3.6 +markdown==3.7 markdown-it-py==3.0.0 markupsafe==2.1.5 -matplotlib==3.9.1.post1 +matplotlib==3.9.2 matplotlib-inline==0.1.7 -mdit-py-plugins==0.4.1 +mdit-py-plugins==0.4.2 mdurl==0.1.2 mistune==3.0.2 ml-dtypes==0.3.2 mpmath==1.3.0 -mypy==1.11.1 +mypy==1.11.2 mypy-extensions==1.0.0 myst-nb==1.1.1 myst-parser==4.0.0 namex==0.0.8 nbclient==0.6.8 nbconvert==7.16.4 -nbdime==4.0.1 +nbdime==4.0.2 nbformat==5.10.4 nbmake==1.5.4 nest-asyncio==1.6.0 nodeenv==1.9.1 -notebook==7.2.1 +notebook==7.2.2 notebook-shim==0.2.4 numba==0.60.0 numpy==1.26.4 @@ -132,11 +132,11 @@ packaging==24.1 pandas==2.2.2 pandocfilters==1.5.1 parso==0.8.4 -particle==0.24.0 +particle==0.25.0 pexpect==4.9.0 phasespace==1.10.3 pillow==10.4.0 -platformdirs==4.2.2 +platformdirs==4.3.2 pluggy==1.5.0 pre-commit==3.8.0 prometheus-client==0.20.0 @@ -150,9 +150,9 @@ pyarrow==17.0.0 pycparser==2.22 pydata-sphinx-theme==0.15.4 pygments==2.18.0 -pyparsing==3.1.2 +pyparsing==3.1.4 pyproject-api==1.7.1 -pytest==8.3.2 +pytest==8.3.3 pytest-benchmark==4.0.0 pytest-cov==5.0.0 pytest-mock==3.14.0 @@ -162,32 +162,30 @@ python-dateutil==2.9.0.post0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 python-lsp-ruff==2.2.2 -python-lsp-server==1.11.0 +python-lsp-server==1.12.0 pytoolconfig==1.3.1 pytz==2024.1 pyyaml==6.0.2 -pyzmq==26.1.0 +pyzmq==26.2.0 qrules==0.10.2 -qtconsole==5.5.2 -qtpy==2.4.1 referencing==0.35.1 requests==2.32.3 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.7.1 +rich==13.8.1 rope==1.13.0 rpds-py==0.20.0 -ruff==0.5.6 -scipy==1.14.0 +ruff==0.6.4 +scipy==1.14.1 send2trash==1.8.3 six==1.16.0 smmap==5.0.1 sniffio==1.3.1 snowballstemmer==2.2.0 -soupsieve==2.5 +soupsieve==2.6 sphinx==8.0.2 sphinx-api-relink==0.0.9 -sphinx-autobuild==2024.4.16 +sphinx-autobuild==2024.9.3 sphinx-book-theme==1.1.3 sphinx-codeautolink==0.15.2 sphinx-comments==0.0.3 @@ -202,10 +200,10 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==2.0.0 sphinxcontrib-serializinghtml==2.0.0 sphobjinv==2.3.1.1 -sqlalchemy==2.0.32 +sqlalchemy==2.0.34 stack-data==0.6.3 -starlette==0.38.2 -sympy==1.13.1 +starlette==0.38.5 +sympy==1.13.2 tabulate==0.9.0 tensorboard==2.16.2 tensorboard-data-server==0.7.2 @@ -217,33 +215,33 @@ terminado==0.18.1 tinycss2==1.3.0 tomli==2.0.1 tornado==6.4.1 -tox==4.17.0 +tox==4.18.1 tqdm==4.66.5 traitlets==5.14.3 -types-protobuf==5.27.0.20240626 -types-python-dateutil==2.9.0.20240316 -types-pyyaml==6.0.12.20240724 -types-requests==2.32.0.20240712 -types-tensorflow==2.16.0.20240804 +types-protobuf==5.27.0.20240907 +types-python-dateutil==2.9.0.20240906 +types-pyyaml==6.0.12.20240808 +types-requests==2.32.0.20240907 +types-tensorflow==2.17.0.20240820 types-tqdm==4.66.0.20240417 typing-extensions==4.12.2 tzdata==2024.1 ujson==5.10.0 uri-template==1.3.0 urllib3==2.2.2 -uvicorn==0.30.5 -virtualenv==20.26.3 -watchfiles==0.23.0 +uvicorn==0.30.6 +virtualenv==20.26.4 +watchfiles==0.24.0 wcwidth==0.2.13 -webcolors==24.6.0 +webcolors==24.8.0 webencodings==0.5.1 websocket-client==1.8.0 -websockets==12.0 -werkzeug==3.0.3 +websockets==13.0.1 +werkzeug==3.0.4 wheel==0.44.0 -widgetsnbextension==4.0.11 +widgetsnbextension==4.0.13 wrapt==1.16.0 -zipp==3.19.2 +zipp==3.20.1 # The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.11.txt b/.constraints/py3.11.txt index 3db13156..ba7c7e5b 100644 --- a/.constraints/py3.11.txt +++ b/.constraints/py3.11.txt @@ -12,13 +12,13 @@ asttokens==2.4.1 astunparse==1.6.3 async-lru==2.0.4 attrs==24.2.0 -babel==2.15.0 +babel==2.16.0 beautifulsoup4==4.12.3 bleach==6.1.0 -cachetools==5.4.0 -cattrs==23.2.3 -certifi==2024.7.4 -cffi==1.17.0 +cachetools==5.5.0 +cattrs==24.1.0 +certifi==2024.8.30 +cffi==1.17.1 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 @@ -26,7 +26,7 @@ click==8.1.7 cloudpickle==3.0.0 colorama==0.4.6 comm==0.2.2 -contourpy==1.2.1 +contourpy==1.3.0 coverage==7.6.1 cycler==0.12.1 debugpy==1.8.5 @@ -37,9 +37,9 @@ dm-tree==0.1.8 docstring-to-markdown==0.15 docutils==0.21.2 execnet==2.1.1 -executing==2.0.1 +executing==2.1.0 fastjsonschema==2.20.0 -filelock==3.15.4 +filelock==3.16.0 flatbuffers==24.3.25 fonttools==4.53.1 fqdn==1.5.1 @@ -48,24 +48,24 @@ gitdb==4.0.11 gitpython==3.1.43 google-pasta==0.2.0 graphviz==0.20.3 -greenlet==3.0.3 -grpcio==1.65.4 +greenlet==3.1.0 +grpcio==1.66.1 h11==0.14.0 h5py==3.11.0 hepunits==2.3.4 httpcore==1.0.5 -httpx==0.27.0 +httpx==0.27.2 identify==2.6.0 -idna==3.7 +idna==3.8 imagesize==1.4.1 -iminuit==2.28.0 -importlib-metadata==8.2.0 +iminuit==2.29.1 +importlib-metadata==8.4.0 iniconfig==2.0.0 ipykernel==6.29.5 ipympl==0.9.4 -ipython==8.26.0 +ipython==8.27.0 ipython-genutils==0.2.0 -ipywidgets==8.1.3 +ipywidgets==8.1.5 isoduration==20.11.0 jax==0.4.31 jaxlib==0.4.31 @@ -75,7 +75,7 @@ json5==0.9.25 jsonpointer==3.0.0 jsonschema==4.23.0 jsonschema-specifications==2023.12.1 -jupyter==1.0.0 +jupyter==1.1.1 jupyter-cache==1.0.0 jupyter-client==8.6.2 jupyter-console==6.6.3 @@ -85,42 +85,42 @@ jupyter-lsp==2.2.5 jupyter-server==2.14.2 jupyter-server-mathjax==0.2.6 jupyter-server-terminals==0.5.3 -jupyterlab==4.2.4 -jupyterlab-code-formatter==3.0.0 +jupyterlab==4.2.5 +jupyterlab-code-formatter==3.0.2 jupyterlab-git==0.50.1 jupyterlab-lsp==5.1.0 jupyterlab-myst==2.4.2 jupyterlab-pygments==0.3.0 jupyterlab-server==2.27.3 -jupyterlab-widgets==3.0.11 -keras==3.4.1 -kiwisolver==1.4.5 +jupyterlab-widgets==3.0.13 +keras==3.5.0 +kiwisolver==1.4.7 libclang==18.1.1 llvmlite==0.43.0 lsprotocol==2023.0.1 -markdown==3.6 +markdown==3.7 markdown-it-py==3.0.0 markupsafe==2.1.5 -matplotlib==3.9.1.post1 +matplotlib==3.9.2 matplotlib-inline==0.1.7 -mdit-py-plugins==0.4.1 +mdit-py-plugins==0.4.2 mdurl==0.1.2 mistune==3.0.2 ml-dtypes==0.3.2 mpmath==1.3.0 -mypy==1.11.1 +mypy==1.11.2 mypy-extensions==1.0.0 myst-nb==1.1.1 myst-parser==4.0.0 namex==0.0.8 nbclient==0.6.8 nbconvert==7.16.4 -nbdime==4.0.1 +nbdime==4.0.2 nbformat==5.10.4 nbmake==1.5.4 nest-asyncio==1.6.0 nodeenv==1.9.1 -notebook==7.2.1 +notebook==7.2.2 notebook-shim==0.2.4 numba==0.60.0 numpy==1.26.4 @@ -131,11 +131,11 @@ packaging==24.1 pandas==2.2.2 pandocfilters==1.5.1 parso==0.8.4 -particle==0.24.0 +particle==0.25.0 pexpect==4.9.0 phasespace==1.10.3 pillow==10.4.0 -platformdirs==4.2.2 +platformdirs==4.3.2 pluggy==1.5.0 pre-commit==3.8.0 prometheus-client==0.20.0 @@ -149,9 +149,9 @@ pyarrow==17.0.0 pycparser==2.22 pydata-sphinx-theme==0.15.4 pygments==2.18.0 -pyparsing==3.1.2 +pyparsing==3.1.4 pyproject-api==1.7.1 -pytest==8.3.2 +pytest==8.3.3 pytest-benchmark==4.0.0 pytest-cov==5.0.0 pytest-mock==3.14.0 @@ -161,32 +161,30 @@ python-dateutil==2.9.0.post0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 python-lsp-ruff==2.2.2 -python-lsp-server==1.11.0 +python-lsp-server==1.12.0 pytoolconfig==1.3.1 pytz==2024.1 pyyaml==6.0.2 -pyzmq==26.1.0 +pyzmq==26.2.0 qrules==0.10.2 -qtconsole==5.5.2 -qtpy==2.4.1 referencing==0.35.1 requests==2.32.3 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.7.1 +rich==13.8.1 rope==1.13.0 rpds-py==0.20.0 -ruff==0.5.6 -scipy==1.14.0 +ruff==0.6.4 +scipy==1.14.1 send2trash==1.8.3 six==1.16.0 smmap==5.0.1 sniffio==1.3.1 snowballstemmer==2.2.0 -soupsieve==2.5 +soupsieve==2.6 sphinx==8.0.2 sphinx-api-relink==0.0.9 -sphinx-autobuild==2024.4.16 +sphinx-autobuild==2024.9.3 sphinx-book-theme==1.1.3 sphinx-codeautolink==0.15.2 sphinx-comments==0.0.3 @@ -201,10 +199,10 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==2.0.0 sphinxcontrib-serializinghtml==2.0.0 sphobjinv==2.3.1.1 -sqlalchemy==2.0.32 +sqlalchemy==2.0.34 stack-data==0.6.3 -starlette==0.38.2 -sympy==1.13.1 +starlette==0.38.5 +sympy==1.13.2 tabulate==0.9.0 tensorboard==2.16.2 tensorboard-data-server==0.7.2 @@ -214,34 +212,35 @@ tensorflow-probability==0.24.0 termcolor==2.4.0 terminado==0.18.1 tinycss2==1.3.0 +tomli==2.0.1 tornado==6.4.1 -tox==4.17.0 +tox==4.18.1 tqdm==4.66.5 traitlets==5.14.3 -types-protobuf==5.27.0.20240626 -types-python-dateutil==2.9.0.20240316 -types-pyyaml==6.0.12.20240724 -types-requests==2.32.0.20240712 -types-tensorflow==2.16.0.20240804 +types-protobuf==5.27.0.20240907 +types-python-dateutil==2.9.0.20240906 +types-pyyaml==6.0.12.20240808 +types-requests==2.32.0.20240907 +types-tensorflow==2.17.0.20240820 types-tqdm==4.66.0.20240417 typing-extensions==4.12.2 tzdata==2024.1 ujson==5.10.0 uri-template==1.3.0 urllib3==2.2.2 -uvicorn==0.30.5 -virtualenv==20.26.3 -watchfiles==0.23.0 +uvicorn==0.30.6 +virtualenv==20.26.4 +watchfiles==0.24.0 wcwidth==0.2.13 -webcolors==24.6.0 +webcolors==24.8.0 webencodings==0.5.1 websocket-client==1.8.0 -websockets==12.0 -werkzeug==3.0.3 +websockets==13.0.1 +werkzeug==3.0.4 wheel==0.44.0 -widgetsnbextension==4.0.11 +widgetsnbextension==4.0.13 wrapt==1.16.0 -zipp==3.19.2 +zipp==3.20.1 # The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.12.txt b/.constraints/py3.12.txt index d6e73bf3..1bbcf2c8 100644 --- a/.constraints/py3.12.txt +++ b/.constraints/py3.12.txt @@ -12,13 +12,13 @@ asttokens==2.4.1 astunparse==1.6.3 async-lru==2.0.4 attrs==24.2.0 -babel==2.15.0 +babel==2.16.0 beautifulsoup4==4.12.3 bleach==6.1.0 -cachetools==5.4.0 -cattrs==23.2.3 -certifi==2024.7.4 -cffi==1.17.0 +cachetools==5.5.0 +cattrs==24.1.0 +certifi==2024.8.30 +cffi==1.17.1 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 @@ -26,7 +26,7 @@ click==8.1.7 cloudpickle==3.0.0 colorama==0.4.6 comm==0.2.2 -contourpy==1.2.1 +contourpy==1.3.0 coverage==7.6.1 cycler==0.12.1 debugpy==1.8.5 @@ -37,9 +37,9 @@ dm-tree==0.1.8 docstring-to-markdown==0.15 docutils==0.21.2 execnet==2.1.1 -executing==2.0.1 +executing==2.1.0 fastjsonschema==2.20.0 -filelock==3.15.4 +filelock==3.16.0 flatbuffers==24.3.25 fonttools==4.53.1 fqdn==1.5.1 @@ -48,24 +48,24 @@ gitdb==4.0.11 gitpython==3.1.43 google-pasta==0.2.0 graphviz==0.20.3 -greenlet==3.0.3 -grpcio==1.65.4 +greenlet==3.1.0 +grpcio==1.66.1 h11==0.14.0 h5py==3.11.0 hepunits==2.3.4 httpcore==1.0.5 -httpx==0.27.0 +httpx==0.27.2 identify==2.6.0 -idna==3.7 +idna==3.8 imagesize==1.4.1 -iminuit==2.28.0 -importlib-metadata==8.2.0 +iminuit==2.29.1 +importlib-metadata==8.4.0 iniconfig==2.0.0 ipykernel==6.29.5 ipympl==0.9.4 -ipython==8.26.0 +ipython==8.27.0 ipython-genutils==0.2.0 -ipywidgets==8.1.3 +ipywidgets==8.1.5 isoduration==20.11.0 jax==0.4.31 jaxlib==0.4.31 @@ -75,7 +75,7 @@ json5==0.9.25 jsonpointer==3.0.0 jsonschema==4.23.0 jsonschema-specifications==2023.12.1 -jupyter==1.0.0 +jupyter==1.1.1 jupyter-cache==1.0.0 jupyter-client==8.6.2 jupyter-console==6.6.3 @@ -85,42 +85,42 @@ jupyter-lsp==2.2.5 jupyter-server==2.14.2 jupyter-server-mathjax==0.2.6 jupyter-server-terminals==0.5.3 -jupyterlab==4.2.4 -jupyterlab-code-formatter==3.0.0 +jupyterlab==4.2.5 +jupyterlab-code-formatter==3.0.2 jupyterlab-git==0.50.1 jupyterlab-lsp==5.1.0 jupyterlab-myst==2.4.2 jupyterlab-pygments==0.3.0 jupyterlab-server==2.27.3 -jupyterlab-widgets==3.0.11 -keras==3.4.1 -kiwisolver==1.4.5 +jupyterlab-widgets==3.0.13 +keras==3.5.0 +kiwisolver==1.4.7 libclang==18.1.1 llvmlite==0.43.0 lsprotocol==2023.0.1 -markdown==3.6 +markdown==3.7 markdown-it-py==3.0.0 markupsafe==2.1.5 -matplotlib==3.9.1.post1 +matplotlib==3.9.2 matplotlib-inline==0.1.7 -mdit-py-plugins==0.4.1 +mdit-py-plugins==0.4.2 mdurl==0.1.2 mistune==3.0.2 ml-dtypes==0.3.2 mpmath==1.3.0 -mypy==1.11.1 +mypy==1.11.2 mypy-extensions==1.0.0 myst-nb==1.1.1 myst-parser==4.0.0 namex==0.0.8 nbclient==0.6.8 nbconvert==7.16.4 -nbdime==4.0.1 +nbdime==4.0.2 nbformat==5.10.4 nbmake==1.5.4 nest-asyncio==1.6.0 nodeenv==1.9.1 -notebook==7.2.1 +notebook==7.2.2 notebook-shim==0.2.4 numba==0.60.0 numpy==1.26.4 @@ -131,11 +131,11 @@ packaging==24.1 pandas==2.2.2 pandocfilters==1.5.1 parso==0.8.4 -particle==0.24.0 +particle==0.25.0 pexpect==4.9.0 phasespace==1.10.3 pillow==10.4.0 -platformdirs==4.2.2 +platformdirs==4.3.2 pluggy==1.5.0 pre-commit==3.8.0 prometheus-client==0.20.0 @@ -149,9 +149,9 @@ pyarrow==17.0.0 pycparser==2.22 pydata-sphinx-theme==0.15.4 pygments==2.18.0 -pyparsing==3.1.2 +pyparsing==3.1.4 pyproject-api==1.7.1 -pytest==8.3.2 +pytest==8.3.3 pytest-benchmark==4.0.0 pytest-cov==5.0.0 pytest-mock==3.14.0 @@ -161,32 +161,30 @@ python-dateutil==2.9.0.post0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 python-lsp-ruff==2.2.2 -python-lsp-server==1.11.0 +python-lsp-server==1.12.0 pytoolconfig==1.3.1 pytz==2024.1 pyyaml==6.0.2 -pyzmq==26.1.0 +pyzmq==26.2.0 qrules==0.10.2 -qtconsole==5.5.2 -qtpy==2.4.1 referencing==0.35.1 requests==2.32.3 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.7.1 +rich==13.8.1 rope==1.13.0 rpds-py==0.20.0 -ruff==0.5.6 -scipy==1.14.0 +ruff==0.6.4 +scipy==1.14.1 send2trash==1.8.3 six==1.16.0 smmap==5.0.1 sniffio==1.3.1 snowballstemmer==2.2.0 -soupsieve==2.5 +soupsieve==2.6 sphinx==8.0.2 sphinx-api-relink==0.0.9 -sphinx-autobuild==2024.4.16 +sphinx-autobuild==2024.9.3 sphinx-book-theme==1.1.3 sphinx-codeautolink==0.15.2 sphinx-comments==0.0.3 @@ -201,10 +199,10 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==2.0.0 sphinxcontrib-serializinghtml==2.0.0 sphobjinv==2.3.1.1 -sqlalchemy==2.0.32 +sqlalchemy==2.0.34 stack-data==0.6.3 -starlette==0.38.2 -sympy==1.13.1 +starlette==0.38.5 +sympy==1.13.2 tabulate==0.9.0 tensorboard==2.16.2 tensorboard-data-server==0.7.2 @@ -214,33 +212,33 @@ termcolor==2.4.0 terminado==0.18.1 tinycss2==1.3.0 tornado==6.4.1 -tox==4.17.0 +tox==4.18.1 tqdm==4.66.5 traitlets==5.14.3 -types-protobuf==5.27.0.20240626 -types-python-dateutil==2.9.0.20240316 -types-pyyaml==6.0.12.20240724 -types-requests==2.32.0.20240712 -types-tensorflow==2.16.0.20240804 +types-protobuf==5.27.0.20240907 +types-python-dateutil==2.9.0.20240906 +types-pyyaml==6.0.12.20240808 +types-requests==2.32.0.20240907 +types-tensorflow==2.17.0.20240820 types-tqdm==4.66.0.20240417 typing-extensions==4.12.2 tzdata==2024.1 ujson==5.10.0 uri-template==1.3.0 urllib3==2.2.2 -uvicorn==0.30.5 -virtualenv==20.26.3 -watchfiles==0.23.0 +uvicorn==0.30.6 +virtualenv==20.26.4 +watchfiles==0.24.0 wcwidth==0.2.13 -webcolors==24.6.0 +webcolors==24.8.0 webencodings==0.5.1 websocket-client==1.8.0 -websockets==12.0 -werkzeug==3.0.3 +websockets==13.0.1 +werkzeug==3.0.4 wheel==0.44.0 -widgetsnbextension==4.0.11 +widgetsnbextension==4.0.13 wrapt==1.16.0 -zipp==3.19.2 +zipp==3.20.1 # The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.8.txt b/.constraints/py3.8.txt index dea5cfb8..a39ad9f1 100644 --- a/.constraints/py3.8.txt +++ b/.constraints/py3.8.txt @@ -12,14 +12,14 @@ asttokens==2.4.1 astunparse==1.6.3 async-lru==2.0.4 attrs==24.2.0 -babel==2.15.0 +babel==2.16.0 backcall==0.2.0 beautifulsoup4==4.12.3 bleach==6.1.0 -cachetools==5.4.0 -cattrs==23.2.3 -certifi==2024.7.4 -cffi==1.17.0 +cachetools==5.5.0 +cattrs==24.1.0 +certifi==2024.8.30 +cffi==1.17.1 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 @@ -39,38 +39,38 @@ docstring-to-markdown==0.15 docutils==0.19 exceptiongroup==1.2.2 execnet==2.1.1 -executing==2.0.1 +executing==2.1.0 fastjsonschema==2.20.0 -filelock==3.15.4 +filelock==3.16.0 flatbuffers==24.3.25 fonttools==4.53.1 fqdn==1.5.1 gast==0.4.0 gitdb==4.0.11 gitpython==3.1.43 -google-auth==2.33.0 +google-auth==2.34.0 google-auth-oauthlib==0.4.6 google-pasta==0.2.0 graphviz==0.20.3 -greenlet==3.0.3 -grpcio==1.65.4 +greenlet==3.1.0 +grpcio==1.66.1 h11==0.14.0 h5py==3.11.0 hepunits==2.3.4 httpcore==1.0.5 -httpx==0.27.0 +httpx==0.27.2 identify==2.6.0 -idna==3.7 +idna==3.8 imagesize==1.4.1 iminuit==2.27.0 -importlib-metadata==8.2.0 -importlib-resources==6.4.0 +importlib-metadata==8.4.0 +importlib-resources==6.4.5 iniconfig==2.0.0 ipykernel==6.29.5 ipympl==0.9.3 ipython==8.12.3 ipython-genutils==0.2.0 -ipywidgets==8.1.3 +ipywidgets==8.1.5 isoduration==20.11.0 jax==0.4.13 jaxlib==0.4.13 @@ -80,7 +80,7 @@ json5==0.9.25 jsonpointer==3.0.0 jsonschema==4.23.0 jsonschema-specifications==2023.12.1 -jupyter==1.0.0 +jupyter==1.1.1 jupyter-cache==0.6.1 jupyter-client==8.6.2 jupyter-console==6.6.3 @@ -90,21 +90,21 @@ jupyter-lsp==2.2.5 jupyter-server==2.14.2 jupyter-server-mathjax==0.2.6 jupyter-server-terminals==0.5.3 -jupyterlab==4.2.4 -jupyterlab-code-formatter==3.0.0 +jupyterlab==4.2.5 +jupyterlab-code-formatter==3.0.2 jupyterlab-git==0.50.1 jupyterlab-lsp==5.1.0 jupyterlab-myst==2.4.2 jupyterlab-pygments==0.3.0 jupyterlab-server==2.27.3 -jupyterlab-widgets==3.0.11 +jupyterlab-widgets==3.0.13 keras==2.11.0 -kiwisolver==1.4.5 +kiwisolver==1.4.7 libclang==18.1.1 livereload==2.7.0 llvmlite==0.41.1 lsprotocol==2023.0.1 -markdown==3.6 +markdown==3.7 markdown-it-py==2.2.0 markupsafe==2.1.5 matplotlib==3.7.5 @@ -114,18 +114,18 @@ mdurl==0.1.2 mistune==3.0.2 ml-dtypes==0.2.0 mpmath==1.3.0 -mypy==1.11.1 +mypy==1.11.2 mypy-extensions==1.0.0 myst-nb==0.17.2 myst-parser==0.18.1 nbclient==0.6.8 nbconvert==7.16.4 -nbdime==4.0.1 +nbdime==4.0.2 nbformat==5.10.4 nbmake==1.5.4 nest-asyncio==1.6.0 nodeenv==1.9.1 -notebook==7.2.1 +notebook==7.2.2 notebook-shim==0.2.4 numba==0.58.1 numpy==1.24.4 @@ -136,13 +136,13 @@ packaging==24.1 pandas==2.0.3 pandocfilters==1.5.1 parso==0.8.4 -particle==0.24.0 +particle==0.25.0 pexpect==4.9.0 phasespace==1.9.0 pickleshare==0.7.5 pillow==10.4.0 pkgutil-resolve-name==1.3.10 -platformdirs==4.2.2 +platformdirs==4.3.2 pluggy==1.5.0 pre-commit==3.5.0 prometheus-client==0.20.0 @@ -153,14 +153,14 @@ ptyprocess==0.7.0 pure-eval==0.2.3 py-cpuinfo==9.0.0 pyarrow==17.0.0 -pyasn1==0.6.0 -pyasn1-modules==0.4.0 +pyasn1==0.6.1 +pyasn1-modules==0.4.1 pycparser==2.22 pydata-sphinx-theme==0.14.4 pygments==2.18.0 -pyparsing==3.1.2 +pyparsing==3.1.4 pyproject-api==1.7.1 -pytest==8.3.2 +pytest==8.3.3 pytest-benchmark==4.0.0 pytest-cov==5.0.0 pytest-mock==3.14.0 @@ -170,14 +170,12 @@ python-dateutil==2.9.0.post0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 python-lsp-ruff==2.2.2 -python-lsp-server==1.11.0 +python-lsp-server==1.12.0 pytoolconfig==1.3.1 pytz==2024.1 pyyaml==6.0.2 -pyzmq==26.1.0 +pyzmq==26.2.0 qrules==0.10.2 -qtconsole==5.5.2 -qtpy==2.4.1 referencing==0.35.1 requests==2.32.3 requests-oauthlib==2.0.0 @@ -186,14 +184,14 @@ rfc3986-validator==0.1.1 rope==1.13.0 rpds-py==0.20.0 rsa==4.9 -ruff==0.5.6 +ruff==0.6.4 scipy==1.10.1 send2trash==1.8.3 six==1.16.0 smmap==5.0.1 sniffio==1.3.1 snowballstemmer==2.2.0 -soupsieve==2.5 +soupsieve==2.6 sphinx==5.3.0 sphinx-api-relink==0.0.9 sphinx-autobuild==2021.3.14 @@ -211,9 +209,9 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 sphobjinv==2.3.1.1 -sqlalchemy==2.0.32 +sqlalchemy==2.0.34 stack-data==0.6.3 -sympy==1.13.1 +sympy==1.13.2 tabulate==0.9.0 tensorboard==2.11.2 tensorboard-data-server==0.6.1 @@ -227,30 +225,30 @@ terminado==0.18.1 tinycss2==1.3.0 tomli==2.0.1 tornado==6.4.1 -tox==4.17.0 +tox==4.18.1 tqdm==4.66.5 traitlets==5.14.3 -types-protobuf==5.27.0.20240626 -types-python-dateutil==2.9.0.20240316 -types-pyyaml==6.0.12.20240724 -types-requests==2.32.0.20240712 -types-tensorflow==2.16.0.20240804 +types-protobuf==5.27.0.20240907 +types-python-dateutil==2.9.0.20240906 +types-pyyaml==6.0.12.20240808 +types-requests==2.32.0.20240907 +types-tensorflow==2.17.0.20240820 types-tqdm==4.66.0.20240417 typing-extensions==4.12.2 tzdata==2024.1 ujson==5.10.0 uri-template==1.3.0 urllib3==2.2.2 -virtualenv==20.26.3 +virtualenv==20.26.4 wcwidth==0.2.13 -webcolors==24.6.0 +webcolors==24.8.0 webencodings==0.5.1 websocket-client==1.8.0 -werkzeug==3.0.3 +werkzeug==3.0.4 wheel==0.44.0 -widgetsnbextension==4.0.11 +widgetsnbextension==4.0.13 wrapt==1.16.0 -zipp==3.19.2 +zipp==3.20.1 # The following packages were excluded from the output: # setuptools diff --git a/.constraints/py3.9.txt b/.constraints/py3.9.txt index 3092e76a..6134e11b 100644 --- a/.constraints/py3.9.txt +++ b/.constraints/py3.9.txt @@ -12,13 +12,13 @@ asttokens==2.4.1 astunparse==1.6.3 async-lru==2.0.4 attrs==24.2.0 -babel==2.15.0 +babel==2.16.0 beautifulsoup4==4.12.3 bleach==6.1.0 -cachetools==5.4.0 -cattrs==23.2.3 -certifi==2024.7.4 -cffi==1.17.0 +cachetools==5.5.0 +cattrs==24.1.0 +certifi==2024.8.30 +cffi==1.17.1 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 @@ -26,7 +26,7 @@ click==8.1.7 cloudpickle==3.0.0 colorama==0.4.6 comm==0.2.2 -contourpy==1.2.1 +contourpy==1.3.0 coverage==7.6.1 cycler==0.12.1 debugpy==1.8.5 @@ -38,9 +38,9 @@ docstring-to-markdown==0.15 docutils==0.21.2 exceptiongroup==1.2.2 execnet==2.1.1 -executing==2.0.1 +executing==2.1.0 fastjsonschema==2.20.0 -filelock==3.15.4 +filelock==3.16.0 flatbuffers==24.3.25 fonttools==4.53.1 fqdn==1.5.1 @@ -49,25 +49,25 @@ gitdb==4.0.11 gitpython==3.1.43 google-pasta==0.2.0 graphviz==0.20.3 -greenlet==3.0.3 -grpcio==1.65.4 +greenlet==3.1.0 +grpcio==1.66.1 h11==0.14.0 h5py==3.11.0 hepunits==2.3.4 httpcore==1.0.5 -httpx==0.27.0 +httpx==0.27.2 identify==2.6.0 -idna==3.7 +idna==3.8 imagesize==1.4.1 -iminuit==2.28.0 -importlib-metadata==8.2.0 -importlib-resources==6.4.0 +iminuit==2.29.1 +importlib-metadata==8.4.0 +importlib-resources==6.4.5 iniconfig==2.0.0 ipykernel==6.29.5 ipympl==0.9.4 ipython==8.18.1 ipython-genutils==0.2.0 -ipywidgets==8.1.3 +ipywidgets==8.1.5 isoduration==20.11.0 jax==0.4.30 jaxlib==0.4.30 @@ -77,7 +77,7 @@ json5==0.9.25 jsonpointer==3.0.0 jsonschema==4.23.0 jsonschema-specifications==2023.12.1 -jupyter==1.0.0 +jupyter==1.1.1 jupyter-cache==1.0.0 jupyter-client==8.6.2 jupyter-console==6.6.3 @@ -87,42 +87,42 @@ jupyter-lsp==2.2.5 jupyter-server==2.14.2 jupyter-server-mathjax==0.2.6 jupyter-server-terminals==0.5.3 -jupyterlab==4.2.4 -jupyterlab-code-formatter==3.0.0 +jupyterlab==4.2.5 +jupyterlab-code-formatter==3.0.2 jupyterlab-git==0.50.1 jupyterlab-lsp==5.1.0 jupyterlab-myst==2.4.2 jupyterlab-pygments==0.3.0 jupyterlab-server==2.27.3 -jupyterlab-widgets==3.0.11 -keras==3.4.1 -kiwisolver==1.4.5 +jupyterlab-widgets==3.0.13 +keras==3.5.0 +kiwisolver==1.4.7 libclang==18.1.1 llvmlite==0.43.0 lsprotocol==2023.0.1 -markdown==3.6 +markdown==3.7 markdown-it-py==3.0.0 markupsafe==2.1.5 -matplotlib==3.9.1.post1 +matplotlib==3.9.2 matplotlib-inline==0.1.7 -mdit-py-plugins==0.4.1 +mdit-py-plugins==0.4.2 mdurl==0.1.2 mistune==3.0.2 ml-dtypes==0.3.2 mpmath==1.3.0 -mypy==1.11.1 +mypy==1.11.2 mypy-extensions==1.0.0 myst-nb==1.1.1 myst-parser==3.0.1 namex==0.0.8 nbclient==0.6.8 nbconvert==7.16.4 -nbdime==4.0.1 +nbdime==4.0.2 nbformat==5.10.4 nbmake==1.5.4 nest-asyncio==1.6.0 nodeenv==1.9.1 -notebook==7.2.1 +notebook==7.2.2 notebook-shim==0.2.4 numba==0.60.0 numpy==1.26.4 @@ -133,11 +133,11 @@ packaging==24.1 pandas==2.2.2 pandocfilters==1.5.1 parso==0.8.4 -particle==0.24.0 +particle==0.25.0 pexpect==4.9.0 phasespace==1.10.3 pillow==10.4.0 -platformdirs==4.2.2 +platformdirs==4.3.2 pluggy==1.5.0 pre-commit==3.8.0 prometheus-client==0.20.0 @@ -151,9 +151,9 @@ pyarrow==17.0.0 pycparser==2.22 pydata-sphinx-theme==0.15.4 pygments==2.18.0 -pyparsing==3.1.2 +pyparsing==3.1.4 pyproject-api==1.7.1 -pytest==8.3.2 +pytest==8.3.3 pytest-benchmark==4.0.0 pytest-cov==5.0.0 pytest-mock==3.14.0 @@ -163,32 +163,30 @@ python-dateutil==2.9.0.post0 python-json-logger==2.0.7 python-lsp-jsonrpc==1.1.2 python-lsp-ruff==2.2.2 -python-lsp-server==1.11.0 +python-lsp-server==1.12.0 pytoolconfig==1.3.1 pytz==2024.1 pyyaml==6.0.2 -pyzmq==26.1.0 +pyzmq==26.2.0 qrules==0.10.2 -qtconsole==5.5.2 -qtpy==2.4.1 referencing==0.35.1 requests==2.32.3 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.7.1 +rich==13.8.1 rope==1.13.0 rpds-py==0.20.0 -ruff==0.5.6 +ruff==0.6.4 scipy==1.13.1 send2trash==1.8.3 six==1.16.0 smmap==5.0.1 sniffio==1.3.1 snowballstemmer==2.2.0 -soupsieve==2.5 +soupsieve==2.6 sphinx==7.4.7 sphinx-api-relink==0.0.9 -sphinx-autobuild==2024.4.16 +sphinx-autobuild==2024.9.3 sphinx-book-theme==1.1.3 sphinx-codeautolink==0.15.2 sphinx-comments==0.0.3 @@ -203,10 +201,10 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==2.0.0 sphinxcontrib-serializinghtml==2.0.0 sphobjinv==2.3.1.1 -sqlalchemy==2.0.32 +sqlalchemy==2.0.34 stack-data==0.6.3 -starlette==0.38.2 -sympy==1.13.1 +starlette==0.38.5 +sympy==1.13.2 tabulate==0.9.0 tensorboard==2.16.2 tensorboard-data-server==0.7.2 @@ -218,33 +216,33 @@ terminado==0.18.1 tinycss2==1.3.0 tomli==2.0.1 tornado==6.4.1 -tox==4.17.0 +tox==4.18.1 tqdm==4.66.5 traitlets==5.14.3 -types-protobuf==5.27.0.20240626 -types-python-dateutil==2.9.0.20240316 -types-pyyaml==6.0.12.20240724 -types-requests==2.32.0.20240712 -types-tensorflow==2.16.0.20240804 +types-protobuf==5.27.0.20240907 +types-python-dateutil==2.9.0.20240906 +types-pyyaml==6.0.12.20240808 +types-requests==2.32.0.20240907 +types-tensorflow==2.17.0.20240820 types-tqdm==4.66.0.20240417 typing-extensions==4.12.2 tzdata==2024.1 ujson==5.10.0 uri-template==1.3.0 urllib3==2.2.2 -uvicorn==0.30.5 -virtualenv==20.26.3 -watchfiles==0.23.0 +uvicorn==0.30.6 +virtualenv==20.26.4 +watchfiles==0.24.0 wcwidth==0.2.13 -webcolors==24.6.0 +webcolors==24.8.0 webencodings==0.5.1 websocket-client==1.8.0 -websockets==12.0 -werkzeug==3.0.3 +websockets==13.0.1 +werkzeug==3.0.4 wheel==0.44.0 -widgetsnbextension==4.0.11 +widgetsnbextension==4.0.13 wrapt==1.16.0 -zipp==3.19.2 +zipp==3.20.1 # The following packages were excluded from the output: # setuptools diff --git a/.cspell.json b/.cspell.json index e7428e5b..02dfcee4 100644 --- a/.cspell.json +++ b/.cspell.json @@ -24,8 +24,9 @@ "*.ico", ".constraints/*.txt", ".editorconfig", + ".envrc", + ".gitattributes", ".gitignore", - ".gitpod.*", ".pre-commit-config.yaml", ".prettierignore", ".readthedocs.yml", diff --git a/.envrc b/.envrc index cce3aa58..e1d415a5 100644 --- a/.envrc +++ b/.envrc @@ -1 +1,10 @@ -layout anaconda +if [ -e .venv ]; then + source .venv/bin/activate +elif [ -e venv ]; then + source venv/bin/activate +elif [ -e .pixi ]; then + watch_file pixi.lock + eval "$(pixi shell-hook)" +else + layout anaconda +fi diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..18f6c7e9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +pixi.lock linguist-language=YAML linguist-generated=true diff --git a/.gitignore b/.gitignore index 5dc65be5..c54ff596 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ prof/ # Virtual environments *venv/ +.pixi/ .tox/ pyvenv*/ @@ -47,7 +48,6 @@ pyvenv*/ !.cspell.json !.github/*.yml !.github/*/*.yml -!.gitpod.yml !.pre-commit-config.yaml !.readthedocs.yml !.vscode/*.json diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index e64bb155..00000000 --- a/.gitpod.yml +++ /dev/null @@ -1,36 +0,0 @@ -tasks: - - init: pyenv local 3.10 - - init: pip install -c .constraints/py3.10.txt -e .[dev] - -github: - prebuilds: - master: true - branches: false - pullRequests: true - pullRequestsFromForks: true - addComment: false - addBadge: false - addLabel: false - -vscode: - extensions: - - charliermarsh.ruff - - christian-kohler.path-intellisense - - eamodio.gitlens - - editorconfig.editorconfig - - esbenp.prettier-vscode - - executablebookproject.myst-highlight - - github.vscode-github-actions - - github.vscode-pull-request-github - - ms-python.mypy-type-checker - - ms-python.python - - ms-python.vscode-pylance - - ms-vscode.live-server - - ms-vsliveshare.vsliveshare - - redhat.vscode-yaml - - ryanluker.vscode-coverage-gutters - - soulcode.vscode-unwanted-extensions - - stkb.rewrap - - streetsidesoftware.code-spell-checker - - tamasfe.even-better-toml - - yzhang.markdown-all-in-one diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 01c579f5..3e17e64e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,9 +4,7 @@ ci: skip: - check-jsonschema - mypy - - prettier - pyright - - taplo repos: - repo: meta @@ -14,11 +12,33 @@ repos: - id: check-hooks-apply - id: check-useless-excludes + - repo: https://github.com/ComPWA/policy + rev: 0.4.0 + hooks: + - id: check-dev-files + args: + - --ci-test-extras=all + - --dev-python-version=3.10 + - --doc-apt-packages=graphviz + - --no-prettierrc + - --pin-requirements=monthly + - --repo-name=tensorwaves + - --repo-title=TensorWaves + - id: colab-toc-visible + - id: fix-nbformat-version + - id: remove-empty-tags + - id: set-nb-cells + args: + - --add-install-cell + - --additional-packages=IPython + - --extras-require=doc,jax,pwa,viz + - repo: https://github.com/kynan/nbstripout rev: 0.7.1 hooks: - id: nbstripout args: + - --drop-empty-cells - --extra-keys - | cell.attachments @@ -41,29 +61,8 @@ repos: metadata.varInspector metadata.vscode - - repo: https://github.com/ComPWA/policy - rev: 0.3.18 - hooks: - - id: check-dev-files - args: - - --ci-test-extras=all - - --dev-python-version=3.10 - - --doc-apt-packages=graphviz - - --no-prettierrc - - --pin-requirements=monthly - - --repo-name=tensorwaves - - --repo-title=TensorWaves - - id: colab-toc-visible - - id: fix-nbformat-version - - id: remove-empty-tags - - id: set-nb-cells - args: - - --add-install-cell - - --additional-packages=IPython - - --extras-require=doc,jax,pwa,viz - - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.5.6 + rev: v0.6.4 hooks: - id: ruff args: [--fix] @@ -98,15 +97,15 @@ repos: )$ - id: trailing-whitespace - - repo: https://github.com/pre-commit/mirrors-prettier - rev: v4.0.0-alpha.8 + - repo: https://github.com/ComPWA/prettier-pre-commit + rev: v3.3.3 hooks: - id: prettier - - repo: https://github.com/ComPWA/mirrors-taplo - rev: v0.8.1 + - repo: https://github.com/ComPWA/taplo-pre-commit + rev: v0.9.3 hooks: - - id: taplo + - id: taplo-format - repo: https://github.com/pappasam/toml-sort rev: v0.23.1 @@ -116,7 +115,7 @@ repos: - --in-place - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.1 + rev: 0.29.2 hooks: - id: check-jsonschema name: Check CITATION.cff @@ -129,12 +128,12 @@ repos: pass_filenames: false - repo: https://github.com/streetsidesoftware/cspell-cli - rev: v8.13.1 + rev: v8.13.3 hooks: - id: cspell - repo: https://github.com/editorconfig-checker/editorconfig-checker.python - rev: 2.7.3 + rev: 3.0.3 hooks: - id: editorconfig-checker name: editorconfig @@ -155,6 +154,6 @@ repos: - python - repo: https://github.com/ComPWA/mirrors-pyright - rev: v1.1.374 + rev: v1.1.379 hooks: - id: pyright diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 55cb02b9..bf49b542 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -8,6 +8,7 @@ "executablebookproject.myst-highlight", "github.vscode-github-actions", "github.vscode-pull-request-github", + "mhutchie.git-graph", "ms-python.mypy-type-checker", "ms-python.python", "ms-python.vscode-pylance", diff --git a/.vscode/settings.json b/.vscode/settings.json index 5ebd2cf5..52db8371 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -34,7 +34,8 @@ "diffEditor.experimental.showMoves": true, "editor.formatOnSave": true, "files.associations": { - "**/.constraints/py*.txt": "pip-requirements" + "**/.constraints/py*.txt": "pip-requirements", + "**/pixi.lock": "yaml" }, "files.watcherExclude": { "**/*_cache/**": true, diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4cfacdba..efbb7d90 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,5 @@ # How to contribute? [![Open in Visual Studio Code](https://img.shields.io/badge/vscode-open-blue?logo=visualstudiocode)](https://open.vscode.dev/ComPWA/tensorwaves) -[![GitPod](https://img.shields.io/badge/gitpod-open-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ComPWA/tensorwaves) This package is part of the [ComPWA Organization](https://github.com/ComPWA). For more information about how to contribute to the packages, go to [compwa.github.io/develop](https://compwa.github.io/develop)! diff --git a/README.md b/README.md index b5e1a3be..20f6465f 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,6 @@ [![Binder](https://static.mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ComPWA/tensorwaves/stable?filepath=docs/usage) [![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ComPWA/tensorwaves/blob/stable) [![Open in Visual Studio Code](https://img.shields.io/badge/vscode-open-blue?logo=visualstudiocode)](https://open.vscode.dev/ComPWA/tensorwaves) -[![GitPod](https://img.shields.io/badge/gitpod-open-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ComPWA/tensorwaves) [![Documentation build status](https://readthedocs.org/projects/tensorwaves/badge/?version=latest)](https://tensorwaves.readthedocs.io) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/ComPWA/tensorwaves/main.svg)](https://results.pre-commit.ci/latest/github/ComPWA/tensorwaves/main) diff --git a/environment.yml b/environment.yml index 138c86dd..ea62d20f 100644 --- a/environment.yml +++ b/environment.yml @@ -8,6 +8,5 @@ dependencies: - pip: - -c .constraints/py3.10.txt -e .[dev] variables: - PRETTIER_LEGACY_CLI: 1 PYDEVD_DISABLE_FILE_VALIDATION: 1 PYTHONHASHSEED: 0 diff --git a/pyproject.toml b/pyproject.toml index e187a371..7160ffb2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -182,6 +182,8 @@ namespaces = false where = ["src"] [tool.setuptools_scm] +local_scheme = "no-local-version" +version_scheme = "post-release" write_to = "src/tensorwaves/version.py" [tool.coverage.run] @@ -229,6 +231,142 @@ module = ["sympy.*"] ignore_missing_imports = true module = ["tensorflow.python.ops.numpy_ops"] +[tool.pixi.project] +channels = ["conda-forge"] +platforms = ["linux-64"] + +[tool.pixi.activation.env] +PRETTIER_LEGACY_CLI = "1" +PYDEVD_DISABLE_FILE_VALIDATION = "1" +PYTHONHASHSEED = "0" + +[tool.pixi.dependencies] +graphviz = "*" +python = "3.10.*" + +[tool.pixi.environments] +default = {features = [ + "all", + "dev", + "doc", + "jax", + "jupyter", + "numba", + "phasespace", + "phsp", + "pwa", + "scipy", + "sty", + "tensorflow", + "test", + "test-types", + "tf", + "types", + "viz", +]} + +[tool.pixi.feature.dev.tasks.bench] +cmd = """ +pytest benchmarks \ + --durations=0 \ + --benchmark-autosave \ + -k benchmark +""" + +[tool.pixi.feature.dev.tasks.ci] +depends_on = ["docnb", "linkcheck", "sty", "tests"] + +[tool.pixi.feature.dev.tasks.deps] +cmd = """ +pydeps tensorwaves \ + -o ../module_structure.svg \ + --exclude *._* \ + --max-bacon=1 \ + --noshow +""" + +[tool.pixi.feature.dev.tasks.doc] +cmd = """ +sphinx-build \ + --builder dirhtml \ + --fail-on-warning \ + --keep-going \ + --show-traceback \ + docs/ docs/_build/html +""" +env = {FORCE_COLOR = "yes"} + +[tool.pixi.feature.dev.tasks.doclive] +cmd = """ +sphinx-autobuild \ + --builder dirhtml \ + --open-browser \ + --re-ignore '.*/__pycache__/.*' \ + --re-ignore '.*/.ipynb_checkpoints/.*' \ + --re-ignore 'docs/_build/.*' \ + --re-ignore 'docs/.*\\.csv' \ + --re-ignore 'docs/.*\\.gif' \ + --re-ignore 'docs/.*\\.gv' \ + --re-ignore 'docs/.*\\.inv' \ + --re-ignore 'docs/.*\\.json' \ + --re-ignore 'docs/.*\\.pickle' \ + --re-ignore 'docs/.*\\.png' \ + --re-ignore 'docs/.*\\.svg' \ + --re-ignore 'docs/.*\\.yaml' \ + --re-ignore 'docs/.*\\.yml' \ + --re-ignore 'docs/api/.*' \ + --re-ignore 'docs/usage/logs/.*' \ + --re-ignore docs/usage/sub_expr_f? \ + --watch docs \ + --watch src \ + docs/ docs/_build/html +""" +env = {FORCE_COLOR = "yes"} + +[tool.pixi.feature.dev.tasks.docnb] +cmd = "pixi run doc" +env = {EXECUTE_NB = "yes", FORCE_COLOR = "yes"} + +[tool.pixi.feature.dev.tasks.docnblive] +cmd = "pixi run doclive" +env = {EXECUTE_NB = "yes", FORCE_COLOR = "yes"} + +[tool.pixi.feature.dev.tasks.jax] +cmd = """ +pytest \ + -k "benchmark or not benchmark" \ + -k "not (ampform or four_momenta or numba or tensorflow or tf)" \ + --benchmark-disable +""" + +[tool.pixi.feature.dev.tasks.linkcheck] +cmd = """ +sphinx-build \ + --builder linkcheck \ + --show-traceback \ + docs/ docs/_build/linkcheck +""" +env = {FORCE_COLOR = "yes"} + +[tool.pixi.feature.dev.tasks.nb] +cmd = "pytest --nbmake docs" + +[tool.pixi.feature.dev.tasks.sty] +cmd = "pre-commit run -a" +env = {SKIP = "pyright"} + +[tool.pixi.feature.dev.tasks.tests] +cmd = """ +pytest src tests \ + --cov-fail-under=90 \ + --cov-report=html \ + --cov-report=xml \ + --cov=tensorwaves +""" + +[tool.pixi.pypi-dependencies] +tensorwaves = {path = ".", editable = true} + [tool.pyright] exclude = [ "**/.git", @@ -309,7 +447,6 @@ src = [ "src", "tests", ] -target-version = "py38" [tool.ruff.format] docstring-code-format = true @@ -458,6 +595,5 @@ sort_first = [ "tool.setuptools", "tool.setuptools_scm", ] -sort_table_keys = true spaces_indent_inline_array = 4 trailing_comma_inline_array = true diff --git a/tox.ini b/tox.ini index 10595661..5e40ab8d 100644 --- a/tox.ini +++ b/tox.ini @@ -49,9 +49,10 @@ allowlist_externals = sphinx-build commands = sphinx-build \ + --builder dirhtml \ + --fail-on-warning \ --keep-going \ - -TW \ - -b dirhtml \ + --show-traceback \ docs/ docs/_build/html description = Build documentation and API through Sphinx @@ -64,9 +65,11 @@ allowlist_externals = sphinx-autobuild commands = sphinx-autobuild \ + --builder dirhtml \ --open-browser \ - --re-ignore .*/.ipynb_checkpoints/.* \ --re-ignore .*/__pycache__/.* \ + --re-ignore .*/.ipynb_checkpoints/.* \ + --re-ignore docs/_build/.* \ --re-ignore docs/.*\.csv \ --re-ignore docs/.*\.gif \ --re-ignore docs/.*\.gv \ @@ -77,13 +80,11 @@ commands = --re-ignore docs/.*\.svg \ --re-ignore docs/.*\.yaml \ --re-ignore docs/.*\.yml \ - --re-ignore docs/_build/.* \ --re-ignore docs/api/.* \ --re-ignore docs/usage/logs/.* \ --re-ignore docs/usage/sub_expr_f? \ --watch docs \ --watch src \ - -b dirhtml \ docs/ docs/_build/html description = Set up a server to directly preview changes to the HTML pages @@ -96,9 +97,10 @@ allowlist_externals = sphinx-build commands = sphinx-build \ + --builder dirhtml \ + --fail-on-warning \ --keep-going \ - -TW \ - -b dirhtml \ + --show-traceback \ docs/ docs/_build/html description = Build documentation through Sphinx WITH output of Jupyter notebooks @@ -112,9 +114,11 @@ allowlist_externals = sphinx-autobuild commands = sphinx-autobuild \ + --builder dirhtml \ --open-browser \ - --re-ignore .*/.ipynb_checkpoints/.* \ --re-ignore .*/__pycache__/.* \ + --re-ignore .*/.ipynb_checkpoints/.* \ + --re-ignore docs/_build/.* \ --re-ignore docs/.*\.csv \ --re-ignore docs/.*\.gif \ --re-ignore docs/.*\.gv \ @@ -125,13 +129,11 @@ commands = --re-ignore docs/.*\.svg \ --re-ignore docs/.*\.yaml \ --re-ignore docs/.*\.yml \ - --re-ignore docs/_build/.* \ --re-ignore docs/api/.* \ --re-ignore docs/usage/logs/.* \ --re-ignore docs/usage/sub_expr_f? \ --watch docs \ --watch src \ - -b dirhtml \ docs/ docs/_build/html description = Set up a server to directly preview changes to the HTML pages @@ -165,8 +167,8 @@ allowlist_externals = sphinx-build commands = sphinx-build \ - -T \ - -b linkcheck \ + --builder linkcheck \ + --show-traceback \ docs/ docs/_build/linkcheck description = Check external links in the documentation (requires internet connection)