Hello, should I expect something like this to be a...
# hamilton-help
s
Hello, should I expect something like this to be allowed?
Copy code
# subdag.py

def mapping() -> pd.DataFrame:
    ...


@subdag(
    prepare_src1, prepare_src2, prepare_src3,
    inputs={
        "directory": source("directory"),
        "pattern_src1": source("pattern_src1"),
        "pattern_src2": source("pattern_src2"),
        "pattern_src3": source("pattern_src3"),
    },
    external_inputs=source("mapping")
)
def merge_and_stuff(
    prepared_src1: pd.DataFrame,
    prepared_src2: pd.DataFrame,
    prepared_src3: pd.DataFrame,
    mapping: pd.DataFrame
) -> pd.DataFrame:
    ...
Error: TypeError: argument of type 'UpstreamDependency' is not iterable
I ended up having to add the mapping to a downstream node. But I had thought this were possible?
s
@Seth Stokes external_inputs, is a list. So I think:
Copy code
external_inputs=["mapping"]
Should work. (also looking at the API this should also take
source(...)
as a value too, rather than string).