async def METHOD_NAME(self, path, data):
    file_abspath = self.path_on_filesystem(path)
    path = f"{splitext(file_abspath)[0]}.detectors.txt"
    temp_abspath = f"{path}.{str(uuid4()).replace('-', '')}"
    file_dir_abspath = dirname(file_abspath)
    self.ensure_dir(file_dir_abspath)
    with open(temp_abspath, "w", encoding="utf-8") as _file:
        _file.write(dumps(data))
    move(temp_abspath, path)
    return file_abspath