https://prefect.io logo
Title
p

Preston Marshall

02/06/2020, 10:36 PM
It seems I've hit a limitation. I'm working on my sftp thing I mentioned earlier and figured I'd use namedtuples for the parameters. It seems that's not possible?
Looks like providing defaults makes kwarg usage possible. Seems like a limitation that should be fixed though?
c

Chris White

02/06/2020, 11:19 PM
Can you share what error you’re running into?
p

Preston Marshall

02/07/2020, 3:40 PM
[2020-02-06 22:33:18,171] INFO - prefect.FlowRunner | Beginning Flow run for 'sftp-'
[2020-02-06 22:33:18,173] INFO - prefect.FlowRunner | Starting flow run.
[2020-02-06 22:33:18,176] ERROR - prefect.FlowRunner | Unexpected error: TypeError("__new__() missing 4 required positional arguments: 'port', 'username', 'credential', and 'host_pubkey'")
Traceback (most recent call last):
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/engine/runner.py", line 48, in inner
    new_state = method(self, state, *args, **kwargs)
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/engine/flow_runner.py", line 449, in get_flow_run_state
    executor=executor,
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/engine/executors/local.py", line 25, in submit
    return fn(*args, **kwargs)
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/engine/flow_runner.py", line 575, in run_task
    result_handler=default_handler,
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/engine/task_runner.py", line 92, in __init__
    self.context = prefect.context.to_dict()
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/utilities/collections.py", line 115, in to_dict
    return cast(dict, as_nested_dict(self, dct_class=dict))
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/utilities/collections.py", line 175, in as_nested_dict
    for k, v in getattr(obj, "__dict__", obj).items()
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/utilities/collections.py", line 175, in <dictcomp>
    for k, v in getattr(obj, "__dict__", obj).items()
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/utilities/collections.py", line 175, in as_nested_dict
    for k, v in getattr(obj, "__dict__", obj).items()
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/utilities/collections.py", line 175, in <dictcomp>
    for k, v in getattr(obj, "__dict__", obj).items()
  File "/Users/preston/.virtualenvs/prefect/lib/python3.7/site-packages/prefect/utilities/collections.py", line 162, in as_nested_dict
    return type(obj)([as_nested_dict(d, dct_class) for d in obj])
TypeError: __new__() missing 4 required positional arguments: 'port', 'username', 'credential', and 'host_pubkey'
[2020-02-06 22:33:18,178] ERROR - prefect.Flow: sftp- | Unexpected error occured in FlowRunner: TypeError("__new__() missing 4 required positional arguments: 'port', 'username', 'credential', and 'host_pubkey'")