Slackbot
10/26/2022, 11:32 PMElijah Ben Izzy
10/27/2022, 12:04 AMZouhair Mahboubi
10/27/2022, 12:10 AMtry / catch
for the import hamilton
and in the catch make the decorators as no-ops 😛Stefan Krawczyk
10/27/2022, 12:17 AMElijah Ben Izzy
10/27/2022, 12:18 AMStefan Krawczyk
10/27/2022, 12:18 AMElijah Ben Izzy
10/27/2022, 4:07 AMclass mock_modifier:
def __getattr__(self, attr):
return self
def __call__(*args, **kwargs):
def identity(fn):
return fn
return identity
try:
from hamilton import function_modifiers
except ImportError as e:
print('Cannot import hamilton, using a mock function modifier')
function_modifiers = mock_modifier()
@function_modifiers.config.when(foo=1)
def bar() -> int:
return 1
@function_modifiers.extract_fields({'a' : int, 'b' : int})
def baz() -> dict:
return {'a' : 1, 'b' : 1}
if __name__ == '__main__':
print(bar())
print(baz())
Hoping @Stefan Krawczyk's cleaner approach is less clever 😆Stefan Krawczyk
10/27/2022, 5:06 PMStefan Krawczyk
10/27/2022, 5:07 PM