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

Guardado en:
Detalles Bibliográficos
Publicado en:EPJ Web of Conferences vol. 337 (2025)
Autor principal: Padulano, Vincenzo Eduardo
Otros Autores: Rembser, Jonas
Publicado:
EDP Sciences
Materias:
Acceso en línea:Citation/Abstract
Full Text - PDF
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!

MARC

LEADER 00000nab a2200000uu 4500
001 3263159957
003 UK-CbPIL
022 |a 2101-6275 
022 |a 2100-014X 
024 7 |a 10.1051/epjconf/202533701096  |2 doi 
035 |a 3263159957 
045 2 |b d20250101  |b d20251231 
084 |a 182355  |2 nlm 
100 1 |a Padulano, Vincenzo Eduardo 
245 1 |a pip install ROOT: Experiences making a complex multilanguage package accessible for Python users 
260 |b EDP Sciences  |c 2025 
513 |a Conference Proceedings 
520 3 |a 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. 
653 |a Software 
653 |a Python 
653 |a Availability 
653 |a Packaging 
653 |a Nuclear physics 
700 1 |a Rembser, Jonas 
773 0 |t EPJ Web of Conferences  |g vol. 337 (2025) 
786 0 |d ProQuest  |t Advanced Technologies & Aerospace Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3263159957/abstract/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/3263159957/fulltextPDF/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch