PyFeyn is a package which makes drawing Feynman diagrams simple and programmatic. Feynman diagrams are important constructs in perturbative field theory, so being able to draw them in a programmatic fashion is important if attempting to enumerate a large number of diagram configurations is important. The output quality of PyFeyn diagrams (into PDF or EPS formats) is very high, and special effects can be obtained by using constructs from PyX, which PyFeyn is based around
Project description
PyFeyn2
Forked from https://pyfeyn.hepforge.org/
PyFeyn is a Python-language based system for drawing Feynman diagrams. It was inspired by the C++ FeynDiagram system, and aims to provide the same functionality and quality of output as that, with the added benefits of a modern interpreted language, an improved interface and output direct to both EPS and PDF. Behind the scenes, PyFeyn uses the excellent PyX system - you can use PyX constructs in PyFeyn diagrams if you want, too.
Dependencies
- libmagickwand-dev (to display pdfs in a jupyter-notebook, might require a policy change of the imagemagick config for PDFs, see Troubleshooting)
- ghostscript
- latexmk
- (graphviz)
- (feynmp-auto/feynmf)
Installation
poerty install --with docs --with dev
poetry shell
Documentation
Similar Feynman diagram rendering project:
- https://github.com/ndeutschmann/qgraf-xml-drawer
- https://github.com/GkAntonius/feynman
- https://github.com/JP-Ellis/tikz-feynman
- https://pyfeyn.hepforge.org/
- https://feynml.hepforge.org/
- http://www.feyndiagram.com/
- https://web.physik.rwth-aachen.de/user/harlander/software/feyngame/
- https://jaxodraw.sourceforge.io/
Several of these are integrated into pyfeyn2.
Troubleshooting
Development
package/python structure:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.