1. Installation

1.1. Obtain a Compiler

pySecDec works on Unix-like systems, specifically Linux and macOS. It requires a working c++ compiler and a Python 3 (>=3.8) installation.

On Linux systems, users can install compilers (we recommend the latest GCC or Clang compiler) and Python 3 using the package manager provided with their Linux distribution (usually one of : apk, apt-get, apt, yum).

On macOS systems, users can install a compiler via the App Store:

  • Download Xcode via the App Store

  • Open a terminal window and enter xcode-select --install then follow the prompts to install command line tools.

This procedure will make the clang compiler available on the system. Python 3 is shipped with macOS, you can check the version available on your system using python3 --version. Later versions of Python can be installed on macOS using third-party package managers (e.g. the Homebrew package manager).

1.2. Download the Program and Install

pySecDec works under Python version 3.8 or newer on unix-like systems. The latest release can be installed from PyPI by first (optionally) upgrading pip:

$ python3 -m pip install --user 'pip>=20.1'

and then running:

$ python3 -m pip install --user --upgrade pySecDec

This command will install the prebuild version of pySecDec if it is available; if not, then the dependencies will be compiled from source (this might take a while). One can also force building from source like this:

$ python3 -m pip install --user --upgrade --no-binary :all: pySecDec

1.3. Drawing Feynman Diagrams with neato

The plot_diagram() function draws a Feynman diagram using the command line tool neato. It is automatically called when generating an integral library using the loop_package() function with an integral of type LoopIntegralFromGraph and will issue a warning if neato is not available.

The warning can be safely ignored if you are not interested in the drawing. Alternatively, you must manually install neato which is part of the graphviz package. It is available in many package repositories and at http://www.graphviz.org.

1.4. Additional Dependencies

pySecDec and the integration libraries it produces depend on multiple third-party non-Python packages, all of which are contained in pySecDecContrib and will be automatally built during the normal installation procedure. These packages are: