Following, multiple installation methods are described.
The basic installation only requires the Python package installer
pip (opens in a new tab).
Just the basic pineline, using pre-built grids.
pip install pineline
The full pineline, able to compute grids as well.
pip install 'pineline[full]'
There are few to none further dependencies needed for most use cases.
In particular the Basic installation above provides all tools required to compute a theory (starting from grids). But there might be more operations, that even if not strictly required, they are part of the normal workflow.
One of the most common one is to the test the predictions for a given grid/FkTable, applying a known PDF set. For this basic application, at least the LHAPDF (opens in a new tab) library (and Python package) is required.
Prepare a fresh environment, and activate it
# in your working directory virtualenv env . env/bin/activate
N3PDF/workflows/packages/lhapdf(opens in a new tab)
Note: The scripts in this folder are extremely simple, and can be inspected and manually typed in the shell. Here, we are referring to this folder just because this scripts are maintained by (and for the convenience of) N3PDF members, so
install.shmight occasionally contain workarounds to run the last (or recent enough) version of LHAPDF.
export PREFIX=$(realpath ./env)
(Optional) To clean up, run the
Finally, you can install
pineline as described above, or any other Python
package as well, just using
Another option, especially useful for automated workflows and remote environments, it is to run inside a container (opens in a new tab), building a suitable one ahead of time.
For the specific case of LHAPDF, a suitable
lhapdf (opens in a new tab) container
is pre-built and provided.
It can be used simply pulling it:
podman pull ghcr.io/n3pdf/lhapdf:v2
A couple of other containers, containing pre-installed tools like APFEL and QCDNUM (specifically their Python packages/bindings), are available in the same repository.