code: def get_version(fname):
    "grab __version__ variable from fname (assuming fname is a python file). parses without importing."
    assign_stmts = [s for s in ast.parse(open(fname).read()).body if isinstance(s,ast.Assign)]
    valid_targets = [s for s in assign_stmts if len(s.targets) == 1 and s.targets[0].id == '__version__']
    return valid_targets[-1].value.f get_version(fname):
    "grab __version__ variable from fname (assuming fname is a python file). parses without importing."
    assign_stmts = [s for s in ast.parse(open(fname).read()).body if isinstance(s,ast.Assign)]
    valid_targets = [s for s in assign_stmts if len(s.targets) == 1 and s.targets[0].id == '__version__']
    return valid_targets[-1].value.s
docs: grab __version__ variable from fname (assuming fname is a python file). parses without importing.