# Users pass positional args to Tasks, but PipelineTask does not take them

XMLWordPrintable

## Details

• Type: Story
• Status: To Do
• Resolution: Unresolved
• Fix Version/s: None
• Component/s: None
• Labels:
• Team:
Data Release Production

## Description

This just came up in DM-17045, and I'm filing a ticket to put in the TODO inline comment to find a more permanent solution, whether it be:

• to deprecate the args and eventually remove it from all task constructors, or
• make the work-around (copy args to kwargs) available to all tasks.

While not standard, users have done the following because it worked:

 config = FooConfig() task = FooTask(config) 

I can't find any official demo notebooks that do it, but I bet some user notebooks do. Fortunately, we had a unit test (thank you Ian Sullivan), that used this syntax that caught this.

## Activity

Hide
Jim Bosch added a comment -

This is probably RFC material, but I would be in favor of prohibiting positional arguments for task constructors and fixing code that breaks, though I could also get behind only allowing config to be passed positionally.  It's all too easy to get any of the other arguments wrong when you don't use keywords.

Show
Jim Bosch added a comment - This is probably RFC material, but I would be in favor of prohibiting positional arguments for task constructors and fixing code that breaks, though I could also get behind only allowing config to be passed positionally.  It's all too easy to get any of the other arguments wrong when you don't use keywords.

## People

• Assignee:
Unassigned
Reporter: