{"id":18952731,"url":"https://github.com/compwa/ampform","last_synced_at":"2026-02-16T17:08:10.264Z","repository":{"id":39918902,"uuid":"355179262","full_name":"ComPWA/ampform","owner":"ComPWA","description":"Automatically generate symbolic amplitude models for Partial Wave Analysis","archived":false,"fork":false,"pushed_at":"2024-12-18T16:28:19.000Z","size":4366,"stargazers_count":11,"open_issues_count":31,"forks_count":6,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-12-18T16:34:05.646Z","etag":null,"topics":["amplitude-analysis","cas","partial-wave-analysis","pwa","sympy"],"latest_commit_sha":null,"homepage":"https://ampform.rtfd.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ComPWA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-06T12:24:38.000Z","updated_at":"2024-11-07T12:35:13.000Z","dependencies_parsed_at":"2024-04-02T00:26:59.692Z","dependency_job_id":"ab654dbb-a46d-4dd6-9ba9-57aa03df63ba","html_url":"https://github.com/ComPWA/ampform","commit_stats":{"total_commits":804,"total_committers":12,"mean_commits":67.0,"dds":0.6044776119402986,"last_synced_commit":"4dd80e0ed14cac54b29cf82a0d6294b9ea42c8b1"},"previous_names":[],"tags_count":75,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComPWA%2Fampform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComPWA%2Fampform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComPWA%2Fampform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComPWA%2Fampform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ComPWA","download_url":"https://codeload.github.com/ComPWA/ampform/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230400606,"owners_count":18219830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amplitude-analysis","cas","partial-wave-analysis","pwa","sympy"],"created_at":"2024-11-08T13:34:28.643Z","updated_at":"2026-02-16T17:08:10.258Z","avatar_url":"https://github.com/ComPWA.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AmpForm\n\n[![10.5281/zenodo.5526648](https://zenodo.org/badge/doi/10.5281/zenodo.5526648.svg)](https://doi.org/10.5281/zenodo.5526648)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n[![PyPI package](https://badge.fury.io/py/ampform.svg)](https://pypi.org/project/ampform)\n[![Conda package](https://anaconda.org/conda-forge/ampform/badges/version.svg)](https://anaconda.org/conda-forge/ampform)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/ampform)](https://pypi.org/project/ampform)\n\n[![Binder](https://static.mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ComPWA/ampform/stable?urlpath=lab)\n[![Google Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ComPWA/ampform/blob/stable)\n[![Open in Visual Studio Code](https://img.shields.io/badge/vscode-open-blue?logo=visualstudiocode)](https://open.vscode.dev/ComPWA/ampform)\n\n[![Documentation build status](https://readthedocs.org/projects/ampform/badge/?version=latest)](https://ampform.readthedocs.io)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/ComPWA/ampform/main.svg)](https://results.pre-commit.ci/latest/github/ComPWA/ampform/main)\n[![CI status](https://github.com/ComPWA/ampform/workflows/CI/badge.svg)](https://github.com/ComPWA/ampform/actions/workflows/ci.yml?query=branch%3Amain+workflow%3Aci)\n[![Test coverage](https://codecov.io/gh/ComPWA/ampform/branch/main/graph/badge.svg)](https://codecov.io/gh/ComPWA/ampform)\n[![Spelling checked](https://img.shields.io/badge/cspell-checked-brightgreen.svg)](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n[![ty](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty)\n\nAmpForm is a Python library of spin formalisms and dynamics with which you can\nautomatically formulate symbolic amplitude models for Partial Wave Analysis. The\nresulting amplitude models are formulated with\n[SymPy](https://www.sympy.org/en/index.html) (a Computer Algebra System). This not only\nmakes it easy to inspect and visualize the resulting amplitude models, but also means\nthe amplitude models can be used as templates for faster computational back-ends (see\n[TensorWaves](https://github.com/ComPWA/tensorwaves))!\n\nVisit [ampform.rtfd.io](https://ampform.readthedocs.io) for several usage examples. For\nan overview of **upcoming releases and planned functionality**, see\n[here](https://github.com/ComPWA/ampform/milestones?direction=asc\u0026sort=title\u0026state=open).\n\n## Available features\n\n- **Automatic amplitude model building**\u003cbr /\u003e Convert state transition graphs from\n  [QRules](https://github.com/ComPWA/qrules) to an amplitude model that is\n  _mathematically expressed_ with [SymPy](https://docs.sympy.org) and can be _converted\n  to any backend_ (see [TensorWaves](https://tensorwaves.rtfd.io)).\n- **Spin formalisms**\n  - [Helicity formalism](https://ampform.readthedocs.io/en/stable/amplitude/formalism.html)\n  - Canonical formalism\n  - [Spin alignment](https://ampform.readthedocs.io/en/stable/amplitude/spin-alignment.html)\n    for generic, multi-body decays that feature different decay topologies. **See also [`ampform-dpd`](https://github.com/ComPWA/ampform-dpd)!**\n- **Dynamics**\n  - [Relativistic Breit–Wigner](https://ampform.readthedocs.io/en/stable/api/ampform.dynamics.html#ampform.dynamics.relativistic_breit_wigner_with_ff),\n    optionally with form factors and/or\n    [energy-dependent width](https://ampform.readthedocs.io/en/stable/api/ampform.dynamics.html#ampform.dynamics.EnergyDependentWidth)\n  - [Symbolic _K_-matrix](https://ampform.readthedocs.io/en/stable/dynamics/k-matrix.html#non-relativistic-k-matrix)\n    for an arbitrary number of poles and channels\n  - [Symbolic _P_-vector](https://ampform.readthedocs.io/en/stable/dynamics/k-matrix.html#p-vector)\n    for an arbitrary number of poles and channels\n  - Chew–Mandelstam dispersion integral for a correct treatment of analyticity in the presence of thresholds.\n\n## Contribute\n\nSee [`CONTRIBUTING.md`](./CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompwa%2Fampform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompwa%2Fampform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompwa%2Fampform/lists"}