from pathlib import Path
from typing import IO, Any, TypeAlias
from _typeshed import OpenBinaryMode, OpenTextMode
_Mode: TypeAlias = OpenBinaryMode | OpenTextMode
###
# exported in numpy.lib.nppyio
class DataSource:
def __init__(self, /, destpath: Path | str | None = ...) -> None: ...
def __del__(self, /) -> None: ...
def abspath(self, /, path: str) -> str: ...
def exists(self, /, path: str) -> bool: ...
# Whether the file-object is opened in string or bytes mode (by default)
# depends on the file-extension of `path`
def open(self, /, path: str, mode: _Mode = "r", encoding: str | None = None, newline: str | None = None) -> IO[Any]: ...
class Repository(DataSource):
def __init__(self, /, baseurl: str, destpath: str | None = ...) -> None: ...
def listdir(self, /) -> list[str]: ...
def open(
path: str,
mode: _Mode = "r",
destpath: str | None = ...,
encoding: str | None = None,
newline: str | None = None,
) -> IO[Any]: ...