Joseph McCartin
07/24/2023, 10:35 AMJoseph McCartin
07/24/2023, 10:42 AMfrom dagster import asset
# Custom libraries
import dataset1
from utilities import generate_name
def custom_asset(
data_format: str,
ins: Optional[Mapping[str, AssetIn]] = None,
):
@asset(
name=generate_name(data_format),
ins=ins
)
def asset_override(func, **kwargs):
return func(**kwargs)
return asset_override
@custom_asset(
ins={"dataset1": AssetIn(dataset1.asset_key)}
)
def generate_data(dataset1):
...
But when I run this, I get errors about generate_data
missing a positional argument.
Is this the best way to go about overriding a decorator? I’d rather not have to copy/paste and then modify the original asset decorator definition for obvious reasons.Joseph McCartin
07/24/2023, 12:24 PMfrom dagster import asset
# Custom libraries
import dataset1
from utilities import generate_name
def custom_asset(
data_format: str,
ins: Optional[Mapping[str, AssetIn]] = None,
):
def inner(func):
return asset(
name=generate_name(data_format),
ins=ins
)(func)
return inner
@custom_asset(
ins={"dataset1": AssetIn(dataset1.asset_key)}
)
def generate_data(dataset1):
...
sandy
07/24/2023, 4:24 PM