Software packaging and distribution for LHCb using Nix

Software is an essential and rapidly evolving component of modern high energy physics research. The ability to be agile and take advantage of new and updated packages from the wider data science community is allowing physicists to efficiently utilise the data available to them. However, these packag...

Full description

Bibliographic Details
Main Authors: Burr Chris, Clemencic Marco, Couturier Ben
Format: Article
Language:English
Published: EDP Sciences 2019-01-01
Series:EPJ Web of Conferences
Online Access:https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_05005.pdf
_version_ 1818655899332378624
author Burr Chris
Clemencic Marco
Couturier Ben
author_facet Burr Chris
Clemencic Marco
Couturier Ben
author_sort Burr Chris
collection DOAJ
description Software is an essential and rapidly evolving component of modern high energy physics research. The ability to be agile and take advantage of new and updated packages from the wider data science community is allowing physicists to efficiently utilise the data available to them. However, these packages often introduce complex dependency chains and evolve rapidly introducing specific, and sometimes conflicting, version requirements which can make managing environments challenging. Additionally, there is a need to replicate old environments when generating simulated data and to utilise pre-existing datasets. Nix is a “purely functional package manager” which allows for software to be built and distributed with fully specified dependencies, making packages independent from those available on the host. Builds are reproducible and multiple versions/configurations of each package can coexist with the build configuration of each perfectly preserved. Here we will give an overview of Nix followed by the work that has been done to use Nix in LHCb and the advantages and challenges that this brings.
first_indexed 2024-12-17T03:17:01Z
format Article
id doaj.art-0f349e413ee441f5a12a2ea86941750d
institution Directory Open Access Journal
issn 2100-014X
language English
last_indexed 2024-12-17T03:17:01Z
publishDate 2019-01-01
publisher EDP Sciences
record_format Article
series EPJ Web of Conferences
spelling doaj.art-0f349e413ee441f5a12a2ea86941750d2022-12-21T22:05:37ZengEDP SciencesEPJ Web of Conferences2100-014X2019-01-012140500510.1051/epjconf/201921405005epjconf_chep2018_05005Software packaging and distribution for LHCb using NixBurr ChrisClemencic MarcoCouturier BenSoftware is an essential and rapidly evolving component of modern high energy physics research. The ability to be agile and take advantage of new and updated packages from the wider data science community is allowing physicists to efficiently utilise the data available to them. However, these packages often introduce complex dependency chains and evolve rapidly introducing specific, and sometimes conflicting, version requirements which can make managing environments challenging. Additionally, there is a need to replicate old environments when generating simulated data and to utilise pre-existing datasets. Nix is a “purely functional package manager” which allows for software to be built and distributed with fully specified dependencies, making packages independent from those available on the host. Builds are reproducible and multiple versions/configurations of each package can coexist with the build configuration of each perfectly preserved. Here we will give an overview of Nix followed by the work that has been done to use Nix in LHCb and the advantages and challenges that this brings.https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_05005.pdf
spellingShingle Burr Chris
Clemencic Marco
Couturier Ben
Software packaging and distribution for LHCb using Nix
EPJ Web of Conferences
title Software packaging and distribution for LHCb using Nix
title_full Software packaging and distribution for LHCb using Nix
title_fullStr Software packaging and distribution for LHCb using Nix
title_full_unstemmed Software packaging and distribution for LHCb using Nix
title_short Software packaging and distribution for LHCb using Nix
title_sort software packaging and distribution for lhcb using nix
url https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_05005.pdf
work_keys_str_mv AT burrchris softwarepackaginganddistributionforlhcbusingnix
AT clemencicmarco softwarepackaginganddistributionforlhcbusingnix
AT couturierben softwarepackaginganddistributionforlhcbusingnix