#NEWLINE# @ functools . lru_cache ( maxsize = 1 ) #NEWLINE# def get_default_techs( foo = 0 ) : #NEWLINE# #INDENT# '\n    Get list of techs pre-defined in defaults.yaml.\n\n    The foo=0 parameter makes sure that lru_cache has an argument to cache,\n    the function must always be called as get_default_techs() with no\n    arguments, ensuring that the values are only read from disk once and\n    then cached.\n\n    ' #NEWLINE# module_config = os . path . join ( os . path . dirname ( __file__ ) , 'config' ) #NEWLINE# o = utils . AttrDict . from_yaml ( os . path . join ( o , 'defaults.yaml' ) ) #NEWLINE# return list ( o . techs . keys ( ) )