Search code examples
command-lineparametersluigi

luigi: command-line parameters not becoming part of a task's signature?


In luigi, I know how to use its parameter mechanism to pass command-line parameters into a task. However, if I do so, the parameter becomes part of the task's signature.

But there are some cases -- for example, if I want to optionally pass a --debug or --verbose flag on the command line -- where I don't want the command-line parameter to become part of the task's signature.

I know I can do this outside of the luigi world, such as by running my tasks via a wrapper script which can optionally set environment variables to be read within my luigi code. However, is there a way I can accomplish this via luigi, directly?


Solution

  • Just declare them as insignificant parameters, ie instantiate the parameter class passing significant=False as keyword argument.

    Example:

    class MyTask(DateTask):
        other = luigi.Parameter(significant=False)