From 2dfa9544ed3a7a0c1a38c161c9facdbb2a46a0e5 Mon Sep 17 00:00:00 2001 From: Neil Girdhar Date: Tue, 19 Dec 2023 06:16:08 -0500 Subject: [PATCH] Fix annotation for networkx.subgraph_view (#11180) --- stubs/networkx/networkx/classes/graphviews.pyi | 12 ++++++------ stubs/networkx/networkx/classes/reportviews.pyi | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/stubs/networkx/networkx/classes/graphviews.pyi b/stubs/networkx/networkx/classes/graphviews.pyi index a35621388..91ce48ad8 100644 --- a/stubs/networkx/networkx/classes/graphviews.pyi +++ b/stubs/networkx/networkx/classes/graphviews.pyi @@ -2,9 +2,9 @@ from collections.abc import Callable, Hashable from typing import TypeVar, overload from networkx.classes.digraph import DiGraph -from networkx.classes.graph import Graph, _Edge, _Node +from networkx.classes.graph import Graph, _Node from networkx.classes.multidigraph import MultiDiGraph -from networkx.classes.multigraph import MultiGraph, _MultiEdge +from networkx.classes.multigraph import MultiGraph _G = TypeVar("_G", bound=Graph[Hashable]) _D = TypeVar("_D", bound=DiGraph[Hashable]) @@ -21,18 +21,18 @@ def generic_graph_view(G: Graph[_Node], create_using: type[MultiGraph[_Node]]) - def generic_graph_view(G: Graph[_Node], create_using: type[Graph[_Node]]) -> Graph[_Node]: ... @overload def subgraph_view( - G: MultiDiGraph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_MultiEdge[_Node]], bool] = ... + G: MultiDiGraph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_Node, _Node, int], bool] = ... ) -> MultiDiGraph[_Node]: ... @overload def subgraph_view( - G: MultiGraph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_MultiEdge[_Node]], bool] = ... + G: MultiGraph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_Node, _Node, int], bool] = ... ) -> MultiGraph[_Node]: ... @overload def subgraph_view( - G: DiGraph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_Edge[_Node]], bool] = ... + G: DiGraph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_Node, _Node], bool] = ... ) -> DiGraph[_Node]: ... @overload def subgraph_view( - G: Graph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_Edge[_Node]], bool] = ... + G: Graph[_Node], filter_node: Callable[[_Node], bool] = ..., filter_edge: Callable[[_Node, _Node], bool] = ... ) -> Graph[_Node]: ... def reverse_view(G: _D) -> _D: ... diff --git a/stubs/networkx/networkx/classes/reportviews.pyi b/stubs/networkx/networkx/classes/reportviews.pyi index ae28f0c06..93332cdb5 100644 --- a/stubs/networkx/networkx/classes/reportviews.pyi +++ b/stubs/networkx/networkx/classes/reportviews.pyi @@ -1,6 +1,6 @@ from _typeshed import Incomplete, Unused from collections.abc import Iterator, Mapping, Set as AbstractSet -from typing import Generic, TypeVar, overload +from typing import Any, Generic, TypeVar, overload from typing_extensions import Literal, Self from networkx.classes.graph import Graph, _Edge, _NBunch, _Node @@ -8,16 +8,16 @@ from networkx.classes.graph import Graph, _Edge, _NBunch, _Node _D = TypeVar("_D") _U = TypeVar("_U") -class NodeView(Mapping[_Node, _Node], AbstractSet[_Node]): +class NodeView(Mapping[_Node, dict[str, Any]], AbstractSet[_Node]): def __init__(self, graph: Graph[_Node]) -> None: ... def __len__(self) -> int: ... def __iter__(self) -> Iterator[_Node]: ... - def __getitem__(self, n: _Node) -> _Node: ... + def __getitem__(self, n: _Node) -> dict[str, Any]: ... def __contains__(self, n: object) -> bool: ... @overload - def __call__(self, data: Literal[False] = False, default: Incomplete = None) -> NodeView[_Node]: ... + def __call__(self, data: Literal[False] = False, default: Incomplete = None) -> Iterator[_Node]: ... @overload - def __call__(self, data: Literal[True] | str, default: Incomplete = None) -> NodeDataView[_Node]: ... + def __call__(self, data: Literal[True] | str, default: Incomplete = None) -> Iterator[tuple[_Node, dict[str, Any]]]: ... def data(self, data: bool | str = True, default: Incomplete = None) -> NodeDataView[_Node]: ... class NodeDataView(AbstractSet[_Node]): @@ -64,7 +64,7 @@ class OutEdgeView(AbstractSet[Incomplete], Mapping[Incomplete, Incomplete], Gene def __len__(self) -> int: ... def __iter__(self) -> Iterator[tuple[_Node, _Node]]: ... def __contains__(self, e: _Edge[_Node]) -> bool: ... # type: ignore[override] - def __getitem__(self, e: _Edge[_Node]) -> dict[str, Incomplete]: ... + def __getitem__(self, e: _Edge[_Node]) -> dict[str, Any]: ... @overload def __call__(self, nbunch: None = None, data: Literal[False] = False, default: Unused = None) -> Self: ... @overload