diff --git a/.constraints/py3.10.txt b/.constraints/py3.10.txt
index 9ec13f27..e011914d 100644
--- a/.constraints/py3.10.txt
+++ b/.constraints/py3.10.txt
@@ -2,39 +2,38 @@
# 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=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools
#
accessible-pygments==0.0.4
-aiofiles==22.1.0
-aiosqlite==0.19.0
alabaster==0.7.13
-annotated-types==0.5.0
+annotated-types==0.6.0
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
-cryptography==41.0.3
-cycler==0.11.0
+contourpy==1.1.1
+coverage==7.3.2
+cryptography==41.0.4
+cycler==0.12.1
dataproperty==1.0.1
-debugpy==1.7.0
+debugpy==1.8.0
decorator==5.1.1
defusedxml==0.7.1
deprecated==1.2.14
@@ -42,86 +41,81 @@ distlib==0.3.7
docstring-to-markdown==0.12
docutils==0.17.1
dominate==2.8.0
-entrypoints==0.4
exceptiongroup==1.1.3
execnet==2.0.2
-executing==1.2.0
-fastjsonschema==2.18.0
+executing==2.0.0
+fastjsonschema==2.18.1
feynman==2.1.0
-filelock==3.12.3
-fonttools==4.42.1
+filelock==3.12.4
+fonttools==4.43.1
fqdn==1.5.1
-greenlet==2.0.2
-identify==2.5.27
+greenlet==3.0.0
+identify==2.5.30
idna==3.4
imagesize==1.4.1
importlib-metadata==6.8.0
iniconfig==2.0.0
ipykernel==6.25.2
-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==1.0.0
jupyter-cache==0.6.1
-jupyter-client==7.4.9
+jupyter-client==8.3.1
jupyter-console==6.6.3
-jupyter-core==5.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
mbstrdecoder==1.1.3
mdit-py-plugins==0.3.5
mdurl==0.1.2
-mistune==3.0.1
+mistune==3.0.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.7.4
-nbconvert==7.8.0
+nbconvert==7.9.2
nbformat==5.9.2
-nest-asyncio==1.5.7
+nest-asyncio==1.5.8
nodeenv==1.8.0
-notebook==6.5.5
+notebook==7.0.4
notebook-shim==0.2.3
numpy==1.23.5
overrides==7.4.0
-packaging==23.1
+packaging==23.2
pandocfilters==1.5.0
parso==0.8.3
pathspec==0.11.2
-pathvalidate==3.1.0
+pathvalidate==3.2.0
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
@@ -132,28 +126,28 @@ pure-eval==0.2.2
pybtex==0.24.0
pybtex-docutils==1.0.3
pycparser==2.21
-pydantic==2.3.0
-pydantic-core==2.6.3
-pydata-sphinx-theme==0.13.3
-pygithub==1.59.1
+pydantic==2.4.2
+pydantic-core==2.10.1
+pydata-sphinx-theme==0.14.1
+pygithub==2.1.1
pygments==2.16.1
pyjwt==2.8.0
pynacl==1.5.0
-pyparsing==3.0.9
+pyparsing==3.1.1
pyproject-api==1.6.1
-pytablewriter==1.0.0
+pytablewriter==1.2.0
pytest==7.4.2
pytest-cov==4.1.0
pytest-xdist==3.3.1
python-dateutil==2.8.2
python-gitlab==3.15.0
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
qtconsole==5.4.4
qtpy==2.4.0
referencing==0.30.2
@@ -161,9 +155,9 @@ requests==2.31.0
requests-toolbelt==1.0.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
-rope==1.9.0
-rpds-py==0.10.2
-ruff==0.0.287
+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
@@ -176,49 +170,48 @@ 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
-tabledata==1.3.1
+tabledata==1.3.3
tabulate==0.9.0
-tcolorpy==0.1.3
+tcolorpy==0.1.4
terminado==0.17.1
tinycss2==1.2.1
tomli==2.0.1
tornado==6.3.3
tox==4.11.3
-traitlets==5.9.0
-typepy==1.3.1
+traitlets==5.11.2
+typepy==1.3.2
types-docutils==0.20.0.3
types-pkg-resources==0.1.3
types-python-dateutil==2.8.19.14
-types-pyyaml==6.0.12.11
+types-pyyaml==6.0.12.12
types-setuptools==68.2.0.0
-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:
+# pwa-pages
# setuptools
diff --git a/.constraints/py3.11.txt b/.constraints/py3.11.txt
index 7a549d46..a964dfa5 100644
--- a/.constraints/py3.11.txt
+++ b/.constraints/py3.11.txt
@@ -2,39 +2,38 @@
# 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=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools
#
accessible-pygments==0.0.4
-aiofiles==22.1.0
-aiosqlite==0.19.0
alabaster==0.7.13
-annotated-types==0.5.0
+annotated-types==0.6.0
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
-cryptography==41.0.3
-cycler==0.11.0
+contourpy==1.1.1
+coverage==7.3.2
+cryptography==41.0.4
+cycler==0.12.1
dataproperty==1.0.1
-debugpy==1.7.0
+debugpy==1.8.0
decorator==5.1.1
defusedxml==0.7.1
deprecated==1.2.14
@@ -42,85 +41,80 @@ distlib==0.3.7
docstring-to-markdown==0.12
docutils==0.17.1
dominate==2.8.0
-entrypoints==0.4
execnet==2.0.2
-executing==1.2.0
-fastjsonschema==2.18.0
+executing==2.0.0
+fastjsonschema==2.18.1
feynman==2.1.0
-filelock==3.12.3
-fonttools==4.42.1
+filelock==3.12.4
+fonttools==4.43.1
fqdn==1.5.1
-greenlet==2.0.2
-identify==2.5.27
+greenlet==3.0.0
+identify==2.5.30
idna==3.4
imagesize==1.4.1
importlib-metadata==6.8.0
iniconfig==2.0.0
ipykernel==6.25.2
-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==1.0.0
jupyter-cache==0.6.1
-jupyter-client==7.4.9
+jupyter-client==8.3.1
jupyter-console==6.6.3
-jupyter-core==5.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
mbstrdecoder==1.1.3
mdit-py-plugins==0.3.5
mdurl==0.1.2
-mistune==3.0.1
+mistune==3.0.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.7.4
-nbconvert==7.8.0
+nbconvert==7.9.2
nbformat==5.9.2
-nest-asyncio==1.5.7
+nest-asyncio==1.5.8
nodeenv==1.8.0
-notebook==6.5.5
+notebook==7.0.4
notebook-shim==0.2.3
numpy==1.23.5
overrides==7.4.0
-packaging==23.1
+packaging==23.2
pandocfilters==1.5.0
parso==0.8.3
pathspec==0.11.2
-pathvalidate==3.1.0
+pathvalidate==3.2.0
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,28 +125,28 @@ pure-eval==0.2.2
pybtex==0.24.0
pybtex-docutils==1.0.3
pycparser==2.21
-pydantic==2.3.0
-pydantic-core==2.6.3
-pydata-sphinx-theme==0.13.3
-pygithub==1.59.1
+pydantic==2.4.2
+pydantic-core==2.10.1
+pydata-sphinx-theme==0.14.1
+pygithub==2.1.1
pygments==2.16.1
pyjwt==2.8.0
pynacl==1.5.0
-pyparsing==3.0.9
+pyparsing==3.1.1
pyproject-api==1.6.1
-pytablewriter==1.0.0
+pytablewriter==1.2.0
pytest==7.4.2
pytest-cov==4.1.0
pytest-xdist==3.3.1
python-dateutil==2.8.2
python-gitlab==3.15.0
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
qtconsole==5.4.4
qtpy==2.4.0
referencing==0.30.2
@@ -160,9 +154,9 @@ requests==2.31.0
requests-toolbelt==1.0.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
-rope==1.9.0
-rpds-py==0.10.2
-ruff==0.0.287
+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
@@ -175,48 +169,47 @@ 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
-tabledata==1.3.1
+tabledata==1.3.3
tabulate==0.9.0
-tcolorpy==0.1.3
+tcolorpy==0.1.4
terminado==0.17.1
tinycss2==1.2.1
tornado==6.3.3
tox==4.11.3
-traitlets==5.9.0
-typepy==1.3.1
+traitlets==5.11.2
+typepy==1.3.2
types-docutils==0.20.0.3
types-pkg-resources==0.1.3
types-python-dateutil==2.8.19.14
-types-pyyaml==6.0.12.11
+types-pyyaml==6.0.12.12
types-setuptools==68.2.0.0
-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:
+# pwa-pages
# setuptools
diff --git a/.constraints/py3.7.txt b/.constraints/py3.7.txt
index 6e0990df..880461a0 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=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools
#
accessible-pygments==0.0.4
aiofiles==22.1.0
@@ -14,7 +14,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
@@ -25,12 +25,12 @@ 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
coverage==7.2.7
-cryptography==41.0.3
+cryptography==41.0.4
cycler==0.11.0
dataproperty==1.0.1
debugpy==1.7.0
@@ -44,22 +44,22 @@ dominate==2.8.0
entrypoints==0.4
exceptiongroup==1.1.3
execnet==2.0.2
-fastjsonschema==2.18.0
+fastjsonschema==2.18.1
feynman==2.1.0
filelock==3.12.2
fonttools==4.38.0
fqdn==1.5.1
-greenlet==2.0.2
+greenlet==3.0.0
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
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
@@ -77,13 +77,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
@@ -94,7 +94,7 @@ matplotlib-inline==0.1.6
mbstrdecoder==1.1.3
mdit-py-plugins==0.3.5
mdurl==0.1.2
-mistune==3.0.1
+mistune==3.0.2
mpmath==1.3.0
mypy==1.4.1
mypy-extensions==1.0.0
@@ -104,21 +104,21 @@ nbclassic==1.0.0
nbclient==0.5.13
nbconvert==7.6.0
nbformat==5.8.0
-nest-asyncio==1.5.7
+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
pathspec==0.11.2
-pathvalidate==3.1.0
+pathvalidate==3.2.0
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
@@ -128,17 +128,17 @@ ptyprocess==0.7.0
pybtex==0.24.0
pybtex-docutils==1.0.3
pycparser==2.21
-pydantic==2.3.0
-pydantic-core==2.6.3
+pydantic==2.4.2
+pydantic-core==2.10.1
pydata-sphinx-theme==0.13.3
-pygithub==1.59.1
+pygithub==2.1.1
pygments==2.16.1
pyjwt==2.8.0
pynacl==1.5.0
pyparsing==3.1.1
pyproject-api==1.5.3
pyrsistent==0.19.3
-pytablewriter==1.0.0
+pytablewriter==1.2.0
pytest==7.4.2
pytest-cov==4.1.0
pytest-xdist==3.3.1
@@ -158,7 +158,7 @@ requests-toolbelt==1.0.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rope==1.9.0
-ruff==0.0.287
+ruff==0.0.292
send2trash==1.8.2
six==1.16.0
sniffio==1.3.0
@@ -171,21 +171,21 @@ 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
sphinxcontrib-serializinghtml==1.1.5
sqlalchemy==1.4.49
sympy==1.10.1
-tabledata==1.3.1
+tabledata==1.3.3
tabulate==0.9.0
-tcolorpy==0.1.3
+tcolorpy==0.1.4
terminado==0.17.1
tinycss2==1.2.1
tomli==2.0.1
@@ -193,27 +193,28 @@ tornado==6.2
tox==4.8.0
traitlets==5.9.0
typed-ast==1.5.5
-typepy==1.3.1
+typepy==1.3.2
types-docutils==0.20.0.3
types-pkg-resources==0.1.3
types-python-dateutil==2.8.19.14
-types-pyyaml==6.0.12.11
+types-pyyaml==6.0.12.12
types-setuptools==68.2.0.0
typing-extensions==4.7.1
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:
+# pwa-pages
# setuptools
diff --git a/.constraints/py3.8.txt b/.constraints/py3.8.txt
index 411f3906..d3e9f9f6 100644
--- a/.constraints/py3.8.txt
+++ b/.constraints/py3.8.txt
@@ -2,39 +2,38 @@
# 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=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools
#
accessible-pygments==0.0.4
-aiofiles==22.1.0
-aiosqlite==0.19.0
alabaster==0.7.13
-annotated-types==0.5.0
+annotated-types==0.6.0
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
-cryptography==41.0.3
-cycler==0.11.0
+contourpy==1.1.1
+coverage==7.3.2
+cryptography==41.0.4
+cycler==0.12.1
dataproperty==1.0.1
-debugpy==1.7.0
+debugpy==1.8.0
decorator==5.1.1
defusedxml==0.7.1
deprecated==1.2.14
@@ -42,88 +41,83 @@ distlib==0.3.7
docstring-to-markdown==0.12
docutils==0.17.1
dominate==2.8.0
-entrypoints==0.4
exceptiongroup==1.1.3
execnet==2.0.2
-executing==1.2.0
-fastjsonschema==2.18.0
+executing==2.0.0
+fastjsonschema==2.18.1
feynman==2.1.0
-filelock==3.12.3
-fonttools==4.42.1
+filelock==3.12.4
+fonttools==4.43.1
fqdn==1.5.1
-greenlet==2.0.2
-identify==2.5.27
+greenlet==3.0.0
+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
-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==1.0.0
jupyter-cache==0.6.1
-jupyter-client==7.4.9
+jupyter-client==8.3.1
jupyter-console==6.6.3
-jupyter-core==5.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
mbstrdecoder==1.1.3
mdit-py-plugins==0.3.5
mdurl==0.1.2
-mistune==3.0.1
+mistune==3.0.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.7.4
-nbconvert==7.8.0
+nbconvert==7.9.2
nbformat==5.9.2
-nest-asyncio==1.5.7
+nest-asyncio==1.5.8
nodeenv==1.8.0
-notebook==6.5.5
+notebook==7.0.4
notebook-shim==0.2.3
numpy==1.23.5
overrides==7.4.0
-packaging==23.1
+packaging==23.2
pandocfilters==1.5.0
parso==0.8.3
pathspec==0.11.2
-pathvalidate==3.1.0
+pathvalidate==3.2.0
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
@@ -134,28 +128,28 @@ pure-eval==0.2.2
pybtex==0.24.0
pybtex-docutils==1.0.3
pycparser==2.21
-pydantic==2.3.0
-pydantic-core==2.6.3
-pydata-sphinx-theme==0.13.3
-pygithub==1.59.1
+pydantic==2.4.2
+pydantic-core==2.10.1
+pydata-sphinx-theme==0.14.1
+pygithub==2.1.1
pygments==2.16.1
pyjwt==2.8.0
pynacl==1.5.0
-pyparsing==3.0.9
+pyparsing==3.1.1
pyproject-api==1.6.1
-pytablewriter==1.0.0
+pytablewriter==1.2.0
pytest==7.4.2
pytest-cov==4.1.0
pytest-xdist==3.3.1
python-dateutil==2.8.2
python-gitlab==3.15.0
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
qtconsole==5.4.4
qtpy==2.4.0
referencing==0.30.2
@@ -163,9 +157,9 @@ requests==2.31.0
requests-toolbelt==1.0.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
-rope==1.9.0
-rpds-py==0.10.2
-ruff==0.0.287
+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
@@ -178,49 +172,48 @@ 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
-tabledata==1.3.1
+tabledata==1.3.3
tabulate==0.9.0
-tcolorpy==0.1.3
+tcolorpy==0.1.4
terminado==0.17.1
tinycss2==1.2.1
tomli==2.0.1
tornado==6.3.3
tox==4.11.3
-traitlets==5.9.0
-typepy==1.3.1
+traitlets==5.11.2
+typepy==1.3.2
types-docutils==0.20.0.3
types-pkg-resources==0.1.3
types-python-dateutil==2.8.19.14
-types-pyyaml==6.0.12.11
+types-pyyaml==6.0.12.12
types-setuptools==68.2.0.0
-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:
+# pwa-pages
# setuptools
diff --git a/.constraints/py3.9.txt b/.constraints/py3.9.txt
index a423072a..fefceca4 100644
--- a/.constraints/py3.9.txt
+++ b/.constraints/py3.9.txt
@@ -2,39 +2,38 @@
# 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=PWA-pages --unsafe-package=pip --unsafe-package=pwa-pages --unsafe-package=setuptools
#
accessible-pygments==0.0.4
-aiofiles==22.1.0
-aiosqlite==0.19.0
alabaster==0.7.13
-annotated-types==0.5.0
+annotated-types==0.6.0
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
-cryptography==41.0.3
-cycler==0.11.0
+contourpy==1.1.1
+coverage==7.3.2
+cryptography==41.0.4
+cycler==0.12.1
dataproperty==1.0.1
-debugpy==1.7.0
+debugpy==1.8.0
decorator==5.1.1
defusedxml==0.7.1
deprecated==1.2.14
@@ -42,87 +41,82 @@ distlib==0.3.7
docstring-to-markdown==0.12
docutils==0.17.1
dominate==2.8.0
-entrypoints==0.4
exceptiongroup==1.1.3
execnet==2.0.2
-executing==1.2.0
-fastjsonschema==2.18.0
+executing==2.0.0
+fastjsonschema==2.18.1
feynman==2.1.0
-filelock==3.12.3
-fonttools==4.42.1
+filelock==3.12.4
+fonttools==4.43.1
fqdn==1.5.1
-greenlet==2.0.2
-identify==2.5.27
+greenlet==3.0.0
+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
-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==1.0.0
jupyter-cache==0.6.1
-jupyter-client==7.4.9
+jupyter-client==8.3.1
jupyter-console==6.6.3
-jupyter-core==5.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
mbstrdecoder==1.1.3
mdit-py-plugins==0.3.5
mdurl==0.1.2
-mistune==3.0.1
+mistune==3.0.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.7.4
-nbconvert==7.8.0
+nbconvert==7.9.2
nbformat==5.9.2
-nest-asyncio==1.5.7
+nest-asyncio==1.5.8
nodeenv==1.8.0
-notebook==6.5.5
+notebook==7.0.4
notebook-shim==0.2.3
numpy==1.23.5
overrides==7.4.0
-packaging==23.1
+packaging==23.2
pandocfilters==1.5.0
parso==0.8.3
pathspec==0.11.2
-pathvalidate==3.1.0
+pathvalidate==3.2.0
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
@@ -133,28 +127,28 @@ pure-eval==0.2.2
pybtex==0.24.0
pybtex-docutils==1.0.3
pycparser==2.21
-pydantic==2.3.0
-pydantic-core==2.6.3
-pydata-sphinx-theme==0.13.3
-pygithub==1.59.1
+pydantic==2.4.2
+pydantic-core==2.10.1
+pydata-sphinx-theme==0.14.1
+pygithub==2.1.1
pygments==2.16.1
pyjwt==2.8.0
pynacl==1.5.0
-pyparsing==3.0.9
+pyparsing==3.1.1
pyproject-api==1.6.1
-pytablewriter==1.0.0
+pytablewriter==1.2.0
pytest==7.4.2
pytest-cov==4.1.0
pytest-xdist==3.3.1
python-dateutil==2.8.2
python-gitlab==3.15.0
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
qtconsole==5.4.4
qtpy==2.4.0
referencing==0.30.2
@@ -162,9 +156,9 @@ requests==2.31.0
requests-toolbelt==1.0.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
-rope==1.9.0
-rpds-py==0.10.2
-ruff==0.0.287
+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
@@ -177,49 +171,48 @@ 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
-tabledata==1.3.1
+tabledata==1.3.3
tabulate==0.9.0
-tcolorpy==0.1.3
+tcolorpy==0.1.4
terminado==0.17.1
tinycss2==1.2.1
tomli==2.0.1
tornado==6.3.3
tox==4.11.3
-traitlets==5.9.0
-typepy==1.3.1
+traitlets==5.11.2
+typepy==1.3.2
types-docutils==0.20.0.3
types-pkg-resources==0.1.3
types-python-dateutil==2.8.19.14
-types-pyyaml==6.0.12.11
+types-pyyaml==6.0.12.12
types-setuptools==68.2.0.0
-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:
+# pwa-pages
# setuptools
diff --git a/.cspell.json b/.cspell.json
index edc02da8..29fb7820 100644
--- a/.cspell.json
+++ b/.cspell.json
@@ -1,171 +1,150 @@
{
- "version": "0.2",
- "enableFiletypes": ["git-commit", "julia", "jupyter"],
- "flagWords": [
- "analyse",
- "colour",
- "comparision",
- "favour",
- "flavour",
- "hte",
- "optimise",
- "paramater",
- "parmater",
- "transision",
- "transisions"
- ],
- "ignorePaths": [
- "**/.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"
- ],
- "language": "en-US",
- "words": [
- "ampform",
- "besiii",
- "blazingly",
- "breit",
- "brookhaven",
- "checkmark",
- "chromodynamics",
- "clebsch",
- "conda",
- "Cuda",
- "dalitz",
- "docstrings",
- "doctests",
- "doxygen",
- "flatt",
- "flatté",
- "glueball",
- "glueballs",
- "gordan",
- "helicities",
- "helicity",
- "hypercharge",
- "isospin",
- "jupyter",
- "matplotlib",
- "mypy",
- "numpy",
- "pseudoscalar",
- "PYTHONHASHSEED",
- "qrules",
- "sympy",
- "unitarity",
- "unstaged",
- "zemach"
- ],
- "ignoreWords": [
- "MAINT",
- "arange",
- "attribs",
- "autopep",
- "autoupdate",
- "bdist",
- "codecov",
- "codemirror",
- "commitlint",
- "compwa",
- "concat",
- "dateutil",
- "docnb",
- "eval",
- "expertsystem",
- "figsize",
- "fontsize",
- "frameon",
- "genindex",
- "graphviz",
- "htmlcov",
- "infty",
- "ipykernel",
- "ipynb",
- "isinstance",
- "isort",
- "jupyterlab",
- "kernelspec",
- "kutschke",
- "labelpar",
- "linkcheck",
- "macos",
- "markdownlint",
- "mathrm",
- "maxdepth",
- "mkdir",
- "modindex",
- "multiplets",
- "nbconvert",
- "nbformat",
- "noreply",
- "notcited",
- "oneline",
- "pandoc",
- "pawian",
- "precommit",
- "prereleased",
- "propto",
- "pycompwa",
- "pydantic",
- "pygments",
- "pypi",
- "pyplot",
- "pyproject",
- "pyright",
- "pytablewriter",
- "pytest",
- "rarita",
- "rebased",
- "redeboer",
- "richman",
- "rightarrow",
- "rtfd",
- "scikit",
- "scipy",
- "sdist",
- "seealso",
- "setuptools",
- "tensorwaves",
- "toctree",
- "treiman",
- "unbinned",
- "unsrt",
- "venv",
- "xlabel",
- "xlim",
- "ylabel",
- "ylim"
- ]
+ "version": "0.2",
+ "enableFiletypes": ["git-commit", "julia", "jupyter"],
+ "flagWords": [
+ "analyse",
+ "colour",
+ "comparision",
+ "favour",
+ "flavour",
+ "hte",
+ "optimise",
+ "paramater",
+ "parmater",
+ "transision",
+ "transisions"
+ ],
+ "ignorePaths": [
+ "**/*.bib",
+ "**/.cspell.json",
+ ".constraints/*.txt",
+ ".editorconfig",
+ ".gitignore",
+ ".gitpod.*",
+ ".pre-commit-config.yaml",
+ ".prettierignore",
+ ".readthedocs.yml",
+ ".vscode/*",
+ "codecov.yml",
+ "docs/conf.py",
+ "pyproject.toml",
+ "tox.ini"
+ ],
+ "language": "en-US",
+ "words": [
+ "ampform",
+ "besiii",
+ "blazingly",
+ "breit",
+ "brookhaven",
+ "checkmark",
+ "chromodynamics",
+ "clebsch",
+ "conda",
+ "Cuda",
+ "dalitz",
+ "docstrings",
+ "doctests",
+ "doxygen",
+ "flatt",
+ "flatté",
+ "glueball",
+ "glueballs",
+ "gordan",
+ "helicities",
+ "helicity",
+ "hypercharge",
+ "isospin",
+ "jupyter",
+ "matplotlib",
+ "mypy",
+ "numpy",
+ "pseudoscalar",
+ "PYTHONHASHSEED",
+ "qrules",
+ "sympy",
+ "unitarity",
+ "unstaged",
+ "zemach"
+ ],
+ "ignoreWords": [
+ "Colab",
+ "MAINT",
+ "arange",
+ "attribs",
+ "autopep",
+ "autoupdate",
+ "bdist",
+ "codecov",
+ "codemirror",
+ "commitlint",
+ "compwa",
+ "concat",
+ "dateutil",
+ "docnb",
+ "eval",
+ "expertsystem",
+ "figsize",
+ "fontsize",
+ "frameon",
+ "genindex",
+ "graphviz",
+ "htmlcov",
+ "infty",
+ "ipykernel",
+ "ipynb",
+ "isinstance",
+ "isort",
+ "jupyterlab",
+ "kernelspec",
+ "kutschke",
+ "labelpar",
+ "linkcheck",
+ "macos",
+ "mathrm",
+ "maxdepth",
+ "mkdir",
+ "modindex",
+ "multiplets",
+ "nbconvert",
+ "nbformat",
+ "noreply",
+ "notcited",
+ "oneline",
+ "pandoc",
+ "pawian",
+ "precommit",
+ "prereleased",
+ "propto",
+ "pycompwa",
+ "pydantic",
+ "pygments",
+ "pypi",
+ "pyplot",
+ "pyproject",
+ "pyright",
+ "pytablewriter",
+ "pytest",
+ "rarita",
+ "rebased",
+ "redeboer",
+ "richman",
+ "rightarrow",
+ "rtfd",
+ "scikit",
+ "scipy",
+ "sdist",
+ "seealso",
+ "setuptools",
+ "tensorwaves",
+ "toctree",
+ "treiman",
+ "unbinned",
+ "unsrt",
+ "venv",
+ "xlabel",
+ "xlim",
+ "ylabel",
+ "ylim"
+ ]
}
diff --git a/.editorconfig b/.editorconfig
index eafd9dd1..d8c58452 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -13,10 +13,6 @@ indent_size = 1
[*.{py,toml}]
indent_size = 4
-# when adding words through vscode, this is the resulting output format
-[.cspell.json]
-indent_size = 4
-
[LICENSE]
indent_size = unset
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index d0cc61cd..00000000
--- 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 049eb32b..00000000
--- 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 14b80852..00000000
--- 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 e37819b9..cd3bb74f 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,20 +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
- none_of: ❌ Won't fix,💫 Good first issue
+ 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
- - name: Install Dependencies
- 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 d54187de..d64f197b 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 49e31988..78b71abc 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 360aad03..d981b21f 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 23bb7fa6..00000000
--- 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 38f37ad2..67089919 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -15,7 +15,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
@@ -39,24 +39,21 @@ 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:
- --ci-skipped-tests=all
- --no-macos
+ - --no-prettierrc
- --pin-requirements=bimonthly
- --repo-name=PWA-pages
- --repo-title=PWA Pages
+ - id: colab-toc-visible
- id: fix-nbformat-version
- - id: format-setup-cfg
-
- 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
@@ -65,9 +62,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
@@ -75,7 +75,7 @@ repos:
- id: blacken-docs
- repo: https://github.com/sirosen/check-jsonschema
- rev: 0.26.3
+ rev: 0.27.0
hooks:
- id: check-jsonschema
name: Check project inventory YAML files
@@ -85,7 +85,7 @@ repos:
args: ["--schemafile", "./docs/software/project-inventory-schema.json"]
- repo: https://github.com/streetsidesoftware/cspell-cli
- rev: v7.3.0
+ rev: v7.3.1
hooks:
- id: cspell
@@ -100,11 +100,6 @@ repos:
.*\.py
)$
- - repo: https://github.com/igorshubovych/markdownlint-cli
- rev: v0.36.0
- hooks:
- - id: markdownlint
-
- repo: local
hooks:
- id: mypy
@@ -125,6 +120,7 @@ repos:
cell.attachments
cell.metadata.code_folding
cell.metadata.id
+ cell.metadata.pycharm
cell.metadata.user_expressions
metadata.celltoolbar
metadata.colab.name
@@ -145,19 +141,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:
@@ -168,6 +164,13 @@ repos:
hooks:
- id: taplo
+ - repo: https://github.com/pappasam/toml-sort
+ rev: v0.23.1
+ hooks:
+ - id: toml-sort
+ args:
+ - --in-place
+
- repo: local
hooks:
- id: update-json-schema
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index ca09957f..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1 +0,0 @@
-printWidth: 88
diff --git a/.taplo.toml b/.taplo.toml
index f5caabee..0db1df7c 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 0380e17e..bdeb608f 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",
@@ -26,6 +25,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 304ea3ff..267082a1 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,
@@ -41,9 +41,15 @@
"git.rebaseWhenSync": true,
"github-actions.workflows.pinned.workflows": [".github/workflows/ci.yml"],
"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",
- "myst.preview.extensions": ["amsmath", "colon_fence", "dollarmath", "tasklist"],
+ "myst.preview.extensions": [
+ "amsmath",
+ "colon_fence",
+ "dollarmath",
+ "tasklist"
+ ],
+ "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 d8b6bdcd..00000000
--- 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/conf.py b/docs/conf.py
index 2f0df179..f67e1769 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -114,10 +114,10 @@ def get_repository_name() -> str:
"sphinx_comments",
"sphinx_copybutton",
"sphinx_design",
+ "sphinx_hep_pdgref",
"sphinx_thebe",
"sphinx_togglebutton",
"sphinxcontrib.bibtex",
- "sphinxcontrib.hep.pdgref",
]
exclude_patterns = [
"**.ipynb_checkpoints",
@@ -181,7 +181,8 @@ def get_repository_name() -> str:
# Intersphinx settings
version_remapping = {
"ipython": {
- "8.12.2": "8.13.2",
+ "8.12.2": "8.12.1",
+ "8.12.3": "8.12.1",
},
"matplotlib": {"3.5.1": "3.5.0"},
}
diff --git a/docs/data.md b/docs/data.md
index 10b8f9ca..4379b4c4 100644
--- a/docs/data.md
+++ b/docs/data.md
@@ -29,15 +29,8 @@ These pages are **under development**.
## Comparison with Measurements
-
-
:::{todo}
----
-class: dropdown
----
-
-
-
+:class: dropdown
Luminosity $L$
diff --git a/docs/dynamics.ipynb b/docs/dynamics.ipynb
index d835237d..25e56840 100644
--- a/docs/dynamics.ipynb
+++ b/docs/dynamics.ipynb
@@ -245,6 +245,9 @@
}
],
"metadata": {
+ "colab": {
+ "toc_visible": true
+ },
"kernelspec": {
"display_name": "Python 3",
"language": "python",
diff --git a/docs/formalisms/helicity.md b/docs/formalisms/helicity.md
index aeab2ed0..41eb2a7f 100644
--- a/docs/formalisms/helicity.md
+++ b/docs/formalisms/helicity.md
@@ -81,7 +81,6 @@ an example here. -->
Recommended literature:
-
- General introductions to helicity angles:
{cite}`kutschkeAngularDistributionCookbook1996, richmanExperimenterGuideHelicity1984`
@@ -89,5 +88,3 @@ Recommended literature:
{cite}`chenCoherentHelicityAmplitude2017, marangottoHelicityAmplitudesGeneric2020, wangNovelMethodTest2020, mikhasenkoDalitzplotDecompositionThreebody2020`
- LHCb study that led to these solution papers:
{cite}`aaijObservationResonancesConsistent2015`
-
-
diff --git a/docs/introduction.ipynb b/docs/introduction.ipynb
index 3786907d..ec2e213e 100644
--- a/docs/introduction.ipynb
+++ b/docs/introduction.ipynb
@@ -330,6 +330,9 @@
}
],
"metadata": {
+ "colab": {
+ "toc_visible": true
+ },
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
diff --git a/docs/software.ipynb b/docs/software.ipynb
index d2312ca4..92f4c2c5 100644
--- a/docs/software.ipynb
+++ b/docs/software.ipynb
@@ -172,6 +172,9 @@
}
],
"metadata": {
+ "colab": {
+ "toc_visible": true
+ },
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
diff --git a/pyproject.toml b/pyproject.toml
index 77b49f9a..76347e38 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,10 +1,145 @@
[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 :: 2 - Pre-Alpha",
+ "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 = [
+ "PyGithub",
+ "PyYAML",
+ "attrs >=17.3.0", # auto_attribs
+ "pydantic",
+ "pytablewriter[html]",
+ "python-dateutil",
+ "python-gitlab",
+]
+description = "A central knowledge-base 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 = "PWA-pages"
+requires-python = ">=3.7"
+
+[project.optional-dependencies]
+dev = [
+ "PWA-pages[doc]",
+ "PWA-pages[jupyter]",
+ "PWA-pages[sty]",
+ "PWA-pages[test]",
+ "sphinx-autobuild",
+ "tox >=1.9", # for skip_install, use_develop
+]
+doc = [
+ "Sphinx >=3",
+ "docutils <0.18", # https://github.com/executablebooks/jupyter-book/issues/2026#issuecomment-1636657741
+ "feynman",
+ "ipywidgets",
+ "jupyter",
+ "matplotlib",
+ "myst-nb >=0.11", # myst_enable_extensions
+ "numpy <1.24", # bug in feynman: https://github.com/ComPWA/PWA-pages/actions/runs/3868808372/jobs/6594501436#step:6:177
+ "sphinx-book-theme",
+ "sphinx-codeautolink[ipython]",
+ "sphinx-comments",
+ "sphinx-copybutton",
+ "sphinx-design",
+ "sphinx-hep-pdgref",
+ "sphinx-thebe",
+ "sphinx-togglebutton",
+ "sphinxcontrib-bibtex >=2.2", # bibtex_reference_style
+ "sympy",
+ 'importlib-metadata; python_version <"3.8.0"',
+]
+format = [
+ "black",
+]
+jupyter = [
+ "PWA-pages[doc]",
+ "jupyterlab",
+ "jupyterlab-code-formatter",
+ "jupyterlab-lsp",
+ "jupyterlab-myst",
+ "python-lsp-server[rope]",
+ 'ypy-websocket <0.8.3; python_version <"3.8.0"',
+]
+lint = [
+ "PWA-pages[mypy]",
+ "ruff",
+]
+mypy = [
+ "mypy >=0.730", # error code support
+ "types-PyYAML",
+ "types-docutils",
+ "types-pkg-resources",
+ "types-python-dateutil",
+ "types-setuptools",
+]
+sty = [
+ "PWA-pages[format]",
+ "PWA-pages[lint]",
+ "PWA-pages[test]", # for pytest type hints
+ "pre-commit >=1.4.0",
+]
+test = [
+ "pytest",
+ "pytest-cov",
+ "pytest-xdist",
+]
+
+[project.readme]
+content-type = "text/markdown"
+file = "README.md"
+
+[project.scripts]
+export-json-schema = "pwa_pages.project_inventory:export_json_schema"
+
+[project.urls]
+Changelog = "https://github.com/ComPWA/PWA-pages/releases"
+Documentation = "https://pwa.rtfd.io"
+Source = "https://github.com/ComPWA/PWA-pages"
+Tracker = "https://github.com/ComPWA/PWA-pages/issues"
+
+[tool.setuptools]
+include-package-data = false
+package-dir = {"" = "src"}
+
+[tool.setuptools.package-data]
+pwa_pages = ["py.typed"]
+
+[tool.setuptools.packages.find]
+namespaces = false
+where = ["src"]
+
[tool.setuptools_scm]
write_to = "src/pwa_pages/version.py"
@@ -61,9 +196,6 @@ ignore_missing_imports = true
module = ["sphinxcontrib.bibtex.*"]
[tool.nbqa.addopts]
-black = [
- "--line-length=85",
-]
ruff = [
"--extend-ignore=B018",
"--extend-ignore=C90",
@@ -211,3 +343,17 @@ task-tags = ["cspell"]
[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 5e0edb40..00000000
--- a/setup.cfg
+++ /dev/null
@@ -1,124 +0,0 @@
-[metadata]
-name = PWA-pages
-author = Common Partial Wave Analysis
-author_email = compwa-admin@ep1.rub.de
-maintainer_email = compwa-admin@ep1.rub.de
-description = A central knowledge-base for Partial Wave Analysis
-long_description = file: README.md
-long_description_content_type = text/markdown
-project_urls =
- Tracker = https://github.com/ComPWA/PWA-pages/issues
- Changelog = https://github.com/ComPWA/PWA-pages/releases
- Documentation = https://pwa.rtfd.io
- Source = https://github.com/ComPWA/PWA-pages
-license = GPLv3 or later
-keywords =
- HEP
- PWA
- amplitude analysis
- partial wave analysis
- particle physics
- particles
- physics
-classifiers =
- Development Status :: 2 - Pre-Alpha
- 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 >=17.3.0 # auto_attribs
- pydantic
- PyGithub
- pytablewriter[html]
- python-dateutil
- python-gitlab
- PyYAML
-packages = find:
-package_dir =
- =src
-
-[options.extras_require]
-doc =
- docutils <0.18 # https://github.com/executablebooks/jupyter-book/issues/2026#issuecomment-1636657741
- feynman
- importlib-metadata; python_version <"3.8.0"
- ipywidgets
- jupyter
- matplotlib
- myst-nb >=0.11 # myst_enable_extensions
- numpy <1.24 # bug in feynman: https://github.com/ComPWA/PWA-pages/actions/runs/3868808372/jobs/6594501436#step:6:177
- Sphinx >=3
- sphinx-book-theme
- sphinx-codeautolink[ipython]
- sphinx-comments
- sphinx-copybutton
- sphinx-design
- sphinx-thebe
- sphinx-togglebutton
- sphinxcontrib-bibtex >=2.2 # bibtex_reference_style
- sphinxcontrib-hep-pdgref
- sympy
-test =
- pytest
- pytest-cov
- pytest-xdist
-format =
- black
-mypy =
- mypy >=0.730 # error code support
- types-docutils
- types-pkg-resources
- types-python-dateutil
- types-PyYAML
- types-setuptools
-lint =
- %(mypy)s
- ruff
-sty =
- %(format)s
- %(lint)s
- %(test)s # for pytest type hints
- pre-commit >=1.4.0
-jupyter =
- %(doc)s
- jupyterlab
- jupyterlab-code-formatter
- jupyterlab-lsp
- jupyterlab-myst
- python-lsp-server[rope]
- ypy-websocket <0.8.3; python_version <"3.8.0"
-dev =
- %(doc)s
- %(jupyter)s
- %(sty)s
- %(test)s
- sphinx-autobuild
- tox >=1.9 # for skip_install, use_develop
-
-[options.entry_points]
-console_scripts =
- export-json-schema = pwa_pages.project_inventory:export_json_schema
-
-[options.packages.find]
-where = src
-
-[options.package_data]
-pwa_pages =
- py.typed
diff --git a/setup.py b/setup.py
deleted file mode 100644
index 93296978..00000000
--- a/setup.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from setuptools import setup
-
-setup(
- use_scm_version=True,
- setup_requires=["setuptools_scm"],
-)