apache / apache/hamilton

Can't stack @inject and @parameterize decorators

Open
#160 4 comments 0 reactions 0 assignees View on GitHub
decorators enhancement
Dominant language
Jupyter Notebook
Stars
2.6k
Forks
213
PR merge metrics
No merged PRs in 30d

Description

As per the issue title. This throws an error:

```
from hamilton.function_modifiers import inject, source, parameterize

@inject(params=source('my_func__params'))
@parameterize(
my_func_a={'date_range': source('my_func_a_date_range')},
my_func_b={'date_range': source('my_func_b_date_range')}
)
def my_func(date_range: tuple[pd.Timestamp, pd.Timestamp], params: int) -> int:
return 1

temp_module = ad_hoc_utils.create_temporary_module(
my_func, module_name="my_module"
)

config = {
'my_func__params': 1,
'my_func_a__date_range': [pd.Timestamp('2022-01-01'), pd.Timestamp('2022-01-10')],
'my_func_b__date_range': [pd.Timestamp('2023-01-01'), pd.Timestamp('2023-01-10')],
}
dr = driver.Driver(config, temp_module)
df = dr.execute(final_vars=['my_func_a'])
```

## Library & System Information
Hamilton: 1.22.5 , Python 3.11.1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.