19–25 Oct 2024
Europe/Zurich timezone

pip install ROOT: experiences making a complex multi-language package accessible for Python users

21 Oct 2024, 16:51
18m
Room 2.A (Seminar Room)

Room 2.A (Seminar Room)

Talk Track 6 - Collaborative software and maintainability Parallel (Track 6)

Speaker

Dr Vincenzo Eduardo Padulano (CERN)

Description

ROOT is a software toolkit at the core of LHC experiments and 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 on the LCG stacks provided via 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, Anaconda. The last example is one of the main systems to distribute software to a Python user base, particularly beneficial for complex environments with real-world scientific applications in mind such as those found in HENP. Nonetheless, 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.

Primary authors

Presentation materials