Installation
Following, multiple installation methods are described.
The basic installation only requires the Python package installer
pip
(opens in a new tab).
Basic installation
Just the basic pineline, using pre-built grids.
pip install pineline
Complete installation
The full pineline, able to compute grids as well.
pip install 'pineline[full]'
Third-party dependencies
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.
From scratch
-
Prepare a fresh environment, and activate it
# in your working directory virtualenv env . env/bin/activate
-
Download the
.sh
scripts inN3PDF/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.sh
might occasionally contain workarounds to run the last (or recent enough) version of LHAPDF. -
Export
$PREFIX
environment variableexport PREFIX=$(realpath ./env)
-
Run the
install.sh
script:sh install.sh
-
(Optional) To clean up, run the
clean.sh
script:sh clean.sh
Finally, you can install pineline
as described above, or any other Python
package as well, just using pip
.
Container
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.