Ref : https://github.com/python/cpython/pull/25174

https://github.com/localstack/localstack/blob/5a5edcd9d9ccbd6a56f23d71e3a1131b8c814996/localstack/utils/common.py#L324
"""Recursively copies file/directory"""
    if os.path.isfile(src):
        return shutil.copy(src, dst)
    kwargs = {}
    if 'dirs_exist_ok' in inspect.getargspec(shutil.copytree)[0]:
        kwargs['dirs_exist_ok'] = True
    try:
        return shutil.copytree(src, dst, **kwargs)
    except FileExistsError:
        if rm_dest_on_conflict:
            rm_rf(dst)
            return shutil.copytree(src, dst, **kwargs)
        raise
def disk_usage(path, include_hidden=False):