@@ -7,37 +7,61 @@ from types import ModuleType
7
7
from typing import Any , BinaryIO , TextIO
8
8
from typing_extensions import TypeAlias
9
9
10
+ if sys .version_info >= (3 , 11 ):
11
+ from importlib .resources ._common import Package as Package
12
+ else :
13
+ Package : TypeAlias = str | ModuleType
14
+
10
15
if sys .version_info >= (3 , 9 ):
11
16
from importlib .abc import Traversable
12
17
13
- __all__ = ["Package" , "Resource" , " contents" , "is_resource" , "open_binary" , "open_text" , "path" , "read_binary" , "read_text" ]
18
+ __all__ = ["Package" , "contents" , "is_resource" , "open_binary" , "open_text" , "path" , "read_binary" , "read_text" ]
14
19
15
20
if sys .version_info >= (3 , 9 ):
16
21
__all__ += ["as_file" , "files" ]
17
22
18
23
if sys .version_info >= (3 , 10 ):
19
24
__all__ += ["ResourceReader" ]
20
25
21
- Package : TypeAlias = str | ModuleType
26
+ if sys .version_info < (3 , 13 ):
27
+ __all__ += ["Resource" ]
22
28
23
- if sys .version_info >= (3 , 11 ):
24
- Resource : TypeAlias = str
25
- else :
29
+ if sys .version_info < (3 , 11 ):
26
30
Resource : TypeAlias = str | os .PathLike [Any ]
31
+ elif sys .version_info < (3 , 13 ):
32
+ Resource : TypeAlias = str
27
33
28
- def open_binary (package : Package , resource : Resource ) -> BinaryIO : ...
29
- def open_text (package : Package , resource : Resource , encoding : str = "utf-8" , errors : str = "strict" ) -> TextIO : ...
30
- def read_binary (package : Package , resource : Resource ) -> bytes : ...
31
- def read_text (package : Package , resource : Resource , encoding : str = "utf-8" , errors : str = "strict" ) -> str : ...
32
- def path (package : Package , resource : Resource ) -> AbstractContextManager [Path ]: ...
33
- def is_resource (package : Package , name : str ) -> bool : ...
34
- def contents (package : Package ) -> Iterator [str ]: ...
34
+ if sys .version_info >= (3 , 13 ):
35
+ from importlib .resources ._common import Anchor as Anchor
35
36
36
- if sys .version_info >= (3 , 9 ):
37
+ __all__ += ["Anchor" ]
38
+
39
+ from importlib .resources ._functional import (
40
+ contents as contents ,
41
+ is_resource as is_resource ,
42
+ open_binary as open_binary ,
43
+ open_text as open_text ,
44
+ path as path ,
45
+ read_binary as read_binary ,
46
+ read_text as read_text ,
47
+ )
48
+
49
+ else :
50
+ def open_binary (package : Package , resource : Resource ) -> BinaryIO : ...
51
+ def open_text (package : Package , resource : Resource , encoding : str = "utf-8" , errors : str = "strict" ) -> TextIO : ...
52
+ def read_binary (package : Package , resource : Resource ) -> bytes : ...
53
+ def read_text (package : Package , resource : Resource , encoding : str = "utf-8" , errors : str = "strict" ) -> str : ...
54
+ def path (package : Package , resource : Resource ) -> AbstractContextManager [Path ]: ...
55
+ def is_resource (package : Package , name : str ) -> bool : ...
56
+ def contents (package : Package ) -> Iterator [str ]: ...
57
+
58
+ if sys .version_info >= (3 , 11 ):
59
+ from importlib .resources ._common import as_file as as_file
60
+ elif sys .version_info >= (3 , 9 ):
37
61
def as_file (path : Traversable ) -> AbstractContextManager [Path ]: ...
38
62
39
- if sys .version_info >= (3 , 12 ):
40
- def files ( anchor : Package | None = ...) -> Traversable : ...
63
+ if sys .version_info >= (3 , 11 ):
64
+ from importlib . resources . _common import files as files
41
65
42
66
elif sys .version_info >= (3 , 9 ):
43
67
def files (package : Package ) -> Traversable : ...
0 commit comments