EPJ Web of Conferences (Jan 2020)

A New PyROOT: Modern, Interoperable and More Pythonic

  • Galli Massimiliano,
  • Tejedor Enric,
  • Wunsch Stefan

DOI
https://doi.org/10.1051/epjconf/202024506004
Journal volume & issue
Vol. 245
p. 06004

Abstract

Read online

Python is nowadays one of the most widely-used languages for data science. Its rich ecosystem of libraries together with its simplicity and readability are behind its popularity. HEP is also embracing that trend, often using Python as an interface language to access C++ libraries for the sake of performance. PyROOT, the Python bindings of the ROOT software toolkit, plays a key role here, since it allows to automatically and dynamically invoke C++ code from Python without the generation of any static wrappers beforehand. In that sense, this paper presents the efforts to create a new PyROOT with three main qualities: modern, able to exploit the latest C++ features from Python; pythonic, providing Python syntax to use C++ classes; interoperable, able to interact with the most important libraries of the Python data science toolset.