From d18fbcbea84c59b31739954f3f7f71bce11b0b74 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Mon, 9 Oct 2023 18:06:27 +0200 Subject: [PATCH] MAINT: update pip constraints and pre-commit (#358) * DX: lint PRs with shared commitlint config * DX: merge `setup.cfg` into `pyproject.toml` * DX: remove `.prettierrc` * DX: remove GitHub Issue templates * DX: synchronize ComPWA dev environment --------- Signed-off-by: dependabot[bot] Co-authored-by: GitHub Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .constraints/py3.10.txt | 126 +++++++------- .constraints/py3.11.txt | 126 +++++++------- .constraints/py3.7.txt | 50 +++--- .constraints/py3.8.txt | 126 +++++++------- .constraints/py3.9.txt | 128 +++++++------- .cspell.json | 21 +-- .github/ISSUE_TEMPLATE/bug_report.md | 32 ---- .github/ISSUE_TEMPLATE/feature_request.md | 22 --- .github/pull_request_template.md | 11 -- .github/workflows/pr-linting.yml | 21 +-- .github/workflows/release-drafter.yml | 2 +- .gitignore | 1 - .gitpod.yml | 1 - .markdownlint.json | 7 - .pre-commit-config.yaml | 40 +++-- .prettierrc | 1 - .taplo.toml | 10 +- .vscode/extensions.json | 2 +- .vscode/settings.json | 11 +- commitlint.config.js | 11 -- docs/_templates/genindex.html | 9 +- docs/conf.py | 6 +- docs/index.md | 4 - docs/usage.ipynb | 3 + docs/usage/amplitude.ipynb | 3 + docs/usage/dynamics.ipynb | 3 + .../dynamics/analytic-continuation.ipynb | 3 + docs/usage/dynamics/custom.ipynb | 3 + docs/usage/dynamics/k-matrix.ipynb | 3 + docs/usage/helicity/formalism.ipynb | 3 + docs/usage/helicity/spin-alignment.ipynb | 3 + docs/usage/interactive.ipynb | 3 + docs/usage/kinematics.ipynb | 3 + docs/usage/modify.ipynb | 3 + docs/usage/symplot.ipynb | 3 + pyproject.toml | 164 +++++++++++++++++- setup.cfg | 130 -------------- setup.py | 6 - 38 files changed, 512 insertions(+), 592 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .github/pull_request_template.md delete mode 100644 .markdownlint.json delete mode 100644 .prettierrc delete mode 100644 commitlint.config.js delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.constraints/py3.10.txt b/.constraints/py3.10.txt index fe0aedd6b..5a81dbfc9 100644 --- a/.constraints/py3.10.txt +++ b/.constraints/py3.10.txt @@ -2,124 +2,117 @@ # 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 +# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.10.txt --strip-extras --unsafe-package=ampform --unsafe-package=pip --unsafe-package=setuptools --unsafe-package=symplot # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.0.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 -arrow==1.2.3 +arrow==1.3.0 asttokens==2.4.0 +async-lru==2.0.4 attrs==23.1.0 -babel==2.12.1 +babel==2.13.0 backcall==0.2.0 beautifulsoup4==4.12.2 -black==23.9.0 -bleach==6.0.0 +black==23.9.1 +bleach==6.1.0 cachetools==5.3.1 certifi==2023.7.22 -cffi==1.15.1 +cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 click==8.1.7 colorama==0.4.6 comm==0.1.4 -contourpy==1.1.0 -coverage==7.3.1 -cycler==0.11.0 -debugpy==1.7.0 +contourpy==1.1.1 +coverage==7.3.2 +cycler==0.12.1 +debugpy==1.8.0 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.7 docstring-to-markdown==0.12 docutils==0.17.1 -entrypoints==0.4 exceptiongroup==1.1.3 execnet==2.0.2 -executing==1.2.0 -fastjsonschema==2.18.0 -filelock==3.12.3 -fonttools==4.42.1 +executing==2.0.0 +fastjsonschema==2.18.1 +filelock==3.12.4 +fonttools==4.43.1 fqdn==1.5.1 gprof2dot==2022.7.29 graphviz==0.20.1 -greenlet==2.0.2 +greenlet==3.0.0 hepunits==2.3.2 -identify==2.5.27 +identify==2.5.30 idna==3.4 imagesize==1.4.1 importlib-metadata==6.8.0 iniconfig==2.0.0 ipykernel==6.25.2 ipympl==0.9.3 -ipython==8.15.0 +ipython==8.16.1 ipython-genutils==0.2.0 -ipywidgets==8.1.0 +ipywidgets==8.1.1 isoduration==20.11.0 -jedi==0.19.0 +jedi==0.19.1 jinja2==3.1.2 json5==0.9.14 jsonpointer==2.4 -jsonschema==4.19.0 +jsonschema==4.19.1 jsonschema-specifications==2023.7.1 jupyter-cache==0.6.1 -jupyter-client==7.4.9 -jupyter-core==5.3.1 +jupyter-client==8.3.1 +jupyter-core==5.3.2 jupyter-events==0.7.0 jupyter-lsp==2.2.0 jupyter-server==2.7.3 -jupyter-server-fileid==0.9.0 jupyter-server-terminals==0.4.4 -jupyter-server-ydoc==0.8.0 -jupyter-ydoc==0.2.5 -jupyterlab==3.6.5 +jupyterlab==4.0.6 jupyterlab-code-formatter==2.2.1 -jupyterlab-lsp==4.2.0 +jupyterlab-lsp==5.0.0 jupyterlab-myst==2.0.2 jupyterlab-pygments==0.2.2 -jupyterlab-server==2.24.0 -jupyterlab-widgets==3.0.8 +jupyterlab-server==2.25.0 +jupyterlab-widgets==3.0.9 kiwisolver==1.4.5 latexcodec==2.0.1 livereload==2.6.3 markdown-it-py==2.2.0 markupsafe==2.1.3 -matplotlib==3.7.2 +matplotlib==3.8.0 matplotlib-inline==0.1.6 mdit-py-plugins==0.3.5 mdurl==0.1.2 -mistune==3.0.1 +mistune==3.0.2 mpl-interactions==0.23.2 mpmath==1.3.0 mypy==1.5.1 mypy-extensions==1.0.0 myst-nb==0.17.2 myst-parser==0.18.1 -nbclassic==1.0.0 nbclient==0.6.8 -nbconvert==7.8.0 +nbconvert==7.9.2 nbformat==5.9.2 -nbmake==1.4.3 -nest-asyncio==1.5.7 +nbmake==1.4.5 +nest-asyncio==1.5.8 nodeenv==1.8.0 -notebook==6.5.5 notebook-shim==0.2.3 -numpy==1.25.2 +numpy==1.26.0 overrides==7.4.0 -packaging==23.1 +packaging==23.2 pandocfilters==1.5.0 parso==0.8.3 particle==0.23.0 pathspec==0.11.2 pexpect==4.8.0 pickleshare==0.7.5 -pillow==10.0.0 -platformdirs==3.10.0 +pillow==10.0.1 +platformdirs==3.11.0 pluggy==1.3.0 pre-commit==3.4.0 prometheus-client==0.17.1 @@ -130,9 +123,9 @@ pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydata-sphinx-theme==0.13.3 +pydata-sphinx-theme==0.14.1 pygments==2.16.1 -pyparsing==3.0.9 +pyparsing==3.1.1 pyproject-api==1.6.1 pytest==7.4.2 pytest-cov==4.1.0 @@ -141,20 +134,20 @@ pytest-xdist==3.3.1 python-constraint==1.4.0 python-dateutil==2.8.2 python-json-logger==2.0.7 -python-lsp-jsonrpc==1.1.0 -python-lsp-server==1.8.0 +python-lsp-jsonrpc==1.1.2 +python-lsp-server==1.8.2 pytoolconfig==1.2.5 pyyaml==6.0.1 -pyzmq==24.0.1 +pyzmq==25.1.1 qrules==0.9.8 referencing==0.30.2 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.5.2 -rope==1.9.0 -rpds-py==0.10.2 -ruff==0.0.287 +rich==13.6.0 +rope==1.10.0 +rpds-py==0.10.4 +ruff==0.0.292 send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -167,18 +160,18 @@ 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-thebe==0.2.1 sphinx-togglebutton==0.3.2 sphinxcontrib-applehelp==1.0.7 sphinxcontrib-bibtex==2.6.1 sphinxcontrib-devhelp==1.0.5 -sphinxcontrib-hep-pdgref==0.1.4 sphinxcontrib-htmlhelp==2.0.4 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.6 sphinxcontrib-serializinghtml==1.1.9 -sqlalchemy==2.0.20 -stack-data==0.6.2 +sqlalchemy==2.0.21 +stack-data==0.6.3 sympy==1.12 tabulate==0.9.0 terminado==0.17.1 @@ -187,27 +180,26 @@ tomli==2.0.1 tornado==6.3.3 tox==4.11.3 tqdm==4.66.1 -traitlets==5.9.0 +traitlets==5.11.2 types-docutils==0.20.0.3 types-pkg-resources==0.1.3 -types-requests==2.31.0.2 +types-python-dateutil==2.8.19.14 +types-requests==2.31.0.8 types-setuptools==68.2.0.0 -types-urllib3==1.26.25.14 -typing-extensions==4.7.1 +typing-extensions==4.8.0 ujson==5.8.0 uri-template==1.3.0 -urllib3==2.0.4 +urllib3==2.0.6 virtualenv==20.24.5 -wcwidth==0.2.6 +wcwidth==0.2.8 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.2 +websocket-client==1.6.4 wheel==0.41.2 -widgetsnbextension==4.0.8 +widgetsnbextension==4.0.9 wrapt==1.15.0 -y-py==0.6.0 -ypy-websocket==0.8.4 -zipp==3.16.2 +zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: +# ampform # setuptools diff --git a/.constraints/py3.11.txt b/.constraints/py3.11.txt index a39b32753..1bda2591a 100644 --- a/.constraints/py3.11.txt +++ b/.constraints/py3.11.txt @@ -2,123 +2,116 @@ # 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 +# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.11.txt --strip-extras --unsafe-package=ampform --unsafe-package=pip --unsafe-package=setuptools --unsafe-package=symplot # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.0.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 -arrow==1.2.3 +arrow==1.3.0 asttokens==2.4.0 +async-lru==2.0.4 attrs==23.1.0 -babel==2.12.1 +babel==2.13.0 backcall==0.2.0 beautifulsoup4==4.12.2 -black==23.9.0 -bleach==6.0.0 +black==23.9.1 +bleach==6.1.0 cachetools==5.3.1 certifi==2023.7.22 -cffi==1.15.1 +cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 click==8.1.7 colorama==0.4.6 comm==0.1.4 -contourpy==1.1.0 -coverage==7.3.1 -cycler==0.11.0 -debugpy==1.7.0 +contourpy==1.1.1 +coverage==7.3.2 +cycler==0.12.1 +debugpy==1.8.0 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.7 docstring-to-markdown==0.12 docutils==0.17.1 -entrypoints==0.4 execnet==2.0.2 -executing==1.2.0 -fastjsonschema==2.18.0 -filelock==3.12.3 -fonttools==4.42.1 +executing==2.0.0 +fastjsonschema==2.18.1 +filelock==3.12.4 +fonttools==4.43.1 fqdn==1.5.1 gprof2dot==2022.7.29 graphviz==0.20.1 -greenlet==2.0.2 +greenlet==3.0.0 hepunits==2.3.2 -identify==2.5.27 +identify==2.5.30 idna==3.4 imagesize==1.4.1 importlib-metadata==6.8.0 iniconfig==2.0.0 ipykernel==6.25.2 ipympl==0.9.3 -ipython==8.15.0 +ipython==8.16.1 ipython-genutils==0.2.0 -ipywidgets==8.1.0 +ipywidgets==8.1.1 isoduration==20.11.0 -jedi==0.19.0 +jedi==0.19.1 jinja2==3.1.2 json5==0.9.14 jsonpointer==2.4 -jsonschema==4.19.0 +jsonschema==4.19.1 jsonschema-specifications==2023.7.1 jupyter-cache==0.6.1 -jupyter-client==7.4.9 -jupyter-core==5.3.1 +jupyter-client==8.3.1 +jupyter-core==5.3.2 jupyter-events==0.7.0 jupyter-lsp==2.2.0 jupyter-server==2.7.3 -jupyter-server-fileid==0.9.0 jupyter-server-terminals==0.4.4 -jupyter-server-ydoc==0.8.0 -jupyter-ydoc==0.2.5 -jupyterlab==3.6.5 +jupyterlab==4.0.6 jupyterlab-code-formatter==2.2.1 -jupyterlab-lsp==4.2.0 +jupyterlab-lsp==5.0.0 jupyterlab-myst==2.0.2 jupyterlab-pygments==0.2.2 -jupyterlab-server==2.24.0 -jupyterlab-widgets==3.0.8 +jupyterlab-server==2.25.0 +jupyterlab-widgets==3.0.9 kiwisolver==1.4.5 latexcodec==2.0.1 livereload==2.6.3 markdown-it-py==2.2.0 markupsafe==2.1.3 -matplotlib==3.7.2 +matplotlib==3.8.0 matplotlib-inline==0.1.6 mdit-py-plugins==0.3.5 mdurl==0.1.2 -mistune==3.0.1 +mistune==3.0.2 mpl-interactions==0.23.2 mpmath==1.3.0 mypy==1.5.1 mypy-extensions==1.0.0 myst-nb==0.17.2 myst-parser==0.18.1 -nbclassic==1.0.0 nbclient==0.6.8 -nbconvert==7.8.0 +nbconvert==7.9.2 nbformat==5.9.2 -nbmake==1.4.3 -nest-asyncio==1.5.7 +nbmake==1.4.5 +nest-asyncio==1.5.8 nodeenv==1.8.0 -notebook==6.5.5 notebook-shim==0.2.3 -numpy==1.25.2 +numpy==1.26.0 overrides==7.4.0 -packaging==23.1 +packaging==23.2 pandocfilters==1.5.0 parso==0.8.3 particle==0.23.0 pathspec==0.11.2 pexpect==4.8.0 pickleshare==0.7.5 -pillow==10.0.0 -platformdirs==3.10.0 +pillow==10.0.1 +platformdirs==3.11.0 pluggy==1.3.0 pre-commit==3.4.0 prometheus-client==0.17.1 @@ -129,9 +122,9 @@ pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydata-sphinx-theme==0.13.3 +pydata-sphinx-theme==0.14.1 pygments==2.16.1 -pyparsing==3.0.9 +pyparsing==3.1.1 pyproject-api==1.6.1 pytest==7.4.2 pytest-cov==4.1.0 @@ -140,20 +133,20 @@ pytest-xdist==3.3.1 python-constraint==1.4.0 python-dateutil==2.8.2 python-json-logger==2.0.7 -python-lsp-jsonrpc==1.1.0 -python-lsp-server==1.8.0 +python-lsp-jsonrpc==1.1.2 +python-lsp-server==1.8.2 pytoolconfig==1.2.5 pyyaml==6.0.1 -pyzmq==24.0.1 +pyzmq==25.1.1 qrules==0.9.8 referencing==0.30.2 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.5.2 -rope==1.9.0 -rpds-py==0.10.2 -ruff==0.0.287 +rich==13.6.0 +rope==1.10.0 +rpds-py==0.10.4 +ruff==0.0.292 send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -166,18 +159,18 @@ 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-thebe==0.2.1 sphinx-togglebutton==0.3.2 sphinxcontrib-applehelp==1.0.7 sphinxcontrib-bibtex==2.6.1 sphinxcontrib-devhelp==1.0.5 -sphinxcontrib-hep-pdgref==0.1.4 sphinxcontrib-htmlhelp==2.0.4 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.6 sphinxcontrib-serializinghtml==1.1.9 -sqlalchemy==2.0.20 -stack-data==0.6.2 +sqlalchemy==2.0.21 +stack-data==0.6.3 sympy==1.12 tabulate==0.9.0 terminado==0.17.1 @@ -185,27 +178,26 @@ tinycss2==1.2.1 tornado==6.3.3 tox==4.11.3 tqdm==4.66.1 -traitlets==5.9.0 +traitlets==5.11.2 types-docutils==0.20.0.3 types-pkg-resources==0.1.3 -types-requests==2.31.0.2 +types-python-dateutil==2.8.19.14 +types-requests==2.31.0.8 types-setuptools==68.2.0.0 -types-urllib3==1.26.25.14 -typing-extensions==4.7.1 +typing-extensions==4.8.0 ujson==5.8.0 uri-template==1.3.0 -urllib3==2.0.4 +urllib3==2.0.6 virtualenv==20.24.5 -wcwidth==0.2.6 +wcwidth==0.2.8 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.2 +websocket-client==1.6.4 wheel==0.41.2 -widgetsnbextension==4.0.8 +widgetsnbextension==4.0.9 wrapt==1.15.0 -y-py==0.6.0 -ypy-websocket==0.8.4 -zipp==3.16.2 +zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: +# ampform # setuptools diff --git a/.constraints/py3.7.txt b/.constraints/py3.7.txt index d065f14cb..90c106eeb 100644 --- a/.constraints/py3.7.txt +++ b/.constraints/py3.7.txt @@ -2,7 +2,7 @@ # 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 +# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.7.txt --resolver=backtracking --strip-extras --unsafe-package=ampform --unsafe-package=pip --unsafe-package=setuptools --unsafe-package=symplot # accessible-pygments==0.0.4 aiofiles==22.1.0 @@ -13,7 +13,7 @@ argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.2.3 attrs==23.1.0 -babel==2.12.1 +babel==2.13.0 backcall==0.2.0 beautifulsoup4==4.12.2 black==23.3.0 @@ -24,7 +24,7 @@ certifi==2023.7.22 cffi==1.15.1 cfgv==3.3.1 chardet==5.2.0 -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 click==8.1.7 colorama==0.4.6 comm==0.1.4 @@ -40,25 +40,25 @@ docutils==0.17.1 entrypoints==0.4 exceptiongroup==1.1.3 execnet==2.0.2 -fastjsonschema==2.18.0 +fastjsonschema==2.18.1 filelock==3.12.2 fonttools==4.38.0 fqdn==1.5.1 gprof2dot==2022.7.29 graphviz==0.20.1 -greenlet==2.0.2 +greenlet==3.0.0 hepunits==2.3.2 identify==2.5.24 idna==3.4 imagesize==1.4.1 -importlib-metadata==6.7.0 ; python_version < "3.8.0" +importlib-metadata==6.7.0 importlib-resources==5.12.0 iniconfig==2.0.0 ipykernel==6.16.2 ipympl==0.9.3 ipython==7.34.0 ipython-genutils==0.2.0 -ipywidgets==8.1.0 +ipywidgets==8.1.1 isoduration==20.11.0 jedi==0.18.2 jinja2==3.1.2 @@ -74,13 +74,13 @@ jupyter-server==1.24.0 jupyter-server-fileid==0.9.0 jupyter-server-ydoc==0.8.0 jupyter-ydoc==0.2.4 -jupyterlab==3.6.5 +jupyterlab==3.6.6 jupyterlab-code-formatter==2.2.1 jupyterlab-lsp==3.10.2 jupyterlab-myst==1.2.0 jupyterlab-pygments==0.2.2 jupyterlab-server==2.24.0 -jupyterlab-widgets==3.0.8 +jupyterlab-widgets==3.0.9 kiwisolver==1.4.5 latexcodec==2.0.1 livereload==2.6.3 @@ -90,7 +90,7 @@ matplotlib==3.5.3 matplotlib-inline==0.1.6 mdit-py-plugins==0.3.5 mdurl==0.1.2 -mistune==3.0.1 +mistune==3.0.2 mpl-interactions==0.23.2 mpmath==1.3.0 mypy==1.4.1 @@ -101,13 +101,13 @@ nbclassic==1.0.0 nbclient==0.5.13 nbconvert==7.6.0 nbformat==5.8.0 -nbmake==1.2.1 ; python_version == "3.7.*" -nest-asyncio==1.5.7 +nbmake==1.2.1 +nest-asyncio==1.5.8 nodeenv==1.8.0 -notebook==6.5.5 +notebook==6.5.6 notebook-shim==0.2.3 numpy==1.21.6 -packaging==23.1 +packaging==23.2 pandocfilters==1.5.0 parso==0.8.3 particle==0.23.0 @@ -116,7 +116,7 @@ pexpect==4.8.0 pickleshare==0.7.5 pillow==9.5.0 pkgutil-resolve-name==1.3.10 -platformdirs==3.10.0 +platformdirs==3.11.0 pluggy==1.2.0 pre-commit==2.21.0 prometheus-client==0.17.1 @@ -126,7 +126,7 @@ ptyprocess==0.7.0 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydantic==1.10.12 +pydantic==1.10.13 pydata-sphinx-theme==0.13.3 pygments==2.16.1 pyparsing==3.1.1 @@ -149,9 +149,9 @@ qrules==0.9.8 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.5.2 +rich==13.6.0 rope==1.9.0 -ruff==0.0.287 +ruff==0.0.292 send2trash==1.8.2 singledispatchmethod==1.0 ; python_version < "3.8.0" six==1.16.0 @@ -165,12 +165,12 @@ sphinx-codeautolink==0.15.0 sphinx-comments==0.0.3 sphinx-copybutton==0.5.2 sphinx-design==0.4.1 +sphinx-hep-pdgref==0.2.0 sphinx-thebe==0.2.1 sphinx-togglebutton==0.3.2 sphinxcontrib-applehelp==1.0.2 sphinxcontrib-bibtex==2.6.1 sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-hep-pdgref==0.1.4 sphinxcontrib-htmlhelp==2.0.0 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 @@ -188,24 +188,24 @@ traitlets==5.9.0 typed-ast==1.5.5 types-docutils==0.20.0.3 types-pkg-resources==0.1.3 -types-requests==2.31.0.2 +types-requests==2.31.0.8 types-setuptools==68.2.0.0 -types-urllib3==1.26.25.14 typing-extensions==4.7.1 ; python_version < "3.8.0" ujson==5.7.0 uri-template==1.3.0 -urllib3==2.0.4 +urllib3==2.0.6 virtualenv==20.24.5 -wcwidth==0.2.6 +wcwidth==0.2.8 webcolors==1.13 webencodings==0.5.1 websocket-client==1.6.1 wheel==0.41.2 -widgetsnbextension==4.0.8 +widgetsnbextension==4.0.9 wrapt==1.15.0 y-py==0.5.9 -ypy-websocket==0.8.2 ; python_version < "3.8.0" +ypy-websocket==0.8.2 zipp==3.15.0 # The following packages are considered to be unsafe in a requirements file: +# ampform # setuptools diff --git a/.constraints/py3.8.txt b/.constraints/py3.8.txt index 64b7a5859..2f7844602 100644 --- a/.constraints/py3.8.txt +++ b/.constraints/py3.8.txt @@ -2,126 +2,119 @@ # 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 +# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.8.txt --strip-extras --unsafe-package=ampform --unsafe-package=pip --unsafe-package=setuptools --unsafe-package=symplot # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.0.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 -arrow==1.2.3 +arrow==1.3.0 asttokens==2.4.0 +async-lru==2.0.4 attrs==23.1.0 -babel==2.12.1 +babel==2.13.0 backcall==0.2.0 beautifulsoup4==4.12.2 -black==23.9.0 -bleach==6.0.0 +black==23.9.1 +bleach==6.1.0 cachetools==5.3.1 certifi==2023.7.22 -cffi==1.15.1 +cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 click==8.1.7 colorama==0.4.6 comm==0.1.4 -contourpy==1.1.0 -coverage==7.3.1 -cycler==0.11.0 -debugpy==1.7.0 +contourpy==1.1.1 +coverage==7.3.2 +cycler==0.12.1 +debugpy==1.8.0 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.7 docstring-to-markdown==0.12 docutils==0.17.1 -entrypoints==0.4 exceptiongroup==1.1.3 execnet==2.0.2 -executing==1.2.0 -fastjsonschema==2.18.0 -filelock==3.12.3 -fonttools==4.42.1 +executing==2.0.0 +fastjsonschema==2.18.1 +filelock==3.12.4 +fonttools==4.43.1 fqdn==1.5.1 gprof2dot==2022.7.29 graphviz==0.20.1 -greenlet==2.0.2 +greenlet==3.0.0 hepunits==2.3.2 -identify==2.5.27 +identify==2.5.30 idna==3.4 imagesize==1.4.1 importlib-metadata==6.8.0 -importlib-resources==6.0.1 +importlib-resources==6.1.0 iniconfig==2.0.0 ipykernel==6.25.2 ipympl==0.9.3 -ipython==8.12.2 +ipython==8.12.3 ipython-genutils==0.2.0 -ipywidgets==8.1.0 +ipywidgets==8.1.1 isoduration==20.11.0 -jedi==0.19.0 +jedi==0.19.1 jinja2==3.1.2 json5==0.9.14 jsonpointer==2.4 -jsonschema==4.19.0 +jsonschema==4.19.1 jsonschema-specifications==2023.7.1 jupyter-cache==0.6.1 -jupyter-client==7.4.9 -jupyter-core==5.3.1 +jupyter-client==8.3.1 +jupyter-core==5.3.2 jupyter-events==0.7.0 jupyter-lsp==2.2.0 jupyter-server==2.7.3 -jupyter-server-fileid==0.9.0 jupyter-server-terminals==0.4.4 -jupyter-server-ydoc==0.8.0 -jupyter-ydoc==0.2.5 -jupyterlab==3.6.5 +jupyterlab==4.0.6 jupyterlab-code-formatter==2.2.1 -jupyterlab-lsp==4.2.0 +jupyterlab-lsp==5.0.0 jupyterlab-myst==2.0.2 jupyterlab-pygments==0.2.2 -jupyterlab-server==2.24.0 -jupyterlab-widgets==3.0.8 +jupyterlab-server==2.25.0 +jupyterlab-widgets==3.0.9 kiwisolver==1.4.5 latexcodec==2.0.1 livereload==2.6.3 markdown-it-py==2.2.0 markupsafe==2.1.3 -matplotlib==3.7.2 +matplotlib==3.7.3 matplotlib-inline==0.1.6 mdit-py-plugins==0.3.5 mdurl==0.1.2 -mistune==3.0.1 +mistune==3.0.2 mpl-interactions==0.23.2 mpmath==1.3.0 mypy==1.5.1 mypy-extensions==1.0.0 myst-nb==0.17.2 myst-parser==0.18.1 -nbclassic==1.0.0 nbclient==0.6.8 -nbconvert==7.8.0 +nbconvert==7.9.2 nbformat==5.9.2 -nbmake==1.4.3 -nest-asyncio==1.5.7 +nbmake==1.4.5 +nest-asyncio==1.5.8 nodeenv==1.8.0 -notebook==6.5.5 notebook-shim==0.2.3 numpy==1.24.4 overrides==7.4.0 -packaging==23.1 +packaging==23.2 pandocfilters==1.5.0 parso==0.8.3 particle==0.23.0 pathspec==0.11.2 pexpect==4.8.0 pickleshare==0.7.5 -pillow==10.0.0 +pillow==10.0.1 pkgutil-resolve-name==1.3.10 -platformdirs==3.10.0 +platformdirs==3.11.0 pluggy==1.3.0 pre-commit==3.4.0 prometheus-client==0.17.1 @@ -132,9 +125,9 @@ pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydata-sphinx-theme==0.13.3 +pydata-sphinx-theme==0.14.1 pygments==2.16.1 -pyparsing==3.0.9 +pyparsing==3.1.1 pyproject-api==1.6.1 pytest==7.4.2 pytest-cov==4.1.0 @@ -143,21 +136,21 @@ pytest-xdist==3.3.1 python-constraint==1.4.0 python-dateutil==2.8.2 python-json-logger==2.0.7 -python-lsp-jsonrpc==1.1.0 -python-lsp-server==1.8.0 +python-lsp-jsonrpc==1.1.2 +python-lsp-server==1.8.2 pytoolconfig==1.2.5 pytz==2023.3.post1 pyyaml==6.0.1 -pyzmq==24.0.1 +pyzmq==25.1.1 qrules==0.9.8 referencing==0.30.2 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.5.2 -rope==1.9.0 -rpds-py==0.10.2 -ruff==0.0.287 +rich==13.6.0 +rope==1.10.0 +rpds-py==0.10.4 +ruff==0.0.292 send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -170,18 +163,18 @@ 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-thebe==0.2.1 sphinx-togglebutton==0.3.2 sphinxcontrib-applehelp==1.0.4 sphinxcontrib-bibtex==2.6.1 sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-hep-pdgref==0.1.4 sphinxcontrib-htmlhelp==2.0.1 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 -sqlalchemy==2.0.20 -stack-data==0.6.2 +sqlalchemy==2.0.21 +stack-data==0.6.3 sympy==1.12 tabulate==0.9.0 terminado==0.17.1 @@ -190,27 +183,26 @@ tomli==2.0.1 tornado==6.3.3 tox==4.11.3 tqdm==4.66.1 -traitlets==5.9.0 +traitlets==5.11.2 types-docutils==0.20.0.3 types-pkg-resources==0.1.3 -types-requests==2.31.0.2 +types-python-dateutil==2.8.19.14 +types-requests==2.31.0.8 types-setuptools==68.2.0.0 -types-urllib3==1.26.25.14 -typing-extensions==4.7.1 +typing-extensions==4.8.0 ujson==5.8.0 uri-template==1.3.0 -urllib3==2.0.4 +urllib3==2.0.6 virtualenv==20.24.5 -wcwidth==0.2.6 +wcwidth==0.2.8 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.2 +websocket-client==1.6.4 wheel==0.41.2 -widgetsnbextension==4.0.8 +widgetsnbextension==4.0.9 wrapt==1.15.0 -y-py==0.6.0 -ypy-websocket==0.8.4 -zipp==3.16.2 +zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: +# ampform # setuptools diff --git a/.constraints/py3.9.txt b/.constraints/py3.9.txt index 04299630a..00e5a82eb 100644 --- a/.constraints/py3.9.txt +++ b/.constraints/py3.9.txt @@ -2,125 +2,118 @@ # 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 +# pip-compile --extra=dev --no-annotate --output-file=.constraints/py3.9.txt --strip-extras --unsafe-package=ampform --unsafe-package=pip --unsafe-package=setuptools --unsafe-package=symplot # accessible-pygments==0.0.4 -aiofiles==22.1.0 -aiosqlite==0.19.0 alabaster==0.7.13 anyio==4.0.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 -arrow==1.2.3 +arrow==1.3.0 asttokens==2.4.0 +async-lru==2.0.4 attrs==23.1.0 -babel==2.12.1 +babel==2.13.0 backcall==0.2.0 beautifulsoup4==4.12.2 -black==23.9.0 -bleach==6.0.0 +black==23.9.1 +bleach==6.1.0 cachetools==5.3.1 certifi==2023.7.22 -cffi==1.15.1 +cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 click==8.1.7 colorama==0.4.6 comm==0.1.4 -contourpy==1.1.0 -coverage==7.3.1 -cycler==0.11.0 -debugpy==1.7.0 +contourpy==1.1.1 +coverage==7.3.2 +cycler==0.12.1 +debugpy==1.8.0 decorator==5.1.1 defusedxml==0.7.1 deprecated==1.2.14 distlib==0.3.7 docstring-to-markdown==0.12 docutils==0.17.1 -entrypoints==0.4 exceptiongroup==1.1.3 execnet==2.0.2 -executing==1.2.0 -fastjsonschema==2.18.0 -filelock==3.12.3 -fonttools==4.42.1 +executing==2.0.0 +fastjsonschema==2.18.1 +filelock==3.12.4 +fonttools==4.43.1 fqdn==1.5.1 gprof2dot==2022.7.29 graphviz==0.20.1 -greenlet==2.0.2 +greenlet==3.0.0 hepunits==2.3.2 -identify==2.5.27 +identify==2.5.30 idna==3.4 imagesize==1.4.1 importlib-metadata==6.8.0 -importlib-resources==6.0.1 +importlib-resources==6.1.0 iniconfig==2.0.0 ipykernel==6.25.2 ipympl==0.9.3 -ipython==8.15.0 +ipython==8.16.1 ipython-genutils==0.2.0 -ipywidgets==8.1.0 +ipywidgets==8.1.1 isoduration==20.11.0 -jedi==0.19.0 +jedi==0.19.1 jinja2==3.1.2 json5==0.9.14 jsonpointer==2.4 -jsonschema==4.19.0 +jsonschema==4.19.1 jsonschema-specifications==2023.7.1 jupyter-cache==0.6.1 -jupyter-client==7.4.9 -jupyter-core==5.3.1 +jupyter-client==8.3.1 +jupyter-core==5.3.2 jupyter-events==0.7.0 jupyter-lsp==2.2.0 jupyter-server==2.7.3 -jupyter-server-fileid==0.9.0 jupyter-server-terminals==0.4.4 -jupyter-server-ydoc==0.8.0 -jupyter-ydoc==0.2.5 -jupyterlab==3.6.5 +jupyterlab==4.0.6 jupyterlab-code-formatter==2.2.1 -jupyterlab-lsp==4.2.0 +jupyterlab-lsp==5.0.0 jupyterlab-myst==2.0.2 jupyterlab-pygments==0.2.2 -jupyterlab-server==2.24.0 -jupyterlab-widgets==3.0.8 +jupyterlab-server==2.25.0 +jupyterlab-widgets==3.0.9 kiwisolver==1.4.5 latexcodec==2.0.1 livereload==2.6.3 markdown-it-py==2.2.0 markupsafe==2.1.3 -matplotlib==3.7.2 +matplotlib==3.8.0 matplotlib-inline==0.1.6 mdit-py-plugins==0.3.5 mdurl==0.1.2 -mistune==3.0.1 +mistune==3.0.2 mpl-interactions==0.23.2 mpmath==1.3.0 mypy==1.5.1 mypy-extensions==1.0.0 myst-nb==0.17.2 myst-parser==0.18.1 -nbclassic==1.0.0 nbclient==0.6.8 -nbconvert==7.8.0 +nbconvert==7.9.2 nbformat==5.9.2 -nbmake==1.4.3 -nest-asyncio==1.5.7 +nbmake==1.4.5 +nest-asyncio==1.5.8 nodeenv==1.8.0 -notebook==6.5.5 notebook-shim==0.2.3 -numpy==1.25.2 +numpy==1.26.0 overrides==7.4.0 -packaging==23.1 +packaging==23.2 pandocfilters==1.5.0 parso==0.8.3 particle==0.23.0 pathspec==0.11.2 pexpect==4.8.0 pickleshare==0.7.5 -pillow==10.0.0 -platformdirs==3.10.0 +pillow==10.0.1 +platformdirs==3.11.0 pluggy==1.3.0 pre-commit==3.4.0 prometheus-client==0.17.1 @@ -131,9 +124,9 @@ pure-eval==0.2.2 pybtex==0.24.0 pybtex-docutils==1.0.3 pycparser==2.21 -pydata-sphinx-theme==0.13.3 +pydata-sphinx-theme==0.14.1 pygments==2.16.1 -pyparsing==3.0.9 +pyparsing==3.1.1 pyproject-api==1.6.1 pytest==7.4.2 pytest-cov==4.1.0 @@ -142,20 +135,20 @@ pytest-xdist==3.3.1 python-constraint==1.4.0 python-dateutil==2.8.2 python-json-logger==2.0.7 -python-lsp-jsonrpc==1.1.0 -python-lsp-server==1.8.0 +python-lsp-jsonrpc==1.1.2 +python-lsp-server==1.8.2 pytoolconfig==1.2.5 pyyaml==6.0.1 -pyzmq==24.0.1 +pyzmq==25.1.1 qrules==0.9.8 referencing==0.30.2 requests==2.31.0 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 -rich==13.5.2 -rope==1.9.0 -rpds-py==0.10.2 -ruff==0.0.287 +rich==13.6.0 +rope==1.10.0 +rpds-py==0.10.4 +ruff==0.0.292 send2trash==1.8.2 six==1.16.0 sniffio==1.3.0 @@ -168,18 +161,18 @@ 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-thebe==0.2.1 sphinx-togglebutton==0.3.2 sphinxcontrib-applehelp==1.0.7 sphinxcontrib-bibtex==2.6.1 sphinxcontrib-devhelp==1.0.5 -sphinxcontrib-hep-pdgref==0.1.4 sphinxcontrib-htmlhelp==2.0.4 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.6 sphinxcontrib-serializinghtml==1.1.9 -sqlalchemy==2.0.20 -stack-data==0.6.2 +sqlalchemy==2.0.21 +stack-data==0.6.3 sympy==1.12 tabulate==0.9.0 terminado==0.17.1 @@ -188,27 +181,26 @@ tomli==2.0.1 tornado==6.3.3 tox==4.11.3 tqdm==4.66.1 -traitlets==5.9.0 +traitlets==5.11.2 types-docutils==0.20.0.3 types-pkg-resources==0.1.3 -types-requests==2.31.0.2 +types-python-dateutil==2.8.19.14 +types-requests==2.31.0.8 types-setuptools==68.2.0.0 -types-urllib3==1.26.25.14 -typing-extensions==4.7.1 +typing-extensions==4.8.0 ujson==5.8.0 uri-template==1.3.0 -urllib3==2.0.4 +urllib3==2.0.6 virtualenv==20.24.5 -wcwidth==0.2.6 +wcwidth==0.2.8 webcolors==1.13 webencodings==0.5.1 -websocket-client==1.6.2 +websocket-client==1.6.4 wheel==0.41.2 -widgetsnbextension==4.0.8 +widgetsnbextension==4.0.9 wrapt==1.15.0 -y-py==0.6.0 -ypy-websocket==0.8.4 -zipp==3.16.2 +zipp==3.17.0 # The following packages are considered to be unsafe in a requirements file: +# ampform # setuptools diff --git a/.cspell.json b/.cspell.json index 13927c0da..62904d07b 100644 --- a/.cspell.json +++ b/.cspell.json @@ -15,39 +15,21 @@ "transisions" ], "ignorePaths": [ + "**/*.bib", "**/.cspell.json", - "*.bib", - "*.ico", - "*.root", - "*.rst_t", - "*.svg", - "*particle*.*ml", ".constraints/*.txt", ".editorconfig", ".gitignore", ".gitpod.*", - ".mypy.ini", ".pre-commit-config.yaml", ".prettierignore", ".readthedocs.yml", ".vscode/*", - ".vscode/.gitignore", "CITATION.cff", "codecov.yml", - "Dockerfile", "docs/_templates/*", - "docs/adr/*/*", "docs/conf.py", - "labels.toml", - "Makefile", - "Manifest.toml", - "Project.toml", "pyproject.toml", - "pyrightconfig.json", - "pytest.ini", - "requirements*.txt", - "setup.cfg", - "setup.py", "tox.ini", "typings" ], @@ -138,7 +120,6 @@ "linspace", "macos", "marangotto", - "markdownlint", "mathcal", "mathrm", "maxdepth", diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index d0cc61cd1..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "" -labels: Bug -assignees: "" ---- - -## Bug description - - - - - -## How to reproduce? - -Steps to reproduce the behavior: - -1. - -## Expected behavior - - - -## System info - -Bug resulted on the following system: - -- OS: -- Version -- Python version: -- Virtual environment: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 049eb32bb..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "" -labels: "✨ Enhancement" -assignees: "" ---- - -## Problem description - - - -## Proposed solution - - - - - - - diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 14b808525..000000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.github/workflows/pr-linting.yml b/.github/workflows/pr-linting.yml index 6449ddd51..cd3bb74f1 100644 --- a/.github/workflows/pr-linting.yml +++ b/.github/workflows/pr-linting.yml @@ -1,5 +1,3 @@ -# cspell:ignore agilepathway commitlint kode - name: PR linting on: pull_request: @@ -14,19 +12,22 @@ on: jobs: check-labels: name: Check labels - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - - uses: docker://agilepathway/pull-request-label-checker:latest + - uses: docker://agilepathway/pull-request-label-checker:latest # cspell:ignore agilepathway with: - any_of: 🐛 Bug,✨ Feature,⚙️ Enhancement,⚠️ Interface,❗ Behavior,📝 Docs,🔨 - Maintenance,🖱️ DX + 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-20.04 + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - - run: npm install @commitlint/config-conventional - - uses: JulienKode/pull-request-name-linter-action@v0.5.0 + - 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 diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index d54187de4..d64f197bf 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -9,7 +9,7 @@ on: jobs: update_release_draft: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: release-drafter/release-drafter@v5 env: diff --git a/.gitignore b/.gitignore index e7d3526d9..2b8d0d1a7 100644 --- a/.gitignore +++ b/.gitignore @@ -46,7 +46,6 @@ pyvenv*/ !.github/*.yml !.github/*/*.yml !.gitpod.yml -!.markdownlint.json !.pre-commit-config.yaml !.readthedocs.yml !.vscode/*.json diff --git a/.gitpod.yml b/.gitpod.yml index 35de675e4..d534cc07b 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -15,7 +15,6 @@ vscode: extensions: - charliermarsh.ruff - christian-kohler.path-intellisense - - davidanson.vscode-markdownlint - eamodio.gitlens - editorconfig.editorconfig - esbenp.prettier-vscode diff --git a/.markdownlint.json b/.markdownlint.json deleted file mode 100644 index 23bb7fa67..000000000 --- a/.markdownlint.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "MD013": { "line_length": 88 }, - "MD026": { "punctuation": ".,;:。,;:!" }, - "MD033": { - "allowed_elements": ["br"] - } -} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 740091c3d..5a818e132 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,7 @@ repos: - id: check-useless-excludes - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: check-ast - id: check-case-conflict @@ -38,16 +38,17 @@ repos: - id: trailing-whitespace - repo: https://github.com/ComPWA/repo-maintenance - rev: 0.0.197 + rev: 0.1.0 hooks: - id: check-dev-files args: - --doc-apt-packages=graphviz + - --no-prettierrc - --pin-requirements=monthly - --repo-name=ampform - --repo-title=AmpForm + - id: colab-toc-visible - id: fix-nbformat-version - - id: format-setup-cfg - id: set-nb-cells args: - --add-install-cell @@ -57,9 +58,6 @@ repos: - repo: https://github.com/nbQA-dev/nbQA rev: 1.7.0 hooks: - - id: nbqa-black - additional_dependencies: - - black>=22.1.0 - id: nbqa-pyupgrade args: - --py37-plus @@ -68,9 +66,12 @@ repos: - --fix - repo: https://github.com/psf/black - rev: 23.9.0 + rev: 23.9.1 hooks: - id: black + - id: black-jupyter + args: [--line-length=85] + types_or: [jupyter] - repo: https://github.com/asottile/blacken-docs rev: 1.16.0 @@ -78,7 +79,7 @@ repos: - id: blacken-docs - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.26.3 + rev: 0.27.0 hooks: - id: check-jsonschema name: Check CITATION.cff @@ -91,12 +92,12 @@ repos: pass_filenames: false - repo: https://github.com/streetsidesoftware/cspell-cli - rev: v7.3.0 + rev: v7.3.1 hooks: - id: cspell - repo: https://github.com/editorconfig-checker/editorconfig-checker.python - rev: "2.7.2" + rev: 2.7.2 hooks: - id: editorconfig-checker name: editorconfig @@ -106,11 +107,6 @@ repos: .*\.py )$ - - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.36.0 - hooks: - - id: markdownlint - - repo: local hooks: - id: mypy @@ -131,6 +127,7 @@ repos: cell.attachments cell.metadata.code_folding cell.metadata.id + cell.metadata.pycharm cell.metadata.user_expressions metadata.celltoolbar metadata.colab.name @@ -151,19 +148,19 @@ repos: - id: prettier - repo: https://github.com/ComPWA/mirrors-pyright - rev: v1.1.326 + rev: v1.1.330 hooks: - id: pyright - repo: https://github.com/asottile/pyupgrade - rev: v3.10.1 + rev: v3.15.0 hooks: - id: pyupgrade args: - --py37-plus - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.0.287 + rev: v0.0.292 hooks: - id: ruff args: @@ -173,3 +170,10 @@ repos: 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 diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index ca09957ff..000000000 --- a/.prettierrc +++ /dev/null @@ -1 +0,0 @@ -printWidth: 88 diff --git a/.taplo.toml b/.taplo.toml index f5caabee4..0db1df7c8 100644 --- a/.taplo.toml +++ b/.taplo.toml @@ -1,16 +1,12 @@ -exclude = [ - "**/Cargo.toml", - "**/Manifest.toml", - "**/Project.toml", - "labels*.toml", -] - [formatting] +align_comments = false align_entries = false +allowed_blank_lines = 1 array_auto_collapse = false array_auto_expand = true array_trailing_comma = true column_width = 88 +compact_inline_tables = true indent_string = " " reorder_arrays = true reorder_keys = true diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ad5669bc4..a8675425d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,7 +2,6 @@ "recommendations": [ "charliermarsh.ruff", "christian-kohler.path-intellisense", - "davidanson.vscode-markdownlint", "eamodio.gitlens", "editorconfig.editorconfig", "esbenp.prettier-vscode", @@ -27,6 +26,7 @@ ], "unwantedRecommendations": [ "bungcip.better-toml", + "davidanson.vscode-markdownlint", "ms-python.flake8", "ms-python.isort", "ms-python.pylint", diff --git a/.vscode/settings.json b/.vscode/settings.json index 4bfee1c60..0fbe1d772 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,7 @@ "editor.formatOnSave": false }, "[git-commit]": { + "editor.rulers": [72], "rewrap.wrappingColumn": 72 }, "[json]": { @@ -12,14 +13,14 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[markdown]": { - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.wordWrap": "off" + "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[python]": { "editor.codeActionsOnSave": { "source.organizeImports": true }, - "editor.defaultFormatter": "ms-python.black-formatter" + "editor.defaultFormatter": "ms-python.black-formatter", + "editor.rulers": [88] }, "[yaml]": { "editor.defaultFormatter": "esbenp.prettier-vscode" @@ -31,7 +32,6 @@ "coverage-gutters.showLineCoverage": true, "cSpell.enabled": true, "editor.formatOnSave": true, - "editor.rulers": [88], "files.watcherExclude": { "**/*_cache/**": true, "**/.eggs/**": true, @@ -48,8 +48,9 @@ } ], "livePreview.defaultPreviewPath": "docs/_build/html", - "mypy-type-checker.args": ["--config-file", "pyproject.toml"], + "mypy-type-checker.args": ["--config-file=${workspaceFolder}/pyproject.toml"], "mypy-type-checker.importStrategy": "fromEnvironment", + "notebook.gotoSymbols.showAllSymbols": true, "python.analysis.autoImportCompletions": false, "python.analysis.inlayHints.pytestParameters": true, "python.analysis.typeCheckingMode": "strict", diff --git a/commitlint.config.js b/commitlint.config.js deleted file mode 100644 index d8b6bdcda..000000000 --- a/commitlint.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - extends: ["@commitlint/config-conventional"], - rules: { - "type-case": [2, "always", ["upper-case"]], - "type-enum": [ - 2, - "always", - ["BEHAVIOR", "BREAK", "DOC", "DX", "ENH", "FEAT", "FIX", "MAINT"], - ], - }, -}; diff --git a/docs/_templates/genindex.html b/docs/_templates/genindex.html index abea27ff4..21849ec3c 100644 --- a/docs/_templates/genindex.html +++ b/docs/_templates/genindex.html @@ -7,11 +7,12 @@ {%- for ismain, link in links[1:] -%} , {% if ismain %}{% endif -%} [{{ loop.index }}] {%- if ismain %}{% - endif -%} + >{% if ismain %}{% endif -%} [{{ loop.index }}] {%- if ismain %}{% endif -%} -{%- endfor %} {%- else %} {{ firstname|e }} {%- endif %} {% endmacro %} {%- extends -"layout.html" %} {% set title = _('Index') %} {% block body %} +{%- endfor %} {%- else %} {{ firstname|e }} {%- endif %} {% endmacro %} {%- +extends "layout.html" %} {% set title = _('Index') %} {% block body %}

{{ _('Index') }}

diff --git a/docs/conf.py b/docs/conf.py index c40577822..4bfd15c54 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -141,10 +141,10 @@ def fetch_logo(url: str, output_path: str) -> None: "sphinx_comments", "sphinx_copybutton", "sphinx_design", + "sphinx_hep_pdgref", "sphinx_thebe", "sphinx_togglebutton", "sphinxcontrib.bibtex", - "sphinxcontrib.hep.pdgref", ] exclude_patterns = [ "**.ipynb_checkpoints", @@ -290,12 +290,14 @@ def fetch_logo(url: str, output_path: str) -> None: # Intersphinx settings version_remapping: dict[str, dict[str, str]] = { "ipython": { - "8.12.2": "8.13.2", + "8.12.2": "8.12.1", + "8.12.3": "8.12.1", }, "ipywidgets": { "8.0.3": "8.0.5", "8.0.4": "8.0.5", "8.0.6": "8.0.5", + "8.1.1": "8.1.2", }, } diff --git a/docs/index.md b/docs/index.md index 9defa25ad..6a4e2a36f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,14 +4,10 @@ ``` - - [![10.5281/zenodo.5526648](https://zenodo.org/badge/doi/10.5281/zenodo.5526648.svg)](https://doi.org/10.5281/zenodo.5526648) [![Supported Python versions](https://img.shields.io/pypi/pyversions/ampform)](https://pypi.org/project/ampform) {{ '[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ComPWA/ampform/blob/{})'.format(branch) }} {{ '[![Binder](https://static.mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ComPWA/ampform/{}?filepath=docs/usage)'.format(branch) }} - - :::{margin} diff --git a/docs/usage.ipynb b/docs/usage.ipynb index bfe0b1836..71908243a 100644 --- a/docs/usage.ipynb +++ b/docs/usage.ipynb @@ -342,6 +342,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/amplitude.ipynb b/docs/usage/amplitude.ipynb index af6640882..13a5a9fd7 100644 --- a/docs/usage/amplitude.ipynb +++ b/docs/usage/amplitude.ipynb @@ -1059,6 +1059,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/dynamics.ipynb b/docs/usage/dynamics.ipynb index 392242bcd..f18399183 100644 --- a/docs/usage/dynamics.ipynb +++ b/docs/usage/dynamics.ipynb @@ -641,6 +641,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/dynamics/analytic-continuation.ipynb b/docs/usage/dynamics/analytic-continuation.ipynb index 9e2e5006b..e0823bee1 100644 --- a/docs/usage/dynamics/analytic-continuation.ipynb +++ b/docs/usage/dynamics/analytic-continuation.ipynb @@ -537,6 +537,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/dynamics/custom.ipynb b/docs/usage/dynamics/custom.ipynb index 8efbe229a..6311508fd 100644 --- a/docs/usage/dynamics/custom.ipynb +++ b/docs/usage/dynamics/custom.ipynb @@ -342,6 +342,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/dynamics/k-matrix.ipynb b/docs/usage/dynamics/k-matrix.ipynb index cc94b8902..94991163e 100644 --- a/docs/usage/dynamics/k-matrix.ipynb +++ b/docs/usage/dynamics/k-matrix.ipynb @@ -1834,6 +1834,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/helicity/formalism.ipynb b/docs/usage/helicity/formalism.ipynb index 9babe7a3a..358abfea7 100644 --- a/docs/usage/helicity/formalism.ipynb +++ b/docs/usage/helicity/formalism.ipynb @@ -452,6 +452,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/helicity/spin-alignment.ipynb b/docs/usage/helicity/spin-alignment.ipynb index 72b519696..74aa1e8e2 100644 --- a/docs/usage/helicity/spin-alignment.ipynb +++ b/docs/usage/helicity/spin-alignment.ipynb @@ -412,6 +412,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/interactive.ipynb b/docs/usage/interactive.ipynb index fa72fea0d..a01463b9f 100644 --- a/docs/usage/interactive.ipynb +++ b/docs/usage/interactive.ipynb @@ -582,6 +582,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/kinematics.ipynb b/docs/usage/kinematics.ipynb index 03c9d9afb..bce2acad7 100644 --- a/docs/usage/kinematics.ipynb +++ b/docs/usage/kinematics.ipynb @@ -412,6 +412,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/modify.ipynb b/docs/usage/modify.ipynb index bf0ae2aa5..9c30f6643 100644 --- a/docs/usage/modify.ipynb +++ b/docs/usage/modify.ipynb @@ -382,6 +382,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/docs/usage/symplot.ipynb b/docs/usage/symplot.ipynb index 84192b2a5..93d58631e 100644 --- a/docs/usage/symplot.ipynb +++ b/docs/usage/symplot.ipynb @@ -290,6 +290,9 @@ } ], "metadata": { + "colab": { + "toc_visible": true + }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", diff --git a/pyproject.toml b/pyproject.toml index a6fc42fe1..0c344b8eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,153 @@ [build-system] +build-backend = "setuptools.build_meta" requires = [ - "setuptools>=36.2.1", # environment markers + "setuptools>=61.2", "setuptools_scm", - "wheel", ] +[project] +authors = [{name = "Common Partial Wave Analysis", email = "compwa-admin@ep1.rub.de"}] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python", + "Topic :: Scientific/Engineering :: Physics", + "Topic :: Scientific/Engineering", + "Typing :: Typed", +] +dependencies = [ + "attrs >=20.1.0", # on_setattr and https://www.attrs.org/en/stable/api.html#next-gen + "qrules ==0.9.*, >=0.9.6", # https://github.com/ComPWA/qrules/pull/145 + "sympy >=1.10", + 'singledispatchmethod; python_version <"3.8.0"', + 'typing-extensions; python_version <"3.8.0"', +] +description = "Automatically generate symbolic amplitude models for Partial Wave Analysis" +dynamic = ["version"] +keywords = [ + "HEP", + "PWA", + "amplitude analysis", + "partial wave analysis", + "particle physics", + "particles", + "physics", +] +license = {text = "GPLv3 or later"} +maintainers = [{email = "compwa-admin@ep1.rub.de"}] +name = "ampform" +requires-python = ">=3.7" + +[project.optional-dependencies] +all = [ + "ampform[viz]", +] +dev = [ + "ampform[all]", + "ampform[doc]", + "ampform[jupyter]", + "ampform[sty]", + "ampform[test]", + "sphinx-autobuild", + "tox >=1.9", # for skip_install, use_develop +] +doc = [ + "Sphinx >=3", + "ampform[viz]", + "black", + "ipympl", + "matplotlib", + "mpl-interactions", + "myst-nb >=0.14", # nb_ configuration prefixes + "nbclient >=0.5.5", # https://github.com/executablebooks/jupyter-book/issues/833 + "numpy", + "rich", + "sphinx-book-theme", + "sphinx-codeautolink[ipython]", + "sphinx-comments", + "sphinx-copybutton", + "sphinx-design", + "sphinx-hep-pdgref", + "sphinx-thebe", + "sphinx-togglebutton", + "sphinxcontrib-bibtex >=2", + 'importlib-metadata; python_version <"3.8.0"', +] +format = [ + "black", +] +jupyter = [ + "jupyterlab", + "jupyterlab-code-formatter", + "jupyterlab-lsp", + "jupyterlab-myst", + "python-lsp-server[rope]", + 'ypy-websocket <0.8.3; python_version <"3.8.0"', +] +lint = [ + "ampform[mypy]", + "ruff", +] +mypy = [ + "mypy >=0.730", # error code support + "types-docutils", + "types-pkg-resources", + "types-requests", + "types-setuptools", +] +sty = [ + "ampform[format]", + "ampform[lint]", + "ampform[test]", # for pytest type hints + "pre-commit >=1.4.0", +] +test = [ + "black", + "ipywidgets", # symplot + "nbmake", + "numpy", + "pytest", + "pytest-cov", + "pytest-profiling", + "pytest-xdist", + 'nbmake <1.3; python_version=="3.7.*"', +] +viz = [ + "graphviz", +] + +[project.readme] +content-type = "text/markdown" +file = "README.md" + +[project.urls] +Changelog = "https://github.com/ComPWA/ampform/releases" +Documentation = "https://ampform.rtfd.io" +Source = "https://github.com/ComPWA/ampform" +Tracker = "https://github.com/ComPWA/ampform/issues" + +[tool.setuptools] +include-package-data = false +package-dir = {"" = "src"} + +[tool.setuptools.package-data] +ampform = ["py.typed"] +symplot = ["py.typed"] + +[tool.setuptools.packages.find] +namespaces = false +where = ["src"] + [tool.setuptools_scm] write_to = "src/ampform/version.py" @@ -76,7 +219,6 @@ ignore_missing_imports = true module = ["sphinx.*"] [tool.nbqa.addopts] -black = ["--line-length=85"] ruff = [ "--extend-ignore=B018", "--extend-ignore=C408", @@ -89,7 +231,7 @@ ruff = [ "--extend-ignore=PLR2004", "--extend-ignore=PLW0602", "--extend-ignore=PLW0603", - "--extend-ignore=S301", # allow pickle + "--extend-ignore=S301", # allow pickle "--extend-ignore=TCH002", "--line-length=85", ] @@ -239,3 +381,17 @@ known-third-party = ["sympy"] [tool.ruff.pydocstyle] convention = "google" + +[tool.tomlsort] +all = false +ignore_case = true +in_place = true +sort_first = [ + "build-system", + "project", + "tool.setuptools", + "tool.setuptools_scm", +] +sort_table_keys = true +spaces_indent_inline_array = 4 +trailing_comma_inline_array = true diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 3e6281d40..000000000 --- a/setup.cfg +++ /dev/null @@ -1,130 +0,0 @@ -[metadata] -name = ampform -description = Automatically generate symbolic amplitude models for Partial Wave Analysis -author = Common Partial Wave Analysis -author_email = compwa-admin@ep1.rub.de -maintainer_email = compwa-admin@ep1.rub.de -long_description = file: README.md -long_description_content_type = text/markdown -project_urls = - Tracker = https://github.com/ComPWA/ampform/issues - Changelog = https://github.com/ComPWA/ampform/releases - Documentation = https://ampform.rtfd.io - Source = https://github.com/ComPWA/ampform -license = GPLv3 or later -keywords = - HEP - PWA - amplitude analysis - partial wave analysis - particle physics - particles - physics -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Developers - Intended Audience :: Education - Intended Audience :: Science/Research - License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+) - Natural Language :: English - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Topic :: Scientific/Engineering - Topic :: Scientific/Engineering :: Physics - Typing :: Typed - -[options] -python_requires = >=3.7 -setup_requires = - setuptools_scm -install_requires = - attrs >=20.1.0 # on_setattr and https://www.attrs.org/en/stable/api.html#next-gen - qrules ==0.9.*, >=0.9.6 # https://github.com/ComPWA/qrules/pull/145 - singledispatchmethod; python_version <"3.8.0" - sympy >=1.10 - typing-extensions; python_version <"3.8.0" -packages = find: -package_dir = - =src - -[options.extras_require] -viz = - graphviz -all = - %(viz)s -doc = - %(viz)s - black - importlib-metadata; python_version <"3.8.0" - ipympl - matplotlib - mpl-interactions - myst-nb >=0.14 # nb_ configuration prefixes - nbclient >=0.5.5 # https://github.com/executablebooks/jupyter-book/issues/833 - numpy - rich - Sphinx >=3 - sphinx-book-theme - sphinx-codeautolink[ipython] - sphinx-comments - sphinx-copybutton - sphinx-design - sphinx-thebe - sphinx-togglebutton - sphinxcontrib-bibtex >=2 - sphinxcontrib-hep-pdgref -test = - black - ipywidgets # symplot - nbmake - nbmake <1.3; python_version=="3.7.*" - numpy - pytest - pytest-cov - pytest-profiling - pytest-xdist -format = - black -mypy = - mypy >=0.730 # error code support - types-docutils - types-pkg-resources - types-requests - types-setuptools -lint = - %(mypy)s - ruff -sty = - %(format)s - %(lint)s - %(test)s # for pytest type hints - pre-commit >=1.4.0 -jupyter = - jupyterlab - jupyterlab-code-formatter - jupyterlab-lsp - jupyterlab-myst - python-lsp-server[rope] - ypy-websocket <0.8.3; python_version <"3.8.0" -dev = - %(all)s - %(doc)s - %(jupyter)s - %(sty)s - %(test)s - sphinx-autobuild - tox >=1.9 # for skip_install, use_develop - -[options.packages.find] -where = src - -[options.package_data] -ampform = - py.typed -symplot = - py.typed diff --git a/setup.py b/setup.py deleted file mode 100644 index 93296978a..000000000 --- a/setup.py +++ /dev/null @@ -1,6 +0,0 @@ -from setuptools import setup - -setup( - use_scm_version=True, - setup_requires=["setuptools_scm"], -)