Python bindings for tmTable.
It is recommended to install the utm Python bindings in a virtual environment which makes it also possible to use multiple versions in parallel.
pip install --index https://globaltrigger.web.cern.ch/pypi tm-table==0.14.0Note: building the Python bindings from scratch is only recommended for development. To create portable Python bindings use the cibuildwheel workflow.
Make sure to install all required build dependecies.
On ubuntu based distributions install
sudo apt-get install git build-essential libboost-dev libboost-system-dev libboost-filesystem-dev libxerces-c-dev python3-dev python3-venv swigCheck out and build all utm libraries.
Important: compile using the -DSWIG flag, see below.
git clone https://gitlab.cern.ch/cms-l1t-utm/utm.git
cd utm
git checkout utm_0.14.0
./configure # create makefiles
make all CPPFLAGS='-DNDEBUG -DSWIG' # compile with -DSWIG
. ./env.sh # source paths
cd ..Next build the Python bindings and install the resulting wheel. It is recommended to execute this step in a virtual environment.
git clone https://github.com/cms-l1-globaltrigger/tm-table.git
cd tm-table
git checkout 0.14.0
python3 -m venv env
. env/bin/activate
pip install --upgrade pip
pip install .