Settings
Settings#
- b2luigi.get_setting(key, default=None, task=None, deprecated_keys=None)#
b2luigi
adds a settings management toluigi
and also uses it at various places. Many batch systems, the output and log path, the environment etc. is controlled via these settings.There are four ways settings could be defined. They are used in the following order (an earlier setting overrides a later one):
If the currently processed (or scheduled) task has a property of the given name, it is used. Please note that you can either set the property directly, e.g.
class MyTask(b2luigi.Task): batch_system = "htcondor"
or by using a function (which might even depend on the parameters)
class MyTask(b2luigi.Task): @property def batch_system(self): return "htcondor"
The latter is especially useful for batch system specific settings such as requested wall time etc.
Settings set directly by the user in your script with a call to
b2luigi.set_setting()
.Settings specified in the
settings.json
in the folder of your script or any folder above that. This makes it possible to have general project settings (e.g. the output path or the batch system) and a specificsettings.json
for your sub-project.
With this function, you can get the current value of a specific setting with the given key. If there is no setting defined with this name, either the default is returned or, if you did not supply any default, a value error is raised.
Settings can be of any type, but are mostly strings.
- Parameters
key (
str
) – The name of the parameter to query.task – (
b2luigi.Task
): If given, check if the task has a parameter with this name.default (optional) – If there is no setting which the name, either return this default or if it is not set, raise a ValueError.
deprecated_keys (
List
) – Former names of this setting, will throw a warning when still used
- b2luigi.set_setting(key, value)#
Set the setting with the specified name - overriding any
setting.json
. If you want to have task specific settings, create a parameter with the given name or your task.
- b2luigi.clear_setting(key)#
Clear the setting with the given key