Correct type annotations on NetworkX DiGraphs (#14595)

This commit is contained in:
Sam Grayson
2025-08-20 13:22:38 -05:00
committed by GitHub
parent 4f82a8d3e1
commit c901b9b81e
2 changed files with 9 additions and 6 deletions
+2 -2
View File
@@ -34,9 +34,9 @@ class DiGraph(Graph[_Node]):
@cached_property
def in_edges(self) -> InEdgeView[_Node]: ...
@cached_property
def in_degree(self) -> int | InDegreeView[_Node] | InMultiDegreeView[_Node]: ...
def in_degree(self) -> InDegreeView[_Node] | InMultiDegreeView[_Node]: ...
@cached_property
def out_degree(self) -> int | OutDegreeView[_Node] | OutMultiDegreeView[_Node]: ...
def out_degree(self) -> OutDegreeView[_Node] | OutMultiDegreeView[_Node]: ...
def to_undirected(self, reciprocal: bool = False, as_view: bool = False) -> Graph[_Node]: ... # type: ignore[override]
# reciprocal : If True, only edges that appear in both directions ... will be kept in the undirected graph.
def reverse(self, copy: bool = True) -> Self: ...
@@ -41,10 +41,10 @@ class NodeView(Mapping[_Node, dict[str, Any]], AbstractSet[_Node]):
def __getitem__(self, n: _Node) -> dict[str, Any]: ...
def __contains__(self, n: object) -> bool: ...
@overload
def __call__(self, data: Literal[False] = False, default=None) -> Iterator[_Node]: ...
def __call__(self, data: Literal[False] = False, default=None) -> Self: ...
@overload
def __call__(self, data: Literal[True] | str, default=None) -> Iterator[tuple[_Node, dict[str, Any]]]: ...
def data(self, data: bool | str = True, default=None) -> NodeDataView[_Node]: ...
def __call__(self, data: Literal[True] | str, default=None) -> Self: ...
def data(self, data: bool | str = True, default=None) -> Self: ...
class NodeDataView(AbstractSet[_Node]):
def __init__(self, nodedict: Mapping[str, Incomplete], data: bool | str = False, default=None) -> None: ...
@@ -55,7 +55,10 @@ class NodeDataView(AbstractSet[_Node]):
class DiDegreeView(Generic[_Node]):
def __init__(self, G: Graph[_Node], nbunch: _NBunch[_Node] = None, weight: None | bool | str = None) -> None: ...
def __call__(self, nbunch: _NBunch[_Node] = None, weight: None | bool | str = None) -> int | DiDegreeView[_Node]: ...
@overload
def __call__(self, nbunch: None = None, weight: None | bool | str = None) -> int: ... # type: ignore[overload-overlap]
@overload
def __call__(self, nbunch: None | Iterable[_Node], weight: None | bool | str = None) -> Self: ...
def __getitem__(self, n: _Node) -> float: ...
def __iter__(self) -> Iterator[tuple[_Node, float]]: ...
def __len__(self) -> int: ...