Skip to content

Commit 9aea659

Browse files
authored
Add awswrangler.s3._list module's stub file for better type checking. (#1452)
* Added stub file for s3's _list.py * Added additional overload for list_directories * Added additionals overload * Cleaned up smaller overloads
1 parent 2087b8c commit 9aea659

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

awswrangler/s3/_list.pyi

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
import datetime
2+
from typing import Any, Dict, Iterator, List, Literal, Optional, Sequence, Union, overload
3+
4+
import boto3
5+
6+
def _path2list(
7+
path: Union[str, Sequence[str]],
8+
boto3_session: boto3.Session,
9+
s3_additional_kwargs: Optional[Dict[str, Any]] = ...,
10+
last_modified_begin: Optional[datetime.datetime] = ...,
11+
last_modified_end: Optional[datetime.datetime] = ...,
12+
suffix: Union[str, List[str], None] = ...,
13+
ignore_suffix: Union[str, List[str], None] = ...,
14+
ignore_empty: bool = ...,
15+
) -> List[str]: ...
16+
def _prefix_cleanup(prefix: str) -> str: ...
17+
def does_object_exist(
18+
path: str,
19+
s3_additional_kwargs: Optional[Dict[str, Any]] = ...,
20+
boto3_session: Optional[boto3.Session] = ...,
21+
version_id: Optional[str] = ...,
22+
) -> bool: ...
23+
def list_buckets(boto3_session: Optional[boto3.Session] = ...) -> List[str]: ...
24+
@overload
25+
def list_directories(
26+
path: str,
27+
chunked: Literal[False],
28+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
29+
boto3_session: Optional[boto3.Session] = ...,
30+
) -> List[str]: ...
31+
@overload
32+
def list_directories(
33+
path: str,
34+
*,
35+
boto3_session: Optional[boto3.Session] = ...,
36+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
37+
) -> List[str]: ...
38+
@overload
39+
def list_directories(
40+
path: str,
41+
chunked: Literal[True],
42+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
43+
boto3_session: Optional[boto3.Session] = ...,
44+
) -> Iterator[List[str]]: ...
45+
@overload
46+
def list_directories(
47+
path: str,
48+
chunked: bool,
49+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
50+
boto3_session: Optional[boto3.Session] = ...,
51+
) -> Union[List[str], Iterator[List[str]]]: ...
52+
@overload
53+
def list_objects(
54+
path: str,
55+
chunked: Literal[False],
56+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
57+
boto3_session: Optional[boto3.Session] = ...,
58+
) -> List[str]: ...
59+
@overload
60+
def list_objects(
61+
path: str,
62+
*,
63+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
64+
boto3_session: Optional[boto3.Session] = ...,
65+
) -> List[str]: ...
66+
@overload
67+
def list_objects(
68+
path: str,
69+
chunked: Literal[True],
70+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
71+
boto3_session: Optional[boto3.Session] = ...,
72+
) -> Iterator[List[str]]: ...
73+
@overload
74+
def list_objects(
75+
path: str,
76+
chunked: bool,
77+
s3_additional_kwargs: Union[Dict[str, Any], Dict[str, str], None] = ...,
78+
boto3_session: Optional[boto3.Session] = ...,
79+
) -> Union[List[str], Iterator[List[str]]]: ...

0 commit comments

Comments
 (0)