https://dagster.io/ logo
Title
a

Andrew Herbst

06/02/2021, 3:36 PM
Hi all, is it possible to have order-based (nothing) dependencies that have can consume a real parameter as well? i.e.,
solid1 -> Nothing, solid2 -> String, solid3(solid1(), solid2())
When I try this I get an error about unmapped parameters, I have a gist that illustrates this issue if that would help.
a

alex

06/02/2021, 3:39 PM
can you send the gist link? i think that would be helpful
a

alex

06/02/2021, 3:44 PM
ah so the fix here is to wire the
Nothing
dep with a
kwarg
downstream_consuming_string(real_string, start=upstream_returning_nothing())
the error message could be better here for sure
a

Andrew Herbst

06/02/2021, 3:46 PM
ah, interesting
Thanks!
a

alex

06/02/2021, 3:47 PM
we treat the function signature as the source of truth for the order of args when passed as positional. Since Nothing is explicitly omitted there, it means that
Nothing
deps basically always have to be passed by keyword when there are other args in the mix
a

Andrew Herbst

06/02/2021, 5:04 PM
The other wrinkle here is that we’d like to use this in a composite scenario as well
ah, nm I think it works there as well, Hmm, no this doesn’t seem to work for composite -> composite dependencies, https://gist.github.com/aherbst-broad/148c643d1bf245809fe854c3fd1a57ee
a

alex

06/02/2021, 6:09 PM
what error do you get for the latter? One problem is that you have an empty composite - it has to have a real solid in it to map that Nothing output from
oops responded to the wrong gist - but here is a working sample https://gist.github.com/aherbst-broad/1c08a76d61055bb5dab9491aec3f75ea#gistcomment-3766557