# Python bindings for C++ using PyROOT/cppyy: the experience from PyCool in COOL

- Institution: CERN
- Department: Developers@CERN Forum
- Speaker: Andrea Valassi
- Year: 2016
- Language: English
- Source: [CERN](https://videos.cern.ch/record/3016476)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Teens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

The COOL software is used by the ATLAS and LHCb experiments to handle the time variation and versioning of their conditions data, using a variety of different relational database technologies. While the COOL core libraries are written in C++ and are integrated in the experiment C++ frameworks, a package offering Python bindings of the COOL C++ APIs, PyCool, is also provided and has been an essential component of the ATLAS conditions data management toolkit for over 10 years. Almost since the beginning, the implementation of PyCool has been based on ROOT to generate Python bindings for C++, initially using Reflex and PyROOT in ROOT5 and more recently using clang and cppyy in ROOT6. This presentation will describe the PyCool experience with using ROOT to generate Python bindings for C++, throughout the many evolutions of the underlying technology..

0:00:00 Slide 1

0:00:29 Slide 2

0:00:58 Slide 3

0:02:03 Slide 4

0:02:26 Slide 5

0:02:52 Slide 6

0:02:56 Slide 7

0:03:02 Slide 8

0:03:06 Slide 9

0:03:35 Slide 10

0:04:04 Slide 11

0:04:46 Slide 12

0:05:27 Slide 13

0:05:46 Slide 14

0:06:15 Slide 15

0:06:49 Slide 16

0:07:03 Slide 17

0:07:08 Slide 18

0:07:17 Slide 19

0:07:22 Slide 20

0:07:33 Slide 21

0:08:23 Slide 22

0:08:27 Slide 23

0:08:45 Slide 24

0:09:49 Slide 25

0:09:55 Slide 26

0:10:30 Slide 27

0:11:27 Slide 28

0:11:40 Slide 29

0:12:00 Slide 30

0:12:53 Slide 31

0:13:35 Slide 32

0:13:57 Slide 33

0:14:09 Slide 34

0:14:31 Slide 35

0:14:55 Slide 36

0:15:01 Slide 37

## Lectures

1. [Python bindings for C++ using PyROOT/cppyy: the experience from PyCool in COOL](https://invisiblenetwork.ai/learn/cern/3016476/a78fbd48d480), 16 min (CERN's player)
