Skip to content

Commit 1eafaa6

Browse files
IvanIsCodingSILIZ4
authored andcommitted
Improvements for rustworkx.visit annotations (Qiskit#1362)
* Improvements for rustworkx.visit annotations * Black * Remove double import sys * Add overloads * Another fix * Revert "Add overloads" This reverts commit 499ea56. * Revert visitor defaults
1 parent 10570b5 commit 1eafaa6

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

rustworkx/rustworkx.pyi

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ from collections.abc import (
3131
from abc import ABC
3232
from rustworkx import generators # noqa
3333

34-
# from collections.abc import Sequence as SequenceCollection
35-
from typing_extensions import Self
36-
3734
import numpy as np
3835
import numpy.typing as npt
3936
import sys
@@ -43,6 +40,11 @@ if sys.version_info >= (3, 13):
4340
else:
4441
from typing_extensions import TypeVar
4542

43+
if sys.version_info >= (3, 11):
44+
from typing import Self
45+
else:
46+
from typing_extensions import Self
47+
4648
_S = TypeVar("_S", default=Any)
4749
_T = TypeVar("_T", default=Any)
4850

@@ -975,9 +977,9 @@ def graph_transitivity(graph: PyGraph, /) -> float: ...
975977

976978
# Traversal
977979

978-
_BFSVisitor = TypeVar("_BFSVisitor", bound=BFSVisitor)
979-
_DFSVisitor = TypeVar("_DFSVisitor", bound=DFSVisitor)
980-
_DijkstraVisitor = TypeVar("_DijkstraVisitor", bound=DijkstraVisitor)
980+
_BFSVisitor = TypeVar("_BFSVisitor", bound=BFSVisitor, default=BFSVisitor)
981+
_DFSVisitor = TypeVar("_DFSVisitor", bound=DFSVisitor, default=DFSVisitor)
982+
_DijkstraVisitor = TypeVar("_DijkstraVisitor", bound=DijkstraVisitor, default=DijkstraVisitor)
981983

982984
def digraph_bfs_search(
983985
graph: PyDiGraph,

rustworkx/visit.pyi

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,19 @@
99
# This file contains only type annotations for PyO3 functions and classes
1010
# For implementation details, see visit.py
1111

12-
from typing import Any, Generic, TypeVar
12+
from typing import Any, Generic
13+
14+
import sys
15+
16+
if sys.version_info >= (3, 13):
17+
from typing import TypeVar
18+
else:
19+
from typing_extensions import TypeVar
1320

1421
class StopSearch(Exception): ...
1522
class PruneSearch(Exception): ...
1623

17-
_T = TypeVar("_T")
24+
_T = TypeVar("_T", default=Any)
1825

1926
class BFSVisitor(Generic[_T]):
2027
def discover_vertex(self, v: int) -> Any: ...

0 commit comments

Comments
 (0)