import ast


def generate_getter_var(manifest, value, prefix="_AST"):
    """
    Generate a Name node that has an obscure name to prevent collisions
    and points to the value
    """
    var_name = '_{prefix}_{id}'.format(prefix=prefix, id=abs(hash(manifest)))
    getter = ast.Name(id=var_name, ctx=ast.Load())
    ns_update = {var_name: value}
    return ast.fix_missing_locations(getter), ns_update