pip install ROOT: Experiences making a complex multilanguage package accessible for Python users

ROOT is a software toolkit at the core of LHC experiments and High Energy and Nuclear Physics (HENP) collaborations worldwide, widely used by the community and in continuous development with it. The package is available through many channels that cater different types of users with different needs. This ranges from software releases (called LCG stacks) provided via a distributed file system developed at CERN (CVMFS) for all HENP users to benefit, to pre-built binaries available on the three major platforms (Linux, MacOS, Windows), to more specialised packaging systems such as Homebrew, Snap, conda. The last example is one of the main systems to distribute software to a Python user base, particularly beneficial for complex environments with realworld scientific applications in mind such as those found in HENP. Nonetheless, a conda package installer tool can’t be assumed to exist on a machine if Python is installed. This in turn adds an additional heavyweight dependency for both the user and the packager. Instead, the standard Python implementation defaults to using pip as a package installer. This technology, together with the Python Package Index (PyPI), distributes many Python packages and has the advantage of providing a lightweight path to downstream development of a package with some upstream Python dependencies. This contribution highlights the steps required towards making pip install ROOT possible, demonstrating its availability as an early-stage release, and discussing some of the unique challenges of delivering a highly-performant multi-language software via the standard Python packaging system.

Authors

Institutions

Publication Details

Journal
EPJ Web of Conferences
Published
2025-01-01
DOI
https://doi.org/10.1051/epjconf/202533701096
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

pip install ROOT: Experiences making a complex multilanguage package accessible for Python users

Jonas Rembser, Vincenzo Eduardo Padulano
EPJ Web of Conferences
Parallel Computing and Optimization Techniques
article

pip install ROOT: Experiences making a complex multilanguage package accessible for Python users

Jonas Rembser, Vincenzo Eduardo Padulano
article en

Abstract

ROOT is a software toolkit at the core of LHC experiments and High Energy and Nuclear Physics (HENP) collaborations worldwide, widely used by the community and in continuous development with it. The package is available through many channels that cater different types of users with different needs. This ranges from software releases (called LCG stacks) provided via a distributed file system developed at CERN (CVMFS) for all HENP users to benefit, to pre-built binaries available on the three major platforms (Linux, MacOS, Windows), to more specialised packaging systems such as Homebrew, Snap, conda. The last example is one of the main systems to distribute software to a Python user base, particularly beneficial for complex environments with realworld scientific applications in mind such as those found in HENP. Nonetheless, a conda package installer tool can’t be assumed to exist on a machine if Python is installed. This in turn adds an additional heavyweight dependency for both the user and the packager. Instead, the standard Python implementation defaults to using pip as a package installer. This technology, together with the Python Package Index (PyPI), distributes many Python packages and has the advantage of providing a lightweight path to downstream development of a package with some upstream Python dependencies. This contribution highlights the steps required towards making pip install ROOT possible, demonstrating its availability as an early-stage release, and discussing some of the unique challenges of delivering a highly-performant multi-language software via the standard Python packaging system.

EPJ Web of ConferencesVol. 337
European Organization for Nuclear Research (CH)
Openalex Percentile: Top 70%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.