def read(cls, path): """ """ if path.endswith(".gz"): f = gzip.open(path, "rb") else: f = open(path, "r") read_data = json.load(f) header = read_data["header"] version = header["version"] data = read_data["data"] graph_data = data["graph"] graph_io_class = NodeGraphIOVersionRegistry.get(version) graph_io = graph_io_class() graph = graph_io.import_graph(graph_data) return graph