Metadata-Version: 2.1
Name: ampform
Version: 0.10.3
Summary: UNKNOWN
Home-page: UNKNOWN
Author: Common Partial Wave Analysis
Author-email: compwa-admin@ep1.rub.de
Maintainer-email: compwa-admin@ep1.rub.de
License: GPLv3 or later
Project-URL: Tracker, https://github.com/ComPWA/ampform/issues
Project-URL: Changelog, https://github.com/ComPWA/ampform/releases
Project-URL: Documentation, https://ampform.rtfd.io
Project-URL: Source, https://github.com/ComPWA/ampform
Keywords: HEP,PWA,amplitude analysis,partial wave analysis,particle physics,particles,physics
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Typing :: Typed
Requires-Python: <3.10,>=3.6
Description-Content-Type: text/markdown
Requires-Dist: attrs (>=20.1.0)
Requires-Dist: qrules (==0.9.*)
Requires-Dist: numpy (<1.21,>=1.16)
Requires-Dist: sympy
Requires-Dist: typing-extensions ; python_version < "3.8.0"
Provides-Extra: all
Requires-Dist: graphviz ; extra == 'all'
Provides-Extra: dev
Requires-Dist: graphviz ; extra == 'dev'
Requires-Dist: ipympl ; extra == 'dev'
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: mdit-py-plugins (<0.2.7) ; extra == 'dev'
Requires-Dist: mpl-interactions ; extra == 'dev'
Requires-Dist: myst-nb (>=0.11) ; extra == 'dev'
Requires-Dist: rich ; extra == 'dev'
Requires-Dist: Sphinx (>=3) ; extra == 'dev'
Requires-Dist: sphinx-book-theme ; extra == 'dev'
Requires-Dist: sphinx-copybutton ; extra == 'dev'
Requires-Dist: sphinx-panels ; extra == 'dev'
Requires-Dist: sphinx-thebe ; extra == 'dev'
Requires-Dist: sphinx-togglebutton ; extra == 'dev'
Requires-Dist: sphinxcontrib-bibtex (>=2) ; extra == 'dev'
Requires-Dist: sphinxcontrib-hep-pdgref ; extra == 'dev'
Requires-Dist: black ; extra == 'dev'
Requires-Dist: isort ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: flake8-blind-except ; extra == 'dev'
Requires-Dist: flake8-bugbear ; extra == 'dev'
Requires-Dist: flake8-builtins ; extra == 'dev'
Requires-Dist: flake8-comprehensions ; extra == 'dev'
Requires-Dist: flake8-pytest-style ; extra == 'dev'
Requires-Dist: flake8-rst-docstrings ; extra == 'dev'
Requires-Dist: flake8-use-fstring ; extra == 'dev'
Requires-Dist: mypy (>=0.570) ; extra == 'dev'
Requires-Dist: pep8-naming ; extra == 'dev'
Requires-Dist: pydocstyle ; extra == 'dev'
Requires-Dist: pylint (>=2.5) ; extra == 'dev'
Requires-Dist: radon ; extra == 'dev'
Requires-Dist: ipywidgets ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pytest-notebook ; extra == 'dev'
Requires-Dist: pytest-profiling ; extra == 'dev'
Requires-Dist: pytest-xdist ; extra == 'dev'
Requires-Dist: pre-commit (>=1.4.0) ; extra == 'dev'
Requires-Dist: types-docutils ; extra == 'dev'
Requires-Dist: aquirdturtle-collapsible-headings ; extra == 'dev'
Requires-Dist: jupyterlab ; extra == 'dev'
Requires-Dist: jupyterlab-code-formatter ; extra == 'dev'
Requires-Dist: pip-tools (>=6.1.0) ; extra == 'dev'
Requires-Dist: sphinx-autobuild ; extra == 'dev'
Requires-Dist: tox (>=1.9) ; extra == 'dev'
Requires-Dist: dataclasses ; (python_version < "3.7") and extra == 'dev'
Provides-Extra: doc
Requires-Dist: graphviz ; extra == 'doc'
Requires-Dist: ipympl ; extra == 'doc'
Requires-Dist: matplotlib ; extra == 'doc'
Requires-Dist: mdit-py-plugins (<0.2.7) ; extra == 'doc'
Requires-Dist: mpl-interactions ; extra == 'doc'
Requires-Dist: myst-nb (>=0.11) ; extra == 'doc'
Requires-Dist: rich ; extra == 'doc'
Requires-Dist: Sphinx (>=3) ; extra == 'doc'
Requires-Dist: sphinx-book-theme ; extra == 'doc'
Requires-Dist: sphinx-copybutton ; extra == 'doc'
Requires-Dist: sphinx-panels ; extra == 'doc'
Requires-Dist: sphinx-thebe ; extra == 'doc'
Requires-Dist: sphinx-togglebutton ; extra == 'doc'
Requires-Dist: sphinxcontrib-bibtex (>=2) ; extra == 'doc'
Requires-Dist: sphinxcontrib-hep-pdgref ; extra == 'doc'
Requires-Dist: dataclasses ; (python_version < "3.7") and extra == 'doc'
Provides-Extra: format
Requires-Dist: black ; extra == 'format'
Requires-Dist: isort ; extra == 'format'
Provides-Extra: lint
Requires-Dist: flake8 ; extra == 'lint'
Requires-Dist: flake8-blind-except ; extra == 'lint'
Requires-Dist: flake8-bugbear ; extra == 'lint'
Requires-Dist: flake8-builtins ; extra == 'lint'
Requires-Dist: flake8-comprehensions ; extra == 'lint'
Requires-Dist: flake8-pytest-style ; extra == 'lint'
Requires-Dist: flake8-rst-docstrings ; extra == 'lint'
Requires-Dist: flake8-use-fstring ; extra == 'lint'
Requires-Dist: mypy (>=0.570) ; extra == 'lint'
Requires-Dist: pep8-naming ; extra == 'lint'
Requires-Dist: pydocstyle ; extra == 'lint'
Requires-Dist: pylint (>=2.5) ; extra == 'lint'
Requires-Dist: radon ; extra == 'lint'
Provides-Extra: sty
Requires-Dist: black ; extra == 'sty'
Requires-Dist: isort ; extra == 'sty'
Requires-Dist: flake8 ; extra == 'sty'
Requires-Dist: flake8-blind-except ; extra == 'sty'
Requires-Dist: flake8-bugbear ; extra == 'sty'
Requires-Dist: flake8-builtins ; extra == 'sty'
Requires-Dist: flake8-comprehensions ; extra == 'sty'
Requires-Dist: flake8-pytest-style ; extra == 'sty'
Requires-Dist: flake8-rst-docstrings ; extra == 'sty'
Requires-Dist: flake8-use-fstring ; extra == 'sty'
Requires-Dist: mypy (>=0.570) ; extra == 'sty'
Requires-Dist: pep8-naming ; extra == 'sty'
Requires-Dist: pydocstyle ; extra == 'sty'
Requires-Dist: pylint (>=2.5) ; extra == 'sty'
Requires-Dist: radon ; extra == 'sty'
Requires-Dist: ipywidgets ; extra == 'sty'
Requires-Dist: pytest ; extra == 'sty'
Requires-Dist: pytest-cov ; extra == 'sty'
Requires-Dist: pytest-notebook ; extra == 'sty'
Requires-Dist: pytest-profiling ; extra == 'sty'
Requires-Dist: pytest-xdist ; extra == 'sty'
Requires-Dist: pre-commit (>=1.4.0) ; extra == 'sty'
Requires-Dist: types-docutils ; extra == 'sty'
Provides-Extra: test
Requires-Dist: ipywidgets ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-notebook ; extra == 'test'
Requires-Dist: pytest-profiling ; extra == 'test'
Requires-Dist: pytest-xdist ; extra == 'test'
Provides-Extra: viz
Requires-Dist: graphviz ; extra == 'viz'

# AmpForm

[![Documentation build status](https://readthedocs.org/projects/ampform/badge/?version=latest)](https://ampform.readthedocs.io)
[![Binder](https://static.mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ComPWA/ampform/stable?filepath=docs/usage)
[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ComPWA/ampform/blob/stable)
[![GPLv3+ license](https://img.shields.io/badge/License-GPLv3+-blue.svg)](https://www.gnu.org/licenses/gpl-3.0-standalone.html)
[![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/ComPWA/ampform)
[![GitPod](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/ComPWA/ampform)
[![PyPI package](https://badge.fury.io/py/ampform.svg)](https://pypi.org/project/ampform)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/ampform)](https://pypi.org/project/ampform)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy.readthedocs.io)
[![pytest](https://github.com/ComPWA/ampform/workflows/pytest/badge.svg)](https://github.com/ComPWA/ampform/actions?query=branch%3Amain+workflow%3Apytest)
[![Test coverage](https://codecov.io/gh/ComPWA/ampform/branch/main/graph/badge.svg)](https://codecov.io/gh/ComPWA/ampform)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/70fc5fb0f3954a9d82d142efeff4df31)](https://www.codacy.com/gh/ComPWA/ampform)
[![pre-commit](https://github.com/ComPWA/ampform/workflows/pre-commit/badge.svg)](https://github.com/ComPWA/ampform/actions?query=branch%3Amain+workflow%3Apre-commit)
[![Spelling checked](https://img.shields.io/badge/cspell-checked-brightgreen.svg)](https://github.com/streetsidesoftware/cspell/tree/master/packages/cspell)
[![Prettier](https://camo.githubusercontent.com/687a8ae8d15f9409617d2cc5a30292a884f6813a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64655f7374796c652d70726574746965722d6666363962342e7376673f7374796c653d666c61742d737175617265)](https://prettier.io/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort)

Automatically formulate amplitude models in different formalisms. Visit
[ampform.rtfd.io](https://ampform.readthedocs.io) for more info!

For an overview of **upcoming releases and planned functionality**, see
[here](https://github.com/ComPWA/ampform/milestones?direction=asc&sort=title&state=open).

## Available features

- **PWA formalisms (for amplitude model generation)**
  - [x] Helicity formalism
  - [x] Canonical formalism
  - [ ] Tensor formalisms
- **Amplitude model**: Convert the state transition graphs to an amplitude
  model that is _mathematically expressed_ with [SymPy](https://docs.sympy.org)
  and can be _converted to any backend_ (see
  [`tensorwaves`](https://tensorwaves.rtfd.io)).

## Contribute

See [`CONTRIBUTING.md`](./CONTRIBUTING.md)


