types-boto3-dynamodb 1.35.71__py3-none-any.whl → 1.35.93__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  """
2
2
  Type annotations for dynamodb service client paginators.
3
3
 
4
- [Open documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/)
4
+ [Documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/)
5
5
 
6
6
  Usage::
7
7
 
@@ -27,24 +27,26 @@ Usage::
27
27
  scan_paginator: ScanPaginator = client.get_paginator("scan")
28
28
  ```
29
29
 
30
- Copyright 2024 Vlad Emelianov
30
+ Copyright 2025 Vlad Emelianov
31
31
  """
32
32
 
33
+ from __future__ import annotations
34
+
33
35
  import sys
34
- from typing import Generic, Iterator, TypeVar
36
+ from typing import TYPE_CHECKING
35
37
 
36
38
  from botocore.paginate import PageIterator, Paginator
37
39
 
38
40
  from .type_defs import (
39
- ListBackupsInputListBackupsPaginateTypeDef,
41
+ ListBackupsInputPaginateTypeDef,
40
42
  ListBackupsOutputTypeDef,
41
- ListTablesInputListTablesPaginateTypeDef,
43
+ ListTablesInputPaginateTypeDef,
42
44
  ListTablesOutputTypeDef,
43
- ListTagsOfResourceInputListTagsOfResourcePaginateTypeDef,
45
+ ListTagsOfResourceInputPaginateTypeDef,
44
46
  ListTagsOfResourceOutputTypeDef,
45
- QueryInputQueryPaginateTypeDef,
47
+ QueryInputPaginateTypeDef,
46
48
  QueryOutputTypeDef,
47
- ScanInputScanPaginateTypeDef,
49
+ ScanInputPaginateTypeDef,
48
50
  ScanOutputTypeDef,
49
51
  )
50
52
 
@@ -63,85 +65,105 @@ __all__ = (
63
65
  )
64
66
 
65
67
 
66
- _ItemTypeDef = TypeVar("_ItemTypeDef")
67
-
68
-
69
- class _PageIterator(PageIterator, Generic[_ItemTypeDef]):
70
- def __iter__(self) -> Iterator[_ItemTypeDef]:
71
- """
72
- Proxy method to specify iterator item type.
73
- """
68
+ if TYPE_CHECKING:
69
+ _ListBackupsPaginatorBase = Paginator[ListBackupsOutputTypeDef]
70
+ else:
71
+ _ListBackupsPaginatorBase = Paginator # type: ignore[assignment]
74
72
 
75
73
 
76
- class ListBackupsPaginator(Paginator):
74
+ class ListBackupsPaginator(_ListBackupsPaginatorBase):
77
75
  """
78
76
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListBackups.html#DynamoDB.Paginator.ListBackups)
79
77
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listbackupspaginator)
80
78
  """
81
79
 
82
- def paginate(
83
- self, **kwargs: Unpack[ListBackupsInputListBackupsPaginateTypeDef]
84
- ) -> _PageIterator[ListBackupsOutputTypeDef]:
80
+ def paginate( # type: ignore[override]
81
+ self, **kwargs: Unpack[ListBackupsInputPaginateTypeDef]
82
+ ) -> PageIterator[ListBackupsOutputTypeDef]:
85
83
  """
86
84
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListBackups.html#DynamoDB.Paginator.ListBackups.paginate)
87
85
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listbackupspaginator)
88
86
  """
89
87
 
90
88
 
91
- class ListTablesPaginator(Paginator):
89
+ if TYPE_CHECKING:
90
+ _ListTablesPaginatorBase = Paginator[ListTablesOutputTypeDef]
91
+ else:
92
+ _ListTablesPaginatorBase = Paginator # type: ignore[assignment]
93
+
94
+
95
+ class ListTablesPaginator(_ListTablesPaginatorBase):
92
96
  """
93
97
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTables.html#DynamoDB.Paginator.ListTables)
94
98
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtablespaginator)
95
99
  """
96
100
 
97
- def paginate(
98
- self, **kwargs: Unpack[ListTablesInputListTablesPaginateTypeDef]
99
- ) -> _PageIterator[ListTablesOutputTypeDef]:
101
+ def paginate( # type: ignore[override]
102
+ self, **kwargs: Unpack[ListTablesInputPaginateTypeDef]
103
+ ) -> PageIterator[ListTablesOutputTypeDef]:
100
104
  """
101
105
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTables.html#DynamoDB.Paginator.ListTables.paginate)
102
106
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtablespaginator)
103
107
  """
104
108
 
105
109
 
106
- class ListTagsOfResourcePaginator(Paginator):
110
+ if TYPE_CHECKING:
111
+ _ListTagsOfResourcePaginatorBase = Paginator[ListTagsOfResourceOutputTypeDef]
112
+ else:
113
+ _ListTagsOfResourcePaginatorBase = Paginator # type: ignore[assignment]
114
+
115
+
116
+ class ListTagsOfResourcePaginator(_ListTagsOfResourcePaginatorBase):
107
117
  """
108
118
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTagsOfResource.html#DynamoDB.Paginator.ListTagsOfResource)
109
119
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtagsofresourcepaginator)
110
120
  """
111
121
 
112
- def paginate(
113
- self, **kwargs: Unpack[ListTagsOfResourceInputListTagsOfResourcePaginateTypeDef]
114
- ) -> _PageIterator[ListTagsOfResourceOutputTypeDef]:
122
+ def paginate( # type: ignore[override]
123
+ self, **kwargs: Unpack[ListTagsOfResourceInputPaginateTypeDef]
124
+ ) -> PageIterator[ListTagsOfResourceOutputTypeDef]:
115
125
  """
116
126
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTagsOfResource.html#DynamoDB.Paginator.ListTagsOfResource.paginate)
117
127
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtagsofresourcepaginator)
118
128
  """
119
129
 
120
130
 
121
- class QueryPaginator(Paginator):
131
+ if TYPE_CHECKING:
132
+ _QueryPaginatorBase = Paginator[QueryOutputTypeDef]
133
+ else:
134
+ _QueryPaginatorBase = Paginator # type: ignore[assignment]
135
+
136
+
137
+ class QueryPaginator(_QueryPaginatorBase):
122
138
  """
123
139
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Query.html#DynamoDB.Paginator.Query)
124
140
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#querypaginator)
125
141
  """
126
142
 
127
- def paginate(
128
- self, **kwargs: Unpack[QueryInputQueryPaginateTypeDef]
129
- ) -> _PageIterator[QueryOutputTypeDef]:
143
+ def paginate( # type: ignore[override]
144
+ self, **kwargs: Unpack[QueryInputPaginateTypeDef]
145
+ ) -> PageIterator[QueryOutputTypeDef]:
130
146
  """
131
147
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Query.html#DynamoDB.Paginator.Query.paginate)
132
148
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#querypaginator)
133
149
  """
134
150
 
135
151
 
136
- class ScanPaginator(Paginator):
152
+ if TYPE_CHECKING:
153
+ _ScanPaginatorBase = Paginator[ScanOutputTypeDef]
154
+ else:
155
+ _ScanPaginatorBase = Paginator # type: ignore[assignment]
156
+
157
+
158
+ class ScanPaginator(_ScanPaginatorBase):
137
159
  """
138
160
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Scan.html#DynamoDB.Paginator.Scan)
139
161
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#scanpaginator)
140
162
  """
141
163
 
142
- def paginate(
143
- self, **kwargs: Unpack[ScanInputScanPaginateTypeDef]
144
- ) -> _PageIterator[ScanOutputTypeDef]:
164
+ def paginate( # type: ignore[override]
165
+ self, **kwargs: Unpack[ScanInputPaginateTypeDef]
166
+ ) -> PageIterator[ScanOutputTypeDef]:
145
167
  """
146
168
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Scan.html#DynamoDB.Paginator.Scan.paginate)
147
169
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#scanpaginator)
@@ -1,7 +1,7 @@
1
1
  """
2
2
  Type annotations for dynamodb service client paginators.
3
3
 
4
- [Open documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/)
4
+ [Documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/)
5
5
 
6
6
  Usage::
7
7
 
@@ -27,24 +27,26 @@ Usage::
27
27
  scan_paginator: ScanPaginator = client.get_paginator("scan")
28
28
  ```
29
29
 
30
- Copyright 2024 Vlad Emelianov
30
+ Copyright 2025 Vlad Emelianov
31
31
  """
32
32
 
33
+ from __future__ import annotations
34
+
33
35
  import sys
34
- from typing import Generic, Iterator, TypeVar
36
+ from typing import TYPE_CHECKING
35
37
 
36
38
  from botocore.paginate import PageIterator, Paginator
37
39
 
38
40
  from .type_defs import (
39
- ListBackupsInputListBackupsPaginateTypeDef,
41
+ ListBackupsInputPaginateTypeDef,
40
42
  ListBackupsOutputTypeDef,
41
- ListTablesInputListTablesPaginateTypeDef,
43
+ ListTablesInputPaginateTypeDef,
42
44
  ListTablesOutputTypeDef,
43
- ListTagsOfResourceInputListTagsOfResourcePaginateTypeDef,
45
+ ListTagsOfResourceInputPaginateTypeDef,
44
46
  ListTagsOfResourceOutputTypeDef,
45
- QueryInputQueryPaginateTypeDef,
47
+ QueryInputPaginateTypeDef,
46
48
  QueryOutputTypeDef,
47
- ScanInputScanPaginateTypeDef,
49
+ ScanInputPaginateTypeDef,
48
50
  ScanOutputTypeDef,
49
51
  )
50
52
 
@@ -61,74 +63,91 @@ __all__ = (
61
63
  "ScanPaginator",
62
64
  )
63
65
 
64
- _ItemTypeDef = TypeVar("_ItemTypeDef")
65
-
66
- class _PageIterator(PageIterator, Generic[_ItemTypeDef]):
67
- def __iter__(self) -> Iterator[_ItemTypeDef]:
68
- """
69
- Proxy method to specify iterator item type.
70
- """
66
+ if TYPE_CHECKING:
67
+ _ListBackupsPaginatorBase = Paginator[ListBackupsOutputTypeDef]
68
+ else:
69
+ _ListBackupsPaginatorBase = Paginator # type: ignore[assignment]
71
70
 
72
- class ListBackupsPaginator(Paginator):
71
+ class ListBackupsPaginator(_ListBackupsPaginatorBase):
73
72
  """
74
73
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListBackups.html#DynamoDB.Paginator.ListBackups)
75
74
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listbackupspaginator)
76
75
  """
77
- def paginate(
78
- self, **kwargs: Unpack[ListBackupsInputListBackupsPaginateTypeDef]
79
- ) -> _PageIterator[ListBackupsOutputTypeDef]:
76
+ def paginate( # type: ignore[override]
77
+ self, **kwargs: Unpack[ListBackupsInputPaginateTypeDef]
78
+ ) -> PageIterator[ListBackupsOutputTypeDef]:
80
79
  """
81
80
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListBackups.html#DynamoDB.Paginator.ListBackups.paginate)
82
81
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listbackupspaginator)
83
82
  """
84
83
 
85
- class ListTablesPaginator(Paginator):
84
+ if TYPE_CHECKING:
85
+ _ListTablesPaginatorBase = Paginator[ListTablesOutputTypeDef]
86
+ else:
87
+ _ListTablesPaginatorBase = Paginator # type: ignore[assignment]
88
+
89
+ class ListTablesPaginator(_ListTablesPaginatorBase):
86
90
  """
87
91
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTables.html#DynamoDB.Paginator.ListTables)
88
92
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtablespaginator)
89
93
  """
90
- def paginate(
91
- self, **kwargs: Unpack[ListTablesInputListTablesPaginateTypeDef]
92
- ) -> _PageIterator[ListTablesOutputTypeDef]:
94
+ def paginate( # type: ignore[override]
95
+ self, **kwargs: Unpack[ListTablesInputPaginateTypeDef]
96
+ ) -> PageIterator[ListTablesOutputTypeDef]:
93
97
  """
94
98
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTables.html#DynamoDB.Paginator.ListTables.paginate)
95
99
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtablespaginator)
96
100
  """
97
101
 
98
- class ListTagsOfResourcePaginator(Paginator):
102
+ if TYPE_CHECKING:
103
+ _ListTagsOfResourcePaginatorBase = Paginator[ListTagsOfResourceOutputTypeDef]
104
+ else:
105
+ _ListTagsOfResourcePaginatorBase = Paginator # type: ignore[assignment]
106
+
107
+ class ListTagsOfResourcePaginator(_ListTagsOfResourcePaginatorBase):
99
108
  """
100
109
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTagsOfResource.html#DynamoDB.Paginator.ListTagsOfResource)
101
110
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtagsofresourcepaginator)
102
111
  """
103
- def paginate(
104
- self, **kwargs: Unpack[ListTagsOfResourceInputListTagsOfResourcePaginateTypeDef]
105
- ) -> _PageIterator[ListTagsOfResourceOutputTypeDef]:
112
+ def paginate( # type: ignore[override]
113
+ self, **kwargs: Unpack[ListTagsOfResourceInputPaginateTypeDef]
114
+ ) -> PageIterator[ListTagsOfResourceOutputTypeDef]:
106
115
  """
107
116
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/ListTagsOfResource.html#DynamoDB.Paginator.ListTagsOfResource.paginate)
108
117
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#listtagsofresourcepaginator)
109
118
  """
110
119
 
111
- class QueryPaginator(Paginator):
120
+ if TYPE_CHECKING:
121
+ _QueryPaginatorBase = Paginator[QueryOutputTypeDef]
122
+ else:
123
+ _QueryPaginatorBase = Paginator # type: ignore[assignment]
124
+
125
+ class QueryPaginator(_QueryPaginatorBase):
112
126
  """
113
127
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Query.html#DynamoDB.Paginator.Query)
114
128
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#querypaginator)
115
129
  """
116
- def paginate(
117
- self, **kwargs: Unpack[QueryInputQueryPaginateTypeDef]
118
- ) -> _PageIterator[QueryOutputTypeDef]:
130
+ def paginate( # type: ignore[override]
131
+ self, **kwargs: Unpack[QueryInputPaginateTypeDef]
132
+ ) -> PageIterator[QueryOutputTypeDef]:
119
133
  """
120
134
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Query.html#DynamoDB.Paginator.Query.paginate)
121
135
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#querypaginator)
122
136
  """
123
137
 
124
- class ScanPaginator(Paginator):
138
+ if TYPE_CHECKING:
139
+ _ScanPaginatorBase = Paginator[ScanOutputTypeDef]
140
+ else:
141
+ _ScanPaginatorBase = Paginator # type: ignore[assignment]
142
+
143
+ class ScanPaginator(_ScanPaginatorBase):
125
144
  """
126
145
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Scan.html#DynamoDB.Paginator.Scan)
127
146
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#scanpaginator)
128
147
  """
129
- def paginate(
130
- self, **kwargs: Unpack[ScanInputScanPaginateTypeDef]
131
- ) -> _PageIterator[ScanOutputTypeDef]:
148
+ def paginate( # type: ignore[override]
149
+ self, **kwargs: Unpack[ScanInputPaginateTypeDef]
150
+ ) -> PageIterator[ScanOutputTypeDef]:
132
151
  """
133
152
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/paginator/Scan.html#DynamoDB.Paginator.Scan.paginate)
134
153
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/paginators/#scanpaginator)
@@ -1,7 +1,7 @@
1
1
  """
2
- Type annotations for dynamodb service ServiceResource
2
+ Type annotations for dynamodb service ServiceResource.
3
3
 
4
- [Open documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/)
4
+ [Documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/)
5
5
 
6
6
  Usage::
7
7
 
@@ -17,19 +17,20 @@ Usage::
17
17
  my_table: dynamodb_resources.Table = resource.Table(...)
18
18
  ```
19
19
 
20
- Copyright 2024 Vlad Emelianov
20
+ Copyright 2025 Vlad Emelianov
21
21
  """
22
22
 
23
+ from __future__ import annotations
24
+
23
25
  import sys
24
26
  from datetime import datetime
25
- from typing import Iterator, List, Sequence
26
27
 
27
28
  from boto3.dynamodb.table import BatchWriter
28
29
  from boto3.resources.base import ResourceMeta, ServiceResource
29
30
  from boto3.resources.collection import ResourceCollection
30
31
 
31
32
  from .client import DynamoDBClient
32
- from .literals import TableStatusType
33
+ from .literals import MultiRegionConsistencyType, TableStatusType
33
34
  from .type_defs import (
34
35
  ArchivalSummaryTypeDef,
35
36
  AttributeDefinitionTypeDef,
@@ -66,6 +67,11 @@ from .type_defs import (
66
67
  UpdateTableInputTableUpdateTypeDef,
67
68
  )
68
69
 
70
+ if sys.version_info >= (3, 9):
71
+ from builtins import list as List
72
+ from collections.abc import Iterator, Sequence
73
+ else:
74
+ from typing import Iterator, List, Sequence
69
75
  if sys.version_info >= (3, 12):
70
76
  from typing import Unpack
71
77
  else:
@@ -81,7 +87,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
81
87
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
82
88
  """
83
89
 
84
- def all(self) -> "ServiceResourceTablesCollection":
90
+ def all(self) -> ServiceResourceTablesCollection:
85
91
  """
86
92
  Get all items from the collection, optionally with a custom page size and item
87
93
  count limit.
@@ -90,9 +96,9 @@ class ServiceResourceTablesCollection(ResourceCollection):
90
96
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
91
97
  """
92
98
 
93
- def filter( # type: ignore
99
+ def filter( # type: ignore[override]
94
100
  self, *, ExclusiveStartTableName: str = ..., Limit: int = ...
95
- ) -> "ServiceResourceTablesCollection":
101
+ ) -> ServiceResourceTablesCollection:
96
102
  """
97
103
  Get items from the collection, passing keyword arguments along as parameters to
98
104
  the underlying service operation, which are typically used to filter the
@@ -102,7 +108,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
102
108
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
103
109
  """
104
110
 
105
- def limit(self, count: int) -> "ServiceResourceTablesCollection":
111
+ def limit(self, count: int) -> ServiceResourceTablesCollection:
106
112
  """
107
113
  Return at most this many Tables.
108
114
 
@@ -110,7 +116,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
110
116
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
111
117
  """
112
118
 
113
- def page_size(self, count: int) -> "ServiceResourceTablesCollection":
119
+ def page_size(self, count: int) -> ServiceResourceTablesCollection:
114
120
  """
115
121
  Fetch at most this many Tables per service request.
116
122
 
@@ -118,7 +124,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
118
124
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
119
125
  """
120
126
 
121
- def pages(self) -> Iterator[List["Table"]]:
127
+ def pages(self) -> Iterator[List[Table]]:
122
128
  """
123
129
  A generator which yields pages of Tables.
124
130
 
@@ -126,7 +132,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
126
132
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
127
133
  """
128
134
 
129
- def __iter__(self) -> Iterator["Table"]:
135
+ def __iter__(self) -> Iterator[Table]:
130
136
  """
131
137
  A generator which yields Tables.
132
138
 
@@ -167,7 +173,8 @@ class Table(ServiceResource):
167
173
  deletion_protection_enabled: bool
168
174
  on_demand_throughput: OnDemandThroughputTypeDef
169
175
  warm_throughput: TableWarmThroughputDescriptionTypeDef
170
- meta: "DynamoDBResourceMeta" # type: ignore
176
+ multi_region_consistency: MultiRegionConsistencyType
177
+ meta: DynamoDBResourceMeta # type: ignore[override]
171
178
 
172
179
  def get_available_subresources(self) -> Sequence[str]:
173
180
  """
@@ -234,7 +241,7 @@ class Table(ServiceResource):
234
241
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#tablescan-method)
235
242
  """
236
243
 
237
- def update(self, **kwargs: Unpack[UpdateTableInputTableUpdateTypeDef]) -> "_Table":
244
+ def update(self, **kwargs: Unpack[UpdateTableInputTableUpdateTypeDef]) -> _Table:
238
245
  """
239
246
  Modifies the provisioned throughput settings, global secondary indexes, or
240
247
  DynamoDB Streams settings for a given table.
@@ -295,7 +302,7 @@ _Table = Table
295
302
 
296
303
 
297
304
  class DynamoDBResourceMeta(ResourceMeta):
298
- client: DynamoDBClient
305
+ client: DynamoDBClient # type: ignore[override]
299
306
 
300
307
 
301
308
  class DynamoDBServiceResource(ServiceResource):
@@ -304,7 +311,7 @@ class DynamoDBServiceResource(ServiceResource):
304
311
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/)
305
312
  """
306
313
 
307
- meta: "DynamoDBResourceMeta" # type: ignore
314
+ meta: DynamoDBResourceMeta # type: ignore[override]
308
315
  tables: ServiceResourceTablesCollection
309
316
 
310
317
  def get_available_subresources(self) -> Sequence[str]:
@@ -339,7 +346,7 @@ class DynamoDBServiceResource(ServiceResource):
339
346
 
340
347
  def create_table(
341
348
  self, **kwargs: Unpack[CreateTableInputServiceResourceCreateTableTypeDef]
342
- ) -> "_Table":
349
+ ) -> _Table:
343
350
  """
344
351
  The <code>CreateTable</code> operation adds a new table to your account.
345
352
 
@@ -347,7 +354,7 @@ class DynamoDBServiceResource(ServiceResource):
347
354
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#dynamodbserviceresourcecreate_table-method)
348
355
  """
349
356
 
350
- def Table(self, name: str) -> "_Table":
357
+ def Table(self, name: str) -> _Table:
351
358
  """
352
359
  Creates a Table resource.
353
360
 
@@ -1,7 +1,7 @@
1
1
  """
2
- Type annotations for dynamodb service ServiceResource
2
+ Type annotations for dynamodb service ServiceResource.
3
3
 
4
- [Open documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/)
4
+ [Documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/)
5
5
 
6
6
  Usage::
7
7
 
@@ -17,19 +17,20 @@ Usage::
17
17
  my_table: dynamodb_resources.Table = resource.Table(...)
18
18
  ```
19
19
 
20
- Copyright 2024 Vlad Emelianov
20
+ Copyright 2025 Vlad Emelianov
21
21
  """
22
22
 
23
+ from __future__ import annotations
24
+
23
25
  import sys
24
26
  from datetime import datetime
25
- from typing import Iterator, List, Sequence
26
27
 
27
28
  from boto3.dynamodb.table import BatchWriter
28
29
  from boto3.resources.base import ResourceMeta, ServiceResource
29
30
  from boto3.resources.collection import ResourceCollection
30
31
 
31
32
  from .client import DynamoDBClient
32
- from .literals import TableStatusType
33
+ from .literals import MultiRegionConsistencyType, TableStatusType
33
34
  from .type_defs import (
34
35
  ArchivalSummaryTypeDef,
35
36
  AttributeDefinitionTypeDef,
@@ -66,6 +67,11 @@ from .type_defs import (
66
67
  UpdateTableInputTableUpdateTypeDef,
67
68
  )
68
69
 
70
+ if sys.version_info >= (3, 9):
71
+ from builtins import list as List
72
+ from collections.abc import Iterator, Sequence
73
+ else:
74
+ from typing import Iterator, List, Sequence
69
75
  if sys.version_info >= (3, 12):
70
76
  from typing import Unpack
71
77
  else:
@@ -78,7 +84,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
78
84
  [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/service-resource/tables.html#DynamoDB.ServiceResource.tables)
79
85
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
80
86
  """
81
- def all(self) -> "ServiceResourceTablesCollection":
87
+ def all(self) -> ServiceResourceTablesCollection:
82
88
  """
83
89
  Get all items from the collection, optionally with a custom page size and item
84
90
  count limit.
@@ -87,9 +93,9 @@ class ServiceResourceTablesCollection(ResourceCollection):
87
93
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
88
94
  """
89
95
 
90
- def filter( # type: ignore
96
+ def filter( # type: ignore[override]
91
97
  self, *, ExclusiveStartTableName: str = ..., Limit: int = ...
92
- ) -> "ServiceResourceTablesCollection":
98
+ ) -> ServiceResourceTablesCollection:
93
99
  """
94
100
  Get items from the collection, passing keyword arguments along as parameters to
95
101
  the underlying service operation, which are typically used to filter the
@@ -99,7 +105,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
99
105
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
100
106
  """
101
107
 
102
- def limit(self, count: int) -> "ServiceResourceTablesCollection":
108
+ def limit(self, count: int) -> ServiceResourceTablesCollection:
103
109
  """
104
110
  Return at most this many Tables.
105
111
 
@@ -107,7 +113,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
107
113
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
108
114
  """
109
115
 
110
- def page_size(self, count: int) -> "ServiceResourceTablesCollection":
116
+ def page_size(self, count: int) -> ServiceResourceTablesCollection:
111
117
  """
112
118
  Fetch at most this many Tables per service request.
113
119
 
@@ -115,7 +121,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
115
121
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
116
122
  """
117
123
 
118
- def pages(self) -> Iterator[List["Table"]]:
124
+ def pages(self) -> Iterator[List[Table]]:
119
125
  """
120
126
  A generator which yields pages of Tables.
121
127
 
@@ -123,7 +129,7 @@ class ServiceResourceTablesCollection(ResourceCollection):
123
129
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#serviceresourcetablescollection)
124
130
  """
125
131
 
126
- def __iter__(self) -> Iterator["Table"]:
132
+ def __iter__(self) -> Iterator[Table]:
127
133
  """
128
134
  A generator which yields Tables.
129
135
 
@@ -163,7 +169,8 @@ class Table(ServiceResource):
163
169
  deletion_protection_enabled: bool
164
170
  on_demand_throughput: OnDemandThroughputTypeDef
165
171
  warm_throughput: TableWarmThroughputDescriptionTypeDef
166
- meta: "DynamoDBResourceMeta" # type: ignore
172
+ multi_region_consistency: MultiRegionConsistencyType
173
+ meta: DynamoDBResourceMeta # type: ignore[override]
167
174
 
168
175
  def get_available_subresources(self) -> Sequence[str]:
169
176
  """
@@ -230,7 +237,7 @@ class Table(ServiceResource):
230
237
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#tablescan-method)
231
238
  """
232
239
 
233
- def update(self, **kwargs: Unpack[UpdateTableInputTableUpdateTypeDef]) -> "_Table":
240
+ def update(self, **kwargs: Unpack[UpdateTableInputTableUpdateTypeDef]) -> _Table:
234
241
  """
235
242
  Modifies the provisioned throughput settings, global secondary indexes, or
236
243
  DynamoDB Streams settings for a given table.
@@ -289,7 +296,7 @@ class Table(ServiceResource):
289
296
  _Table = Table
290
297
 
291
298
  class DynamoDBResourceMeta(ResourceMeta):
292
- client: DynamoDBClient
299
+ client: DynamoDBClient # type: ignore[override]
293
300
 
294
301
  class DynamoDBServiceResource(ServiceResource):
295
302
  """
@@ -297,7 +304,7 @@ class DynamoDBServiceResource(ServiceResource):
297
304
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/)
298
305
  """
299
306
 
300
- meta: "DynamoDBResourceMeta" # type: ignore
307
+ meta: DynamoDBResourceMeta # type: ignore[override]
301
308
  tables: ServiceResourceTablesCollection
302
309
 
303
310
  def get_available_subresources(self) -> Sequence[str]:
@@ -332,7 +339,7 @@ class DynamoDBServiceResource(ServiceResource):
332
339
 
333
340
  def create_table(
334
341
  self, **kwargs: Unpack[CreateTableInputServiceResourceCreateTableTypeDef]
335
- ) -> "_Table":
342
+ ) -> _Table:
336
343
  """
337
344
  The <code>CreateTable</code> operation adds a new table to your account.
338
345
 
@@ -340,7 +347,7 @@ class DynamoDBServiceResource(ServiceResource):
340
347
  [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/service_resource/#dynamodbserviceresourcecreate_table-method)
341
348
  """
342
349
 
343
- def Table(self, name: str) -> "_Table":
350
+ def Table(self, name: str) -> _Table:
344
351
  """
345
352
  Creates a Table resource.
346
353