from pathlib import Path
import numpy as np
path1: Path
path2: str
d1 = np.DataSource(path1)
d2 = np.DataSource(path2)
d3 = np.DataSource(None)
reveal_type(d1.abspath("...")) # E: str
reveal_type(d2.abspath("...")) # E: str
reveal_type(d3.abspath("...")) # E: str
reveal_type(d1.exists("...")) # E: bool
reveal_type(d2.exists("...")) # E: bool
reveal_type(d3.exists("...")) # E: bool
reveal_type(d1.open("...", "r")) # E: IO[Any]
reveal_type(d2.open("...", encoding="utf8")) # E: IO[Any]
reveal_type(d3.open("...", newline="/n")) # E: IO[Any]