1- from _typeshed import Incomplete
21from collections .abc import Callable , Collection , Hashable , Iterable , Iterator , Mapping , MutableMapping
32from functools import cached_property
43from typing import Any , ClassVar , TypeVar , overload
@@ -7,7 +6,7 @@ from typing_extensions import Self, TypeAlias
76import numpy
87from networkx .classes .coreviews import AdjacencyView , AtlasView
98from networkx .classes .digraph import DiGraph
10- from networkx .classes .reportviews import DegreeView , DiDegreeView , NodeView , OutEdgeView
9+ from networkx .classes .reportviews import DegreeView , EdgeView , NodeView
1110
1211_Node = TypeVar ("_Node" , bound = Hashable )
1312_NodeWithData : TypeAlias = tuple [_Node , dict [str , Any ]]
@@ -38,12 +37,14 @@ class Graph(Collection[_Node]):
3837 graph_attr_dict_factory : ClassVar [_MapFactory ]
3938
4039 graph : dict [str , Any ]
40+ __networkx_cache__ : dict [str , Any ]
4141
4242 def to_directed_class (self ) -> type [DiGraph [_Node ]]: ...
4343 def to_undirected_class (self ) -> type [Graph [_Node ]]: ...
44- def __init__ (self , incoming_graph_data : _Data [_Node ] | None = None , ** attr ) -> None : ...
44+ def __init__ (self , incoming_graph_data : _Data [_Node ] | None = None , ** attr : Any ) -> None : ... # attr: key=value pairs
4545 @cached_property
46- def adj (self ) -> AdjacencyView [_Node , _Node , dict [str , Incomplete ]]: ...
46+ def adj (self ) -> AdjacencyView [_Node , _Node , Mapping [str , Any ]]: ...
47+ # This object is a read-only dict-like structure
4748 @property
4849 def name (self ) -> str : ...
4950 @name .setter
@@ -53,20 +54,22 @@ class Graph(Collection[_Node]):
5354 def __contains__ (self , n : object ) -> bool : ...
5455 def __len__ (self ) -> int : ...
5556 def add_node (self , node_for_adding : _Node , ** attr : Any ) -> None : ... # attr: Set or change node attributes using key=value
56- def add_nodes_from (self , nodes_for_adding : Iterable [_NodePlus [_Node ]], ** attr ) -> None : ...
57+ def add_nodes_from (self , nodes_for_adding : Iterable [_NodePlus [_Node ]], ** attr : Any ) -> None : ... # attr: key=value pairs
5758 def remove_node (self , n : _Node ) -> None : ...
5859 def remove_nodes_from (self , nodes : Iterable [_Node ]) -> None : ...
5960 @cached_property
6061 def nodes (self ) -> NodeView [_Node ]: ...
6162 def number_of_nodes (self ) -> int : ...
6263 def order (self ) -> int : ...
6364 def has_node (self , n : _Node ) -> bool : ...
64- # attr: Edge data (or labels or objects) can be assigned using keyword arguments
6565 def add_edge (self , u_of_edge : _Node , v_of_edge : _Node , ** attr : Any ) -> None : ...
66- def add_edges_from (self , ebunch_to_add : Iterable [_EdgePlus [_Node ]], ** attr ) -> None : ...
66+ # attr: Edge data (or labels or objects) can be assigned using keyword arguments
67+ def add_edges_from (self , ebunch_to_add : Iterable [_EdgePlus [_Node ]], ** attr : Any ) -> None : ...
68+ # attr: Edge data (or labels or objects) can be assigned using keyword arguments
6769 def add_weighted_edges_from (
68- self , ebunch_to_add : Iterable [tuple [_Node , _Node , Incomplete ]], weight : str = "weight" , ** attr
70+ self , ebunch_to_add : Iterable [tuple [_Node , _Node , float ]], weight : str = "weight" , ** attr : Any
6971 ) -> None : ...
72+ # attr: Edge attributes to add/update for all edges.
7073 def remove_edge (self , u : _Node , v : _Node ) -> None : ...
7174 def remove_edges_from (self , ebunch : Iterable [_EdgePlus [_Node ]]) -> None : ...
7275 @overload
@@ -78,11 +81,12 @@ class Graph(Collection[_Node]):
7881 def has_edge (self , u : _Node , v : _Node ) -> bool : ...
7982 def neighbors (self , n : _Node ) -> Iterator [_Node ]: ...
8083 @cached_property
81- def edges (self ) -> OutEdgeView [_Node ]: ...
82- def get_edge_data (self , u : _Node , v : _Node , default = None ) -> Mapping [str , Incomplete ]: ...
83- def adjacency (self ) -> Iterator [tuple [_Node , Mapping [_Node , Mapping [str , Incomplete ]]]]: ...
84+ def edges (self ) -> EdgeView [_Node ]: ...
85+ def get_edge_data (self , u : _Node , v : _Node , default : Any = None ) -> Mapping [str , Any ]: ...
86+ # default: any Python object
87+ def adjacency (self ) -> Iterator [tuple [_Node , Mapping [_Node , Mapping [str , Any ]]]]: ...
8488 @cached_property
85- def degree (self ) -> DegreeView [ _Node ] | DiDegreeView [_Node ]: ... # Include subtypes' possible return types
89+ def degree (self ) -> int | DegreeView [_Node ]: ...
8690 def clear (self ) -> None : ...
8791 def clear_edges (self ) -> None : ...
8892 def is_multigraph (self ) -> bool : ...
0 commit comments