Skip to content

Commit 5bb4ec8

Browse files
authored
networkx: complete the components module (#14507)
1 parent 01cb5ba commit 5bb4ec8

File tree

6 files changed

+24
-26
lines changed

6 files changed

+24
-26
lines changed
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Generator
32

43
from networkx.classes.digraph import DiGraph
54
from networkx.classes.graph import _Node
6-
from networkx.classes.multidigraph import MultiDiGraph
75
from networkx.utils.backends import _dispatchable
86

97
__all__ = ["number_attracting_components", "attracting_components", "is_attracting_component"]
108

119
@_dispatchable
12-
def attracting_components(G) -> Generator[Incomplete, None, None]: ...
10+
def attracting_components(G: DiGraph[_Node]) -> Generator[set[_Node]]: ...
1311
@_dispatchable
14-
def number_attracting_components(G) -> int: ...
12+
def number_attracting_components(G: DiGraph[_Node]) -> int: ...
1513
@_dispatchable
16-
def is_attracting_component(G: DiGraph[_Node] | MultiDiGraph[_Node]) -> bool: ...
14+
def is_attracting_component(G: DiGraph[_Node]) -> bool: ...
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Generator
32

43
from networkx.classes.graph import Graph, _Node
@@ -9,8 +8,8 @@ __all__ = ["biconnected_components", "biconnected_component_edges", "is_biconnec
98
@_dispatchable
109
def is_biconnected(G: Graph[_Node]) -> bool: ...
1110
@_dispatchable
12-
def biconnected_component_edges(G: Graph[_Node]) -> Generator[Incomplete, Incomplete, None]: ...
11+
def biconnected_component_edges(G: Graph[_Node]) -> Generator[list[tuple[_Node, _Node]]]: ...
1312
@_dispatchable
14-
def biconnected_components(G: Graph[_Node]) -> Generator[Incomplete, None, None]: ...
13+
def biconnected_components(G: Graph[_Node]) -> Generator[list[set[_Node]]]: ...
1514
@_dispatchable
16-
def articulation_points(G: Graph[_Node]) -> Generator[Incomplete, None, None]: ...
15+
def articulation_points(G: Graph[_Node]) -> Generator[_Node]: ...
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Generator
32

43
from networkx.classes.graph import Graph, _Node
@@ -7,10 +6,10 @@ from networkx.utils.backends import _dispatchable
76
__all__ = ["number_connected_components", "connected_components", "is_connected", "node_connected_component"]
87

98
@_dispatchable
10-
def connected_components(G: Graph[_Node]) -> Generator[Incomplete, None, None]: ...
9+
def connected_components(G: Graph[_Node]) -> Generator[set[_Node]]: ...
1110
@_dispatchable
12-
def number_connected_components(G: Graph[_Node]): ...
11+
def number_connected_components(G: Graph[_Node]) -> int: ...
1312
@_dispatchable
1413
def is_connected(G: Graph[_Node]) -> bool: ...
1514
@_dispatchable
16-
def node_connected_component(G: Graph[_Node], n: _Node) -> set[Incomplete]: ...
15+
def node_connected_component(G: Graph[_Node], n: _Node) -> set[_Node]: ...
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
from networkx.classes.graph import Graph, _Node
1+
from networkx.classes.digraph import DiGraph
2+
from networkx.classes.graph import _Node
23
from networkx.utils.backends import _dispatchable
34

45
__all__ = ["is_semiconnected"]
56

67
@_dispatchable
7-
def is_semiconnected(G: Graph[_Node]) -> bool: ...
8+
def is_semiconnected(G: DiGraph[_Node]) -> bool: ...
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from collections.abc import Generator
1+
from collections.abc import Generator, Iterable
22

33
from networkx.classes.digraph import DiGraph
4-
from networkx.classes.graph import Graph, _Node
4+
from networkx.classes.graph import _Node
55
from networkx.utils.backends import _dispatchable
66

77
__all__ = [
@@ -13,12 +13,12 @@ __all__ = [
1313
]
1414

1515
@_dispatchable
16-
def strongly_connected_components(G: Graph[_Node]) -> Generator[set[_Node], None, None]: ...
16+
def strongly_connected_components(G: DiGraph[_Node]) -> Generator[set[_Node]]: ...
1717
@_dispatchable
18-
def kosaraju_strongly_connected_components(G: Graph[_Node], source=None) -> Generator[set[_Node], None, None]: ...
18+
def kosaraju_strongly_connected_components(G: DiGraph[_Node], source: _Node | None = None) -> Generator[set[_Node]]: ...
1919
@_dispatchable
20-
def number_strongly_connected_components(G: Graph[_Node]) -> int: ...
20+
def number_strongly_connected_components(G: DiGraph[_Node]) -> int: ...
2121
@_dispatchable
22-
def is_strongly_connected(G: Graph[_Node]) -> bool: ...
22+
def is_strongly_connected(G: DiGraph[_Node]) -> bool: ...
2323
@_dispatchable
24-
def condensation(G: DiGraph[_Node], scc=None) -> DiGraph[int]: ...
24+
def condensation(G: DiGraph[_Node], scc: Iterable[Iterable[_Node]] | None = None) -> DiGraph[int]: ...
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
from collections.abc import Generator
22

3-
from networkx.classes.graph import Graph, _Node
3+
from networkx.classes.digraph import DiGraph
4+
from networkx.classes.graph import _Node
45
from networkx.utils.backends import _dispatchable
56

67
__all__ = ["number_weakly_connected_components", "weakly_connected_components", "is_weakly_connected"]
78

89
@_dispatchable
9-
def weakly_connected_components(G: Graph[_Node]) -> Generator[set[_Node], None, None]: ...
10+
def weakly_connected_components(G: DiGraph[_Node]) -> Generator[set[_Node]]: ...
1011
@_dispatchable
11-
def number_weakly_connected_components(G: Graph[_Node]) -> int: ...
12+
def number_weakly_connected_components(G: DiGraph[_Node]) -> int: ...
1213
@_dispatchable
13-
def is_weakly_connected(G: Graph[_Node]) -> bool: ...
14+
def is_weakly_connected(G: DiGraph[_Node]) -> bool: ...

0 commit comments

Comments
 (0)