From bb244d35eaaaa9e908678219d4cc1f996fe2dc3f Mon Sep 17 00:00:00 2001 From: Abdrakhman <54412983+guitvcer@users.noreply.github.com> Date: Tue, 18 Mar 2025 16:35:50 +0500 Subject: [PATCH] [networkx] Fix a few annotations in AtlasView and Graph (#13656) --- stubs/networkx/networkx/classes/coreviews.pyi | 4 +++- stubs/networkx/networkx/classes/graph.pyi | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/stubs/networkx/networkx/classes/coreviews.pyi b/stubs/networkx/networkx/classes/coreviews.pyi index 15afbf5cf..5c10338c6 100644 --- a/stubs/networkx/networkx/classes/coreviews.pyi +++ b/stubs/networkx/networkx/classes/coreviews.pyi @@ -7,11 +7,13 @@ _U = TypeVar("_U") _V = TypeVar("_V") class AtlasView(Mapping[_T, dict[_U, _V]]): + def __getstate__(self) -> dict[str, Mapping[_T, dict[_U, _V]]]: ... + def __setstate__(self, state: dict[str, Mapping[_T, dict[_U, _V]]]) -> None: ... def __init__(self, d: Mapping[_T, dict[_U, _V]]) -> None: ... def __len__(self) -> int: ... def __iter__(self) -> Iterator[_T]: ... def __getitem__(self, key: _T) -> dict[_U, _V]: ... - def copy(self) -> Self: ... + def copy(self) -> dict[_T, dict[_U, _V]]: ... class AdjacencyView(AtlasView[_T, _U, _V]): ... class MultiAdjacencyView(AdjacencyView[_T, _U, _V]): ... diff --git a/stubs/networkx/networkx/classes/graph.pyi b/stubs/networkx/networkx/classes/graph.pyi index a1b61109a..981d61fd0 100644 --- a/stubs/networkx/networkx/classes/graph.pyi +++ b/stubs/networkx/networkx/classes/graph.pyi @@ -45,11 +45,11 @@ class Graph(Collection[_Node]): def name(self) -> str: ... @name.setter def name(self, s: str) -> None: ... - def __getitem__(self, n: _Node) -> AtlasView[_Node, _Node, dict[str, Incomplete]]: ... + def __getitem__(self, n: _Node) -> AtlasView[_Node, str, Any]: ... def __iter__(self) -> Iterator[_Node]: ... def __contains__(self, n: object) -> bool: ... def __len__(self) -> int: ... - def add_node(self, node_for_adding: _Node, **attr) -> None: ... + def add_node(self, node_for_adding: _Node, **attr: Any) -> None: ... # attr: Set or change node attributes using key=value def add_nodes_from(self, nodes_for_adding: Iterable[_NodePlus[_Node]], **attr) -> None: ... def remove_node(self, n: _Node) -> None: ... def remove_nodes_from(self, nodes: Iterable[_Node]) -> None: ... @@ -58,7 +58,8 @@ class Graph(Collection[_Node]): def number_of_nodes(self) -> int: ... def order(self) -> int: ... def has_node(self, n: _Node) -> bool: ... - def add_edge(self, u_of_edge: _Node, v_of_edge: _Node, **attr) -> None: ... + # attr: Edge data (or labels or objects) can be assigned using keyword arguments + def add_edge(self, u_of_edge: _Node, v_of_edge: _Node, **attr: Any) -> None: ... def add_edges_from(self, ebunch_to_add: Iterable[_EdgePlus[_Node]], **attr) -> None: ... def add_weighted_edges_from( self, ebunch_to_add: Iterable[tuple[_Node, _Node, Incomplete]], weight: str = "weight", **attr