https://dagster.io/ logo
Title
a

Alessandro Marrella

07/01/2021, 1:35 PM
hi 👋 we are trying to sequence dagster-dbt cli runs but we are hitting a roadblock. The input type for the solid is
Nothing
, while the output type for the cli run is
DbtCliOutput
. This creates a type error when trying to sequence dbt solids. Would it be possible to change the input type to
Any
? Or is there another pattern you suggest?
👍 1
a

alex

07/01/2021, 2:44 PM
Can you share the full error you are seeing? You should be able to hook anything in to a
Nothing
input
a

Alessandro Marrella

07/01/2021, 2:49 PM
dagster.core.errors.DagsterInvalidDefinitionError: In CompositeSolidDefinition 'weights_v0_experiment' input 'prev' of type Any maps to generate_weights_cbsa_weights_v0.start_after of different type Nothing. InputMapping source and destination must have the same type.
a

alex

07/01/2021, 2:55 PM
ahh a composite boundary
this may be a little cumbersome - but can you add a
Nothing
at the composite and then wire it through
a

Alessandro Marrella

07/01/2021, 2:57 PM
yeah sorry i should have specified it earlier. Ok thanks we'll try that!
a

alex

07/01/2021, 2:58 PM
@composite_solid
def example(dbt_out: DbtCliOutput, dbt_done: Nothing):
    needs_data(dbt_out)
    needs_nothing(dbt_done)

@pipeline
def foo():
    cli_out = cli_run()
    example(dbt_out=cli_out, dbt_done=cli_out)
👍 2
s

sandy

07/01/2021, 3:55 PM
fyi @owen
👀 1
a

Alessandro Marrella

07/01/2021, 3:58 PM
that worked, thanks! I wonder if something can be done to improve the ergonomics of it (i.e. not having to specify nothing at the composite boundary). Anyway this gets us unblocked, thank you very much!