This pull request enables the tracking of the version of the software used by the user in heppy jobs.
When the heppy process runs, the user configuration file is parsed to find imported python modules.
If, for a given python module, a git repository is found, the HEAD commit id is stored and written to a yaml file in the output directory, called software.yaml.
The only package to be always tracked is heppy.
With the heppy and heppy_batch.py, the user can specify the list of packages to be tracked, like this:
In addition, we are now making use of the dill module, which allows to pickle more complicated objects that might be used in the cfg by the user, such as lambda functions.
@hegner this pull request might fail due to missing python modules in our python. If that's the case I will contact you to see how they can be installed (no big deal, one just has to run pip)
This pull request enables the tracking of the version of the software used by the user in heppy jobs. When the heppy process runs, the user configuration file is parsed to find imported python modules. If, for a given python module, a git repository is found, the HEAD commit id is stored and written to a yaml file in the output directory, called
software.yaml
.The only package to be always tracked is
heppy
.With the
heppy
andheppy_batch.py
, the user can specify the list of packages to be tracked, like this:In addition, we are now making use of the
dill
module, which allows to pickle more complicated objects that might be used in the cfg by the user, such as lambda functions.@hegner this pull request might fail due to missing python modules in our python. If that's the case I will contact you to see how they can be installed (no big deal, one just has to run pip)