An open API service indexing awesome lists of open source software.

https://github.com/cms-l1-globaltrigger/tm-table

Python bindings for tmTable
https://github.com/cms-l1-globaltrigger/tm-table

cms-l1-dpg python-bindings

Last synced: about 2 months ago
JSON representation

Python bindings for tmTable

Awesome Lists containing this project

README

          

# tm-table

Python bindings for tmTable.

## Install

It is recommended to install the utm Python bindings in a virtual environment
which makes it also possible to use multiple versions in parallel.

```bash
pip install --index https://globaltrigger.web.cern.ch/pypi tm-table==0.14.1
```

## Build instructions

**Note:** building the Python bindings from scratch is only recommended for
development. To create portable Python bindings use the
[cibuildwheel](https://cibuildwheel.pypa.io/en/stable/) workflow.

Make sure to install all required build dependecies.

On ubuntu based distributions install
```bash
sudo apt-get install git build-essential libboost-dev libboost-system-dev libboost-filesystem-dev libxerces-c-dev python3-dev python3-venv swig
```

Check out and build all utm libraries.

**Important:** compile using the `-DSWIG` flag, see below.

```bash
git clone https://gitlab.cern.ch/cms-l1t-utm/utm.git
cd utm
git checkout utm_0.14.1
./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.

```bash
git clone https://github.com/cms-l1-globaltrigger/tm-table.git
cd tm-table
git checkout 0.14.1
python3 -m venv env
. env/bin/activate
pip install --upgrade pip
pip install .
```