Awesome
pipen-runinfo
Generate running information for jobs in pipen pipelines.
Including session info (packages and versions), time, and device info.
Install
pip install -U pipen-runinfo
Enable/Disable the plugin
The plugin is registered via entrypoints. It's by default enabled. To disable it: plugins=[..., "no:runinfo"], or uninstall this plugin.
Plugin options
runinfo_lang
: The name of the language to run the job script for session info. Default isNone
, which means it will be inferred from theproc.lang
This should be a process-level option, unless you only have one single process in your pipeline.runinfo_path
: Whether to include paths for the modules in the session information. Default isTrue
. This option could be either specified in the process-level or the pipeline-level. Only works forpython
.runinfo_submod
: Whether to include submodules in the session information. Default isFalse
. This option could be either specified in the process-level or the pipeline-level. Only works forpython
.
Supported languages for session info
python
, R
, bash
, and fish
.
Usage
The plugin will generate 3 files in the job directory of the pipeline.
job.runinfo.session
The session information of the job, including the interpreter, packages and their versions.
Python
Generates a TSV file with the following columns:
Name
: The name of the module, or python itself__version__
: The version fetched bymodule.__version__
ormodule.version
importlib.metadata
: The version fetched byimportlib.metadata.version(package)
Path
: The path of the module (only ifruninfo_path
isTrue
)
R
Generates a text file sessionInfo()
output.
Bash
Generates a TSV file with the following columns:
SHELL
: The value of$SHELL
BASH_VERSION
: The value of$BASH_VERSION
BASH_ARGV0
: The value of$BASH_ARGV0
BASH_SOURCE
: The value of$BASH_SOURCE
proc-exe
: The real path of the executable from/proc/<pid>/exe
proc-exe-version
: The version of the executable from/proc/<pid>/exe --version
Fish
Generates a TSV file with the following columns:
SHELL
: The value of$SHELL
FISH_VERSION
: The value of$FISH_VERSION
proc-exe
: The real path of the executable from/proc/<pid>/exe
proc-exe-version
: The version of the executable from/proc/<pid>/exe --version
job.runinfo.time
The time spent on the job, and more, generated by time -v
command.
job.runinfo.device
The device (cpu and memory) information of the job, generated by lscpu
/lsmem
command.