diff --git a/stubs/networkx/networkx/drawing/nx_pydot.pyi b/stubs/networkx/networkx/drawing/nx_pydot.pyi index 34f6d29afdec..03c4d6e12ee8 100644 --- a/stubs/networkx/networkx/drawing/nx_pydot.pyi +++ b/stubs/networkx/networkx/drawing/nx_pydot.pyi @@ -1,16 +1,18 @@ -from _typeshed import Incomplete +from _typeshed import SupportsRead, SupportsWrite +from os import PathLike +from typing import Any +from networkx.classes.graph import Graph, _Node from networkx.utils.backends import _dispatchable - -from ..classes.graph import Graph +from pydot import Dot # type: ignore[import-not-found] # pyright: ignore[reportMissingImports] __all__ = ["write_dot", "read_dot", "graphviz_layout", "pydot_layout", "to_pydot", "from_pydot"] -def write_dot(G, path) -> None: ... +def write_dot(G: Graph[_Node], path: str | PathLike[Any] | SupportsWrite[str]) -> None: ... @_dispatchable -def read_dot(path) -> Graph[Incomplete]: ... +def read_dot(path: str | PathLike[Any] | SupportsRead[str]) -> Graph[str]: ... @_dispatchable -def from_pydot(P): ... -def to_pydot(N): ... -def graphviz_layout(G, prog: str = "neato", root=None): ... -def pydot_layout(G, prog: str = "neato", root=None): ... +def from_pydot(P: Dot): ... +def to_pydot(N: Graph[_Node]) -> Dot: ... +def graphviz_layout(G: Graph[_Node], prog: str = "neato", root: _Node | None = None): ... +def pydot_layout(G: Graph[_Node], prog: str = "neato", root: _Node | None = None): ...