Jordan
07/20/2022, 5:01 PMNone
but '[NoneType] (unserializable)'
. I know that @owen dealt with a problem with the metadata yesterday. Would it be possible to test this example after these changes to see if the problem persists or not? Note that at the interface level, there is also the problem in 0.15.4.
from dagster import (
AssetSelection,
asset,
define_asset_job,
repository,
AssetIn,
io_manager,
IOManager,
OutputContext,
InputContext,
)
class MyIOManager(IOManager):
def handle_output(self, context: OutputContext, obj: int):
pass
def load_input(self, context: InputContext):
print(context.upstream_output.metadata)
assert context.upstream_output.metadata == {"metadata_1": None}
pass
@io_manager
def my_io_manager(init_context):
return MyIOManager()
@asset(metadata={"metadata_1": None}, io_manager_def=my_io_manager)
def asset1():
pass
@asset(
ins={"asset1": AssetIn("asset1")},
metadata={"metadata_2": None},
io_manager_def=my_io_manager,
)
def asset2(asset1):
pass
asset_job = define_asset_job(
name="asset_1_and_2_job",
selection=AssetSelection.assets(asset1, asset2),
)
@repository
def repo():
return [asset1, asset2, asset_job]
owen
07/20/2022, 5:38 PM{"metadata_1": {"value": None}}
). Definitely not intuitive that the dictionary is serializable but not the bare value 😬Jordan
07/21/2022, 7:15 AM