2 from _typeshed import StrPath
3 from typing import Any, Protocol
5 if sys.version_info >= (3, 7):
6 from py_compile import PycInvalidationMode
8 class _SupportsSearch(Protocol):
9 def search(self, string: str) -> Any: ...
11 if sys.version_info >= (3, 9):
14 maxlevels: int | None = ...,
15 ddir: StrPath | None = ...,
17 rx: _SupportsSearch | None = ...,
22 invalidation_mode: PycInvalidationMode | None = ...,
24 stripdir: str | None = ..., # TODO: change to StrPath | None once https://bugs.python.org/issue40447 is resolved
25 prependdir: StrPath | None = ...,
26 limit_sl_dest: StrPath | None = ...,
27 hardlink_dupes: bool = ...,
31 ddir: StrPath | None = ...,
33 rx: _SupportsSearch | None = ...,
37 invalidation_mode: PycInvalidationMode | None = ...,
39 stripdir: str | None = ..., # TODO: change to StrPath | None once https://bugs.python.org/issue40447 is resolved
40 prependdir: StrPath | None = ...,
41 limit_sl_dest: StrPath | None = ...,
42 hardlink_dupes: bool = ...,
45 elif sys.version_info >= (3, 7):
49 ddir: StrPath | None = ...,
51 rx: _SupportsSearch | None = ...,
56 invalidation_mode: PycInvalidationMode | None = ...,
60 ddir: StrPath | None = ...,
62 rx: _SupportsSearch | None = ...,
66 invalidation_mode: PycInvalidationMode | None = ...,
73 ddir: StrPath | None = ...,
75 rx: _SupportsSearch | None = ...,
83 ddir: StrPath | None = ...,
85 rx: _SupportsSearch | None = ...,
91 if sys.version_info >= (3, 7):
93 skip_curdir: bool = ...,
99 invalidation_mode: PycInvalidationMode | None = ...,
104 skip_curdir: bool = ...,
105 maxlevels: int = ...,