From 4f82a8d3e1032e7d16f0d0b6f719dba782be9f40 Mon Sep 17 00:00:00 2001 From: Sam Grayson Date: Wed, 20 Aug 2025 13:19:14 -0500 Subject: [PATCH] Add detailed stubs for networkx.drawing.nx_pydot (#14594) --- stubs/networkx/networkx/drawing/nx_pydot.pyi | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/stubs/networkx/networkx/drawing/nx_pydot.pyi b/stubs/networkx/networkx/drawing/nx_pydot.pyi index 34f6d29af..03c4d6e12 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): ...