def get_deps()

in analytics/duplicates_analyze.py [0:0]


def get_deps(fname: str) -> List[str]:
    if sys.platform == 'darwin':
        rc = []
        lines = check_output(['otool', '-l', fname]).decode('ascii').split("\n")[1:-1]
        for idx, line in enumerate(lines):
            if line.strip() != 'cmd LC_LOAD_DYLIB':
                continue
            path = lines[idx + 2].strip()
            assert path.startswith('name')
            rc.append(os.path.basename(path.split(' ')[1]))
        return rc
    lines = check_output(['readelf', '--dynamic', fname]).decode('ascii').split('\n')
    return [line.split('[')[1][:-1] for line in lines if '(NEEDED)' in line]