types-boto3 1.0.1__py3-none-any.whl → 1.35.99__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. boto3-stubs/__init__.pyi +7481 -0
  2. boto3-stubs/compat.pyi +13 -0
  3. boto3-stubs/crt.pyi +28 -0
  4. boto3-stubs/docs/__init__.pyi +9 -0
  5. boto3-stubs/docs/action.pyi +37 -0
  6. boto3-stubs/docs/attr.pyi +33 -0
  7. boto3-stubs/docs/base.pyi +19 -0
  8. boto3-stubs/docs/client.pyi +9 -0
  9. boto3-stubs/docs/collection.pyi +37 -0
  10. boto3-stubs/docs/docstring.pyi +18 -0
  11. boto3-stubs/docs/method.pyi +27 -0
  12. boto3-stubs/docs/resource.pyi +20 -0
  13. boto3-stubs/docs/service.pyi +17 -0
  14. boto3-stubs/docs/subresource.pyi +22 -0
  15. boto3-stubs/docs/utils.pyi +30 -0
  16. boto3-stubs/docs/waiter.pyi +33 -0
  17. boto3-stubs/dynamodb/conditions.pyi +136 -0
  18. boto3-stubs/dynamodb/table.pyi +39 -0
  19. boto3-stubs/dynamodb/transform.pyi +55 -0
  20. boto3-stubs/dynamodb/types.pyi +48 -0
  21. boto3-stubs/ec2/createtags.pyi +12 -0
  22. boto3-stubs/ec2/deletetags.pyi +12 -0
  23. boto3-stubs/exceptions.pyi +46 -0
  24. boto3-stubs/resources/__init__.pyi +0 -0
  25. boto3-stubs/resources/action.pyi +53 -0
  26. boto3-stubs/resources/base.pyi +40 -0
  27. boto3-stubs/resources/collection.pyi +54 -0
  28. boto3-stubs/resources/factory.pyi +23 -0
  29. boto3-stubs/resources/model.pyi +123 -0
  30. boto3-stubs/resources/params.pyi +23 -0
  31. boto3-stubs/resources/response.pyi +50 -0
  32. boto3-stubs/s3/__init__.pyi +0 -0
  33. boto3-stubs/s3/constants.pyi +8 -0
  34. boto3-stubs/s3/inject.pyi +145 -0
  35. boto3-stubs/s3/transfer.pyi +90 -0
  36. boto3-stubs/session.pyi +7913 -0
  37. boto3-stubs/utils.pyi +28 -0
  38. {types_boto3-1.0.1.dist-info → types_boto3-1.35.99.dist-info}/LICENSE +2 -2
  39. types_boto3-1.35.99.dist-info/METADATA +2852 -0
  40. types_boto3-1.35.99.dist-info/RECORD +45 -0
  41. {types_boto3-1.0.1.dist-info → types_boto3-1.35.99.dist-info}/WHEEL +1 -1
  42. types_boto3-1.35.99.dist-info/top_level.txt +1 -0
  43. types_boto3-1.0.1.dist-info/METADATA +0 -227
  44. types_boto3-1.0.1.dist-info/RECORD +0 -8
  45. types_boto3-1.0.1.dist-info/top_level.txt +0 -1
  46. /types_boto3/__init__.py → /boto3-stubs/dynamodb/__init__.pyi +0 -0
  47. /types_boto3/py.typed → /boto3-stubs/ec2/__init__.pyi +0 -0
  48. /types_botocore/__init__.py → /boto3-stubs/py.typed +0 -0
@@ -0,0 +1,46 @@
1
+ """
2
+ Type annotations for boto3.exceptions module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ from typing import Any, Iterable
8
+
9
+ import botocore.exceptions
10
+
11
+ class Boto3Error(Exception): ...
12
+ class ResourceLoadException(Boto3Error): ...
13
+ class NoVersionFound(Boto3Error): ...
14
+
15
+ class UnknownAPIVersionError(Boto3Error, botocore.exceptions.DataNotFoundError):
16
+ def __init__(
17
+ self,
18
+ service_name: str,
19
+ bad_api_version: str,
20
+ available_api_versions: Iterable[str],
21
+ ) -> None: ...
22
+
23
+ class ResourceNotExistsError(Boto3Error, botocore.exceptions.DataNotFoundError):
24
+ def __init__(
25
+ self,
26
+ service_name: str,
27
+ available_services: Iterable[str],
28
+ has_low_level_client: bool,
29
+ ) -> None: ...
30
+
31
+ class RetriesExceededError(Boto3Error):
32
+ def __init__(self, last_exception: Boto3Error, msg: str = ...) -> None: ...
33
+
34
+ class S3TransferFailedError(Boto3Error): ...
35
+ class S3UploadFailedError(Boto3Error): ...
36
+
37
+ class DynamoDBOperationNotSupportedError(Boto3Error):
38
+ def __init__(self, operation: str, value: Any) -> None: ...
39
+
40
+ DynanmoDBOperationNotSupportedError = DynamoDBOperationNotSupportedError
41
+
42
+ class DynamoDBNeedsConditionError(Boto3Error):
43
+ def __init__(self, value: Any) -> None: ...
44
+
45
+ class DynamoDBNeedsKeyConditionError(Boto3Error): ...
46
+ class PythonDeprecationWarning(Warning): ...
File without changes
@@ -0,0 +1,53 @@
1
+ """
2
+ Type annotations for boto3.resources.action module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ import logging
8
+ from typing import Any, Callable, Sequence
9
+
10
+ from boto3.resources.base import ServiceResource
11
+ from boto3.resources.collection import ResourceCollection
12
+ from boto3.resources.factory import ResourceFactory
13
+ from boto3.resources.model import Action, Waiter
14
+ from boto3.utils import ServiceContext
15
+ from botocore.hooks import BaseEventHooks
16
+
17
+ logger: logging.Logger
18
+
19
+ class ServiceAction:
20
+ def __init__(
21
+ self,
22
+ action_model: Action,
23
+ factory: ResourceFactory | None = ...,
24
+ service_context: ServiceContext | None = ...,
25
+ ) -> None: ...
26
+ def __call__(
27
+ self, parent: ServiceResource, *args: Any, **kwargs: Any
28
+ ) -> ServiceResource | list[ServiceResource] | dict[str, Any]: ...
29
+
30
+ class BatchAction(ServiceAction):
31
+ def __call__( # type: ignore [override]
32
+ self, parent: ResourceCollection, *args: Any, **kwargs: Any
33
+ ) -> list[dict[str, Any]]: ...
34
+
35
+ class WaiterAction:
36
+ def __init__(self, waiter_model: Waiter, waiter_resource_name: str) -> None: ...
37
+ def __call__(self, parent: ServiceResource, *args: Any, **kwargs: Any) -> None: ...
38
+
39
+ class CustomModeledAction:
40
+ def __init__(
41
+ self,
42
+ action_name: str,
43
+ action_model: dict[str, Any],
44
+ function: Callable[..., Any],
45
+ event_emitter: BaseEventHooks,
46
+ ) -> None: ...
47
+ def inject(
48
+ self,
49
+ class_attributes: Sequence[Any],
50
+ service_context: ServiceContext,
51
+ event_name: str,
52
+ **kwargs: Any,
53
+ ) -> None: ...
@@ -0,0 +1,40 @@
1
+ """
2
+ Type annotations for boto3.resources.base module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ import logging
8
+ from typing import Any, TypeVar
9
+
10
+ from boto3.resources.model import ResourceModel
11
+ from botocore.client import BaseClient
12
+
13
+ logger: logging.Logger
14
+
15
+ _ResourceMeta = TypeVar("_ResourceMeta")
16
+
17
+ class ResourceMeta:
18
+ client: BaseClient
19
+ def __init__(
20
+ self,
21
+ service_name: str,
22
+ identifiers: list[str] | None = ...,
23
+ client: BaseClient | None = ...,
24
+ data: dict[str, Any] | None = ...,
25
+ resource_model: ResourceModel | None = ...,
26
+ ) -> None:
27
+ self.service_name: str
28
+ self.identifiers: list[str]
29
+ self.data: dict[str, Any]
30
+ self.resource_model: ResourceModel
31
+
32
+ def __eq__(self, other: object) -> bool: ...
33
+ def copy(self: _ResourceMeta) -> _ResourceMeta: ...
34
+
35
+ class ServiceResource:
36
+ meta: ResourceMeta = ... # type: ignore
37
+
38
+ def __init__(self, *args: Any, client: BaseClient | None = ..., **kwargs: Any) -> None: ...
39
+ def __eq__(self, other: object) -> bool: ...
40
+ def __hash__(self) -> int: ...
@@ -0,0 +1,54 @@
1
+ """
2
+ Type annotations for boto3.resources.collection module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ import logging
8
+ from typing import Any, Iterator, TypeVar
9
+
10
+ from boto3.resources.base import ServiceResource
11
+ from boto3.resources.factory import ResourceFactory
12
+ from boto3.resources.model import Collection
13
+ from boto3.resources.response import ResourceHandler
14
+ from boto3.utils import ServiceContext
15
+ from botocore.hooks import BaseEventHooks
16
+
17
+ logger: logging.Logger
18
+
19
+ _ResourceCollection = TypeVar("_ResourceCollection", bound=ResourceCollection)
20
+
21
+ class ResourceCollection:
22
+ def __init__(
23
+ self, model: Collection, parent: ServiceResource, handler: ResourceHandler, **kwargs: Any
24
+ ) -> None: ...
25
+ def __iter__(self) -> Iterator[Any]: ...
26
+ def pages(self) -> Iterator[list[Any]]: ...
27
+ def all(self: _ResourceCollection) -> _ResourceCollection: ...
28
+ def filter(self: _ResourceCollection, **kwargs: Any) -> _ResourceCollection: ...
29
+ def limit(self: _ResourceCollection, count: int) -> _ResourceCollection: ...
30
+ def page_size(self: _ResourceCollection, count: int) -> _ResourceCollection: ...
31
+
32
+ class CollectionManager:
33
+ def __init__(
34
+ self,
35
+ collection_model: Collection,
36
+ parent: ServiceResource,
37
+ factory: ResourceFactory,
38
+ service_context: ServiceContext,
39
+ ) -> None: ...
40
+ def iterator(self, **kwargs: Any) -> ResourceCollection: ...
41
+ def all(self) -> ResourceCollection: ...
42
+ def filter(self, **kwargs: Any) -> ResourceCollection: ...
43
+ def limit(self, count: int) -> ResourceCollection: ...
44
+ def page_size(self, count: InterruptedError) -> ResourceCollection: ...
45
+ def pages(self) -> list[ServiceResource]: ...
46
+
47
+ class CollectionFactory:
48
+ def load_from_definition(
49
+ self,
50
+ resource_name: str,
51
+ collection_model: Collection,
52
+ service_context: ServiceContext,
53
+ event_emitter: BaseEventHooks,
54
+ ) -> CollectionManager: ...
@@ -0,0 +1,23 @@
1
+ """
2
+ Type annotations for boto3.resources.factory module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ import logging
8
+ from typing import Any
9
+
10
+ from boto3.resources.base import ServiceResource
11
+ from boto3.utils import ServiceContext
12
+ from botocore.hooks import BaseEventHooks
13
+
14
+ logger: logging.Logger
15
+
16
+ class ResourceFactory:
17
+ def __init__(self, emitter: BaseEventHooks) -> None: ...
18
+ def load_from_definition(
19
+ self,
20
+ resource_name: str,
21
+ single_resource_json_definition: dict[str, Any],
22
+ service_context: ServiceContext,
23
+ ) -> type[ServiceResource]: ...
@@ -0,0 +1,123 @@
1
+ """
2
+ Type annotations for boto3.resources.model module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ import logging
8
+ from typing import Any, Literal, TypedDict
9
+
10
+ from botocore.model import Shape
11
+
12
+ logger: logging.Logger
13
+
14
+ class _ActionDefinition(TypedDict, total=False):
15
+ request: dict[str, Any]
16
+ resource: dict[str, Any]
17
+ path: str
18
+
19
+ class _DefinitionWithParamsDefinition(TypedDict, total=False):
20
+ params: list[dict[str, Any]]
21
+
22
+ class _RequestDefinition(TypedDict, total=False):
23
+ operation: str
24
+
25
+ class _WaiterDefinition(TypedDict, total=False):
26
+ waiterName: str
27
+
28
+ class _ResponseResourceDefinition(TypedDict, total=False):
29
+ type: str
30
+ path: str
31
+
32
+ class _ResourceModelDefinition(TypedDict, total=False):
33
+ shape: str
34
+
35
+ class Identifier:
36
+ def __init__(self, name: str, member_name: str | None = ...) -> None:
37
+ self.name: str
38
+ self.member_name: str
39
+
40
+ class Action:
41
+ def __init__(
42
+ self, name: str, definition: _ActionDefinition, resource_defs: dict[str, dict[str, Any]]
43
+ ) -> None:
44
+ self.name: str
45
+ self.request: Request | None
46
+ self.resource: ResponseResource | None
47
+ self.path: str | None
48
+
49
+ class DefinitionWithParams:
50
+ def __init__(self, definition: _DefinitionWithParamsDefinition) -> None: ...
51
+ @property
52
+ def params(self) -> list[Parameter]: ...
53
+
54
+ class Parameter:
55
+ def __init__(
56
+ self,
57
+ target: str,
58
+ source: str,
59
+ name: str | None = ...,
60
+ path: str | None = ...,
61
+ value: str | float | bool | None = ...,
62
+ **kwargs: Any,
63
+ ) -> None:
64
+ self.target: str
65
+ self.source: str
66
+ self.name: str | None
67
+ self.path: str | None
68
+ self.value: str | int | float | bool | None
69
+
70
+ class Request(DefinitionWithParams):
71
+ def __init__(self, definition: _RequestDefinition) -> None:
72
+ self.operation: str
73
+
74
+ class Waiter(DefinitionWithParams):
75
+ PREFIX: Literal["WaitUntil"]
76
+ def __init__(self, name: str, definition: _WaiterDefinition) -> None:
77
+ self.name: str
78
+ self.waiter_name: str
79
+
80
+ class ResponseResource:
81
+ def __init__(
82
+ self, definition: _ResponseResourceDefinition, resource_defs: dict[str, dict[str, Any]]
83
+ ) -> None:
84
+ self.type: str
85
+ self.path: str
86
+
87
+ @property
88
+ def identifiers(self) -> list[Identifier]: ...
89
+ @property
90
+ def model(self) -> ResourceModel: ...
91
+
92
+ class Collection(Action):
93
+ @property
94
+ def batch_actions(self) -> list[Action]: ...
95
+
96
+ class ResourceModel:
97
+ def __init__(
98
+ self,
99
+ name: str,
100
+ definition: _ResourceModelDefinition,
101
+ resource_defs: dict[str, dict[str, Any]],
102
+ ) -> None:
103
+ self.name: str
104
+ self.shape: str | None
105
+
106
+ def load_rename_map(self, shape: Shape | None = ...) -> None: ...
107
+ def get_attributes(self, shape: Shape) -> dict[str, tuple[str, Shape]]: ...
108
+ @property
109
+ def identifiers(self) -> list[Identifier]: ...
110
+ @property
111
+ def load(self) -> Action | None: ...
112
+ @property
113
+ def actions(self) -> list[Action]: ...
114
+ @property
115
+ def batch_actions(self) -> list[Action]: ...
116
+ @property
117
+ def subresources(self) -> list[ResponseResource]: ...
118
+ @property
119
+ def references(self) -> list[Action]: ...
120
+ @property
121
+ def collections(self) -> list[Collection]: ...
122
+ @property
123
+ def waiters(self) -> list[Waiter]: ...
@@ -0,0 +1,23 @@
1
+ """
2
+ Type annotations for boto3.resources.params module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ from typing import Any, Pattern
8
+
9
+ from boto3.resources.base import ServiceResource
10
+ from boto3.resources.model import Request
11
+
12
+ INDEX_RE: Pattern[str]
13
+
14
+ def get_data_member(parent: ServiceResource, path: str) -> dict[str, Any] | None: ...
15
+ def create_request_parameters(
16
+ parent: ServiceResource,
17
+ request_model: Request,
18
+ params: dict[str, Any] | None = ...,
19
+ index: int | None = ...,
20
+ ) -> dict[str, Any]: ...
21
+ def build_param_structure(
22
+ params: dict[str, Any], target: str, value: Any, index: int | None = ...
23
+ ) -> None: ...
@@ -0,0 +1,50 @@
1
+ """
2
+ Type annotations for boto3.resources.response module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ from typing import Any, Iterable
8
+
9
+ from boto3.resources.base import ServiceResource
10
+ from boto3.resources.factory import ResourceFactory
11
+ from boto3.resources.model import Parameter, ResponseResource
12
+ from boto3.utils import ServiceContext
13
+ from botocore.model import ServiceModel
14
+
15
+ def all_not_none(iterable: Iterable[Any]) -> bool: ...
16
+ def build_identifiers(
17
+ identifiers: list[Parameter],
18
+ parent: ServiceResource,
19
+ params: dict[str, Any] | None = ...,
20
+ raw_response: dict[str, Any] | None = ...,
21
+ ) -> list[tuple[str, Any]]: ...
22
+ def build_empty_response(
23
+ search_path: str, operation_name: str, service_model: ServiceModel
24
+ ) -> dict[str, Any] | list[Any] | None: ...
25
+
26
+ class RawHandler:
27
+ def __init__(self, search_path: str) -> None: ...
28
+ def __call__(
29
+ self, parent: ServiceResource, params: dict[str, Any], response: dict[str, Any]
30
+ ) -> dict[str, Any]: ...
31
+
32
+ class ResourceHandler:
33
+ def __init__(
34
+ self,
35
+ search_path: str,
36
+ factory: ResourceFactory,
37
+ resource_model: ResponseResource,
38
+ service_context: ServiceContext,
39
+ operation_name: str | None = ...,
40
+ ) -> None: ...
41
+ def __call__(
42
+ self, parent: ServiceResource, params: dict[str, Any], response: dict[str, Any]
43
+ ) -> ServiceResource | list[ServiceResource]: ...
44
+ def handle_response_item(
45
+ self,
46
+ resource_cls: type[ServiceResource],
47
+ parent: ServiceResource,
48
+ identifiers: dict[str, Any],
49
+ resource_data: dict[str, Any] | None,
50
+ ) -> ServiceResource: ...
File without changes
@@ -0,0 +1,8 @@
1
+ """
2
+ Type annotations for boto3.s3.constants module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ CLASSIC_TRANSFER_CLIENT: str = ...
8
+ AUTO_RESOLVE_TRANSFER_CLIENT: str = ...
@@ -0,0 +1,145 @@
1
+ """
2
+ Type annotations for boto3.s3.inject module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ from typing import IO, Any, Callable
8
+
9
+ from boto3 import utils as utils
10
+ from boto3.s3.transfer import ProgressCallbackInvoker as ProgressCallbackInvoker
11
+ from boto3.s3.transfer import S3Transfer as S3Transfer
12
+ from boto3.s3.transfer import TransferConfig as TransferConfig
13
+ from boto3.s3.transfer import create_transfer_manager as create_transfer_manager
14
+ from botocore.client import BaseClient
15
+ from botocore.exceptions import ClientError as ClientError
16
+
17
+ def inject_s3_transfer_methods(class_attributes: dict[str, Any], **kwargs: Any) -> None: ...
18
+ def inject_bucket_methods(class_attributes: dict[str, Any], **kwargs: Any) -> None: ...
19
+ def inject_object_methods(class_attributes: dict[str, Any], **kwargs: Any) -> None: ...
20
+ def inject_object_summary_methods(class_attributes: dict[str, Any], **kwargs: Any) -> None: ...
21
+ def bucket_load(self: Any, *args: Any, **kwargs: Any) -> None: ...
22
+ def object_summary_load(self: Any, *args: Any, **kwargs: Any) -> None: ...
23
+ def upload_file(
24
+ self: Any,
25
+ Filename: str,
26
+ Bucket: str,
27
+ Key: str,
28
+ ExtraArgs: dict[str, Any] | None = ...,
29
+ Callback: Callable[..., Any] | None = ...,
30
+ Config: TransferConfig | None = ...,
31
+ ) -> None: ...
32
+ def download_file(
33
+ self: Any,
34
+ Bucket: str,
35
+ Key: str,
36
+ Filename: str,
37
+ ExtraArgs: dict[str, Any] | None = ...,
38
+ Callback: Callable[..., Any] | None = ...,
39
+ Config: TransferConfig | None = ...,
40
+ ) -> None: ...
41
+ def bucket_upload_file(
42
+ self: Any,
43
+ Filename: str,
44
+ Key: str,
45
+ ExtraArgs: dict[str, Any] | None = ...,
46
+ Callback: Callable[..., Any] | None = ...,
47
+ Config: TransferConfig | None = ...,
48
+ ) -> None: ...
49
+ def bucket_download_file(
50
+ self: Any,
51
+ Key: str,
52
+ Filename: str,
53
+ ExtraArgs: dict[str, Any] | None = ...,
54
+ Callback: Callable[..., Any] | None = ...,
55
+ Config: TransferConfig | None = ...,
56
+ ) -> None: ...
57
+ def object_upload_file(
58
+ self: Any,
59
+ Filename: str,
60
+ ExtraArgs: dict[str, Any] | None = ...,
61
+ Callback: Callable[..., Any] | None = ...,
62
+ Config: TransferConfig | None = ...,
63
+ ) -> None: ...
64
+ def object_download_file(
65
+ self: Any,
66
+ Filename: str,
67
+ ExtraArgs: dict[str, Any] | None = ...,
68
+ Callback: Callable[..., Any] | None = ...,
69
+ Config: TransferConfig | None = ...,
70
+ ) -> None: ...
71
+ def copy(
72
+ self: Any,
73
+ CopySource: dict[str, Any],
74
+ Bucket: str,
75
+ Key: str,
76
+ ExtraArgs: dict[str, Any] | None = ...,
77
+ Callback: Callable[..., Any] | None = ...,
78
+ SourceClient: BaseClient | None = ...,
79
+ Config: TransferConfig | None = ...,
80
+ ) -> None: ...
81
+ def bucket_copy(
82
+ self: Any,
83
+ CopySource: dict[str, Any],
84
+ Key: str,
85
+ ExtraArgs: dict[str, Any] | None = ...,
86
+ Callback: Callable[..., Any] | None = ...,
87
+ SourceClient: BaseClient | None = ...,
88
+ Config: TransferConfig | None = ...,
89
+ ) -> None: ...
90
+ def object_copy(
91
+ self: Any,
92
+ CopySource: dict[str, Any],
93
+ ExtraArgs: dict[str, Any] | None = ...,
94
+ Callback: Callable[..., Any] | None = ...,
95
+ SourceClient: BaseClient | None = ...,
96
+ Config: TransferConfig | None = ...,
97
+ ) -> None: ...
98
+ def upload_fileobj(
99
+ self: Any,
100
+ Fileobj: IO[Any],
101
+ Bucket: str,
102
+ Key: str,
103
+ ExtraArgs: dict[str, Any] | None = ...,
104
+ Callback: Callable[..., Any] | None = ...,
105
+ Config: TransferConfig | None = ...,
106
+ ) -> None: ...
107
+ def bucket_upload_fileobj(
108
+ self: Any,
109
+ Fileobj: IO[Any],
110
+ Key: str,
111
+ ExtraArgs: dict[str, Any] | None = ...,
112
+ Callback: Callable[..., Any] | None = ...,
113
+ Config: TransferConfig | None = ...,
114
+ ) -> None: ...
115
+ def object_upload_fileobj(
116
+ self: Any,
117
+ Fileobj: IO[Any],
118
+ ExtraArgs: dict[str, Any] | None = ...,
119
+ Callback: Callable[..., Any] | None = ...,
120
+ Config: TransferConfig | None = ...,
121
+ ) -> None: ...
122
+ def download_fileobj(
123
+ self: Any,
124
+ Bucket: str,
125
+ Key: str,
126
+ Fileobj: IO[Any],
127
+ ExtraArgs: dict[str, Any] | None = ...,
128
+ Callback: Callable[..., Any] | None = ...,
129
+ Config: TransferConfig | None = ...,
130
+ ) -> None: ...
131
+ def bucket_download_fileobj(
132
+ self: Any,
133
+ Key: str,
134
+ Fileobj: IO[Any],
135
+ ExtraArgs: dict[str, Any] | None = ...,
136
+ Callback: Callable[..., Any] | None = ...,
137
+ Config: TransferConfig | None = ...,
138
+ ) -> None: ...
139
+ def object_download_fileobj(
140
+ self: Any,
141
+ Fileobj: IO[Any],
142
+ ExtraArgs: dict[str, Any] | None = ...,
143
+ Callback: Callable[..., Any] | None = ...,
144
+ Config: TransferConfig | None = ...,
145
+ ) -> None: ...
@@ -0,0 +1,90 @@
1
+ """
2
+ Type annotations for boto3.s3.transfer module.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ import logging
8
+ from types import TracebackType
9
+ from typing import Any, Callable, Mapping, TypeVar
10
+
11
+ from botocore.client import BaseClient
12
+ from botocore.config import Config
13
+ from s3transfer.manager import TransferConfig as S3TransferConfig
14
+ from s3transfer.manager import TransferManager
15
+ from s3transfer.subscribers import BaseSubscriber
16
+ from s3transfer.utils import OSUtils
17
+
18
+ _R = TypeVar("_R")
19
+
20
+ KB: int
21
+ MB: int
22
+
23
+ logger: logging.Logger = ...
24
+
25
+ def create_transfer_manager(
26
+ client: BaseClient,
27
+ config: TransferConfig,
28
+ osutil: OSUtils | None = ...,
29
+ ) -> TransferManager: ...
30
+ def has_minimum_crt_version(minimum_version: str) -> bool: ...
31
+
32
+ class TransferConfig(S3TransferConfig):
33
+ ALIAS: dict[str, str]
34
+
35
+ def __init__(
36
+ self,
37
+ multipart_threshold: int = ...,
38
+ max_concurrency: int = ...,
39
+ multipart_chunksize: int = ...,
40
+ num_download_attempts: int = ...,
41
+ max_io_queue: int = ...,
42
+ io_chunksize: int = ...,
43
+ use_threads: bool = ...,
44
+ max_bandwidth: int | None = ...,
45
+ preferred_transfer_client: str = ...,
46
+ ) -> None:
47
+ self.use_threads: bool
48
+
49
+ def __setattr__(self, name: str, value: int) -> None: ...
50
+
51
+ class S3Transfer:
52
+ ALLOWED_DOWNLOAD_ARGS: list[str]
53
+ ALLOWED_UPLOAD_ARGS: list[str]
54
+ def __init__(
55
+ self,
56
+ client: BaseClient | None = ...,
57
+ config: Config | None = ...,
58
+ osutil: OSUtils | None = ...,
59
+ manager: TransferManager | None = ...,
60
+ ) -> None: ...
61
+ def upload_file(
62
+ self,
63
+ filename: str,
64
+ bucket: str,
65
+ key: str,
66
+ callback: Callable[[int], Any] | None = ...,
67
+ extra_args: Mapping[str, Any] | None = ...,
68
+ ) -> None: ...
69
+ def download_file(
70
+ self,
71
+ bucket: str,
72
+ key: str,
73
+ filename: str,
74
+ extra_args: Mapping[str, Any] | None = ...,
75
+ callback: Callable[[int], Any] | None = ...,
76
+ ) -> None: ...
77
+ def __enter__(self: _R) -> _R: ...
78
+ def __exit__(
79
+ self,
80
+ exc_type: type[BaseException] | None,
81
+ exc_value: BaseException | None,
82
+ tb: TracebackType | None,
83
+ ) -> None: ...
84
+
85
+ class ProgressCallbackInvoker(BaseSubscriber):
86
+ def __init__(self, callback: Callable[[int], Any]) -> None: ...
87
+ # FIXME: signature incompatible with BaseSubscriber
88
+ def on_progress( # type: ignore [override]
89
+ self, bytes_transferred: int, **kwargs: Any
90
+ ) -> None: ...