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

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

Python bindings for tmEventSetup
https://github.com/cms-l1-globaltrigger/tm-eventsetup

cms-l1-dpg python-bindings

Last synced: about 2 months ago
JSON representation

Python bindings for tmEventSetup

Awesome Lists containing this project

README

          

# tm-eventsetup

Python bindings for tmEventSetup.

## 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-eventsetup==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 -b utm_0.14.1
cd utm
./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-eventsetup.git -b 0.14.1
cd tm-eventsetup
python3 -m venv env
. env/bin/activate
pip install --upgrade pip
pip install .
```