types-boto3-dynamodb 1.35.71__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.
@@ -0,0 +1,7 @@
1
+ """
2
+ Source of truth for version.
3
+
4
+ Copyright 2024 Vlad Emelianov
5
+ """
6
+
7
+ __version__ = "1.35.71"
@@ -0,0 +1,68 @@
1
+ """
2
+ Type annotations for dynamodb service client waiters.
3
+
4
+ [Open documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/)
5
+
6
+ Usage::
7
+
8
+ ```python
9
+ from boto3.session import Session
10
+
11
+ from types_boto3_dynamodb.client import DynamoDBClient
12
+ from types_boto3_dynamodb.waiter import (
13
+ TableExistsWaiter,
14
+ TableNotExistsWaiter,
15
+ )
16
+
17
+ session = Session()
18
+ client: DynamoDBClient = session.client("dynamodb")
19
+
20
+ table_exists_waiter: TableExistsWaiter = client.get_waiter("table_exists")
21
+ table_not_exists_waiter: TableNotExistsWaiter = client.get_waiter("table_not_exists")
22
+ ```
23
+
24
+ Copyright 2024 Vlad Emelianov
25
+ """
26
+
27
+ import sys
28
+
29
+ from botocore.waiter import Waiter
30
+
31
+ from .type_defs import (
32
+ DescribeTableInputTableExistsWaitTypeDef,
33
+ DescribeTableInputTableNotExistsWaitTypeDef,
34
+ )
35
+
36
+ if sys.version_info >= (3, 12):
37
+ from typing import Unpack
38
+ else:
39
+ from typing_extensions import Unpack
40
+
41
+
42
+ __all__ = ("TableExistsWaiter", "TableNotExistsWaiter")
43
+
44
+
45
+ class TableExistsWaiter(Waiter):
46
+ """
47
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableExists.html#DynamoDB.Waiter.TableExists)
48
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tableexistswaiter)
49
+ """
50
+
51
+ def wait(self, **kwargs: Unpack[DescribeTableInputTableExistsWaitTypeDef]) -> None:
52
+ """
53
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableExists.html#DynamoDB.Waiter.TableExists.wait)
54
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tableexistswaiter)
55
+ """
56
+
57
+
58
+ class TableNotExistsWaiter(Waiter):
59
+ """
60
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableNotExists.html#DynamoDB.Waiter.TableNotExists)
61
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tablenotexistswaiter)
62
+ """
63
+
64
+ def wait(self, **kwargs: Unpack[DescribeTableInputTableNotExistsWaitTypeDef]) -> None:
65
+ """
66
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableNotExists.html#DynamoDB.Waiter.TableNotExists.wait)
67
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tablenotexistswaiter)
68
+ """
@@ -0,0 +1,63 @@
1
+ """
2
+ Type annotations for dynamodb service client waiters.
3
+
4
+ [Open documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/)
5
+
6
+ Usage::
7
+
8
+ ```python
9
+ from boto3.session import Session
10
+
11
+ from types_boto3_dynamodb.client import DynamoDBClient
12
+ from types_boto3_dynamodb.waiter import (
13
+ TableExistsWaiter,
14
+ TableNotExistsWaiter,
15
+ )
16
+
17
+ session = Session()
18
+ client: DynamoDBClient = session.client("dynamodb")
19
+
20
+ table_exists_waiter: TableExistsWaiter = client.get_waiter("table_exists")
21
+ table_not_exists_waiter: TableNotExistsWaiter = client.get_waiter("table_not_exists")
22
+ ```
23
+
24
+ Copyright 2024 Vlad Emelianov
25
+ """
26
+
27
+ import sys
28
+
29
+ from botocore.waiter import Waiter
30
+
31
+ from .type_defs import (
32
+ DescribeTableInputTableExistsWaitTypeDef,
33
+ DescribeTableInputTableNotExistsWaitTypeDef,
34
+ )
35
+
36
+ if sys.version_info >= (3, 12):
37
+ from typing import Unpack
38
+ else:
39
+ from typing_extensions import Unpack
40
+
41
+ __all__ = ("TableExistsWaiter", "TableNotExistsWaiter")
42
+
43
+ class TableExistsWaiter(Waiter):
44
+ """
45
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableExists.html#DynamoDB.Waiter.TableExists)
46
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tableexistswaiter)
47
+ """
48
+ def wait(self, **kwargs: Unpack[DescribeTableInputTableExistsWaitTypeDef]) -> None:
49
+ """
50
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableExists.html#DynamoDB.Waiter.TableExists.wait)
51
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tableexistswaiter)
52
+ """
53
+
54
+ class TableNotExistsWaiter(Waiter):
55
+ """
56
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableNotExists.html#DynamoDB.Waiter.TableNotExists)
57
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tablenotexistswaiter)
58
+ """
59
+ def wait(self, **kwargs: Unpack[DescribeTableInputTableNotExistsWaitTypeDef]) -> None:
60
+ """
61
+ [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb/waiter/TableNotExists.html#DynamoDB.Waiter.TableNotExists.wait)
62
+ [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/waiters/#tablenotexistswaiter)
63
+ """
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Vlad Emelianov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,520 @@
1
+ Metadata-Version: 2.1
2
+ Name: types-boto3-dynamodb
3
+ Version: 1.35.71
4
+ Summary: Type annotations for boto3 DynamoDB 1.35.71 service generated with mypy-boto3-builder 8.4.1
5
+ Home-page: https://github.com/youtype/mypy_boto3_builder
6
+ Author: Vlad Emelianov
7
+ Author-email: vlad.emelianov.nz@gmail.com
8
+ License: MIT License
9
+ Project-URL: Documentation, https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/
10
+ Project-URL: Source, https://github.com/youtype/mypy_boto3_builder
11
+ Project-URL: Tracker, https://github.com/youtype/mypy_boto3_builder/issues
12
+ Keywords: boto3 dynamodb type-annotations botocore mypy typeshed autocomplete
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Environment :: Console
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Natural Language :: English
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: 3.14
27
+ Classifier: Programming Language :: Python :: 3 :: Only
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Classifier: Typing :: Stubs Only
30
+ Requires-Python: >=3.8
31
+ Description-Content-Type: text/markdown
32
+ License-File: LICENSE
33
+ Requires-Dist: typing-extensions>=4.1.0; python_version < "3.12"
34
+
35
+ <a id="types-boto3-dynamodb"></a>
36
+
37
+ # types-boto3-dynamodb
38
+
39
+ [![PyPI - types-boto3-dynamodb](https://img.shields.io/pypi/v/types-boto3-dynamodb.svg?color=blue)](https://pypi.org/project/types-boto3-dynamodb/)
40
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/types-boto3-dynamodb.svg?color=blue)](https://pypi.org/project/types-boto3-dynamodb/)
41
+ [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/types_boto3_docs/)
42
+ [![PyPI - Downloads](https://static.pepy.tech/badge/types-boto3-dynamodb)](https://pypistats.org/packages/types-boto3-dynamodb)
43
+
44
+ ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
45
+
46
+ Type annotations for [boto3 DynamoDB 1.35.71](https://pypi.org/project/boto3/)
47
+ compatible with [VSCode](https://code.visualstudio.com/),
48
+ [PyCharm](https://www.jetbrains.com/pycharm/),
49
+ [Emacs](https://www.gnu.org/software/emacs/),
50
+ [Sublime Text](https://www.sublimetext.com/),
51
+ [mypy](https://github.com/python/mypy),
52
+ [pyright](https://github.com/microsoft/pyright) and other tools.
53
+
54
+ Generated by
55
+ [mypy-boto3-builder 8.4.1](https://github.com/youtype/mypy_boto3_builder).
56
+
57
+ More information can be found on
58
+ [types-boto3](https://pypi.org/project/types-boto3/) page and in
59
+ [types-boto3-dynamodb docs](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/).
60
+
61
+ See how it helps you find and fix potential bugs:
62
+
63
+ ![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
64
+
65
+ - [types-boto3-dynamodb](#types-boto3-dynamodb)
66
+ - [How to install](#how-to-install)
67
+ - [VSCode extension](#vscode-extension)
68
+ - [From PyPI with pip](#from-pypi-with-pip)
69
+ - [How to uninstall](#how-to-uninstall)
70
+ - [Usage](#usage)
71
+ - [VSCode](#vscode)
72
+ - [PyCharm](#pycharm)
73
+ - [Emacs](#emacs)
74
+ - [Sublime Text](#sublime-text)
75
+ - [Other IDEs](#other-ides)
76
+ - [mypy](#mypy)
77
+ - [pyright](#pyright)
78
+ - [Explicit type annotations](#explicit-type-annotations)
79
+ - [Client annotations](#client-annotations)
80
+ - [Paginators annotations](#paginators-annotations)
81
+ - [Waiters annotations](#waiters-annotations)
82
+ - [Service Resource annotations](#service-resource-annotations)
83
+ - [Other resources annotations](#other-resources-annotations)
84
+ - [Collections annotations](#collections-annotations)
85
+ - [Literals](#literals)
86
+ - [Type definitions](#type-definitions)
87
+ - [How it works](#how-it-works)
88
+ - [What's new](#what's-new)
89
+ - [Implemented features](#implemented-features)
90
+ - [Latest changes](#latest-changes)
91
+ - [Versioning](#versioning)
92
+ - [Thank you](#thank-you)
93
+ - [Documentation](#documentation)
94
+ - [Support and contributing](#support-and-contributing)
95
+
96
+ <a id="how-to-install"></a>
97
+
98
+ ## How to install
99
+
100
+ <a id="vscode-extension"></a>
101
+
102
+ ### VSCode extension
103
+
104
+ Add
105
+ [AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
106
+ extension to your VSCode and run `AWS boto3: Quick Start` command.
107
+
108
+ Click `Modify` and select `boto3 common` and `DynamoDB`.
109
+
110
+ <a id="from-pypi-with-pip"></a>
111
+
112
+ ### From PyPI with pip
113
+
114
+ Install `types-boto3` for `DynamoDB` service.
115
+
116
+ ```bash
117
+ # install with boto3 type annotations
118
+ python -m pip install 'types-boto3[dynamodb]'
119
+
120
+
121
+ # Lite version does not provide session.client/resource overloads
122
+ # it is more RAM-friendly, but requires explicit type annotations
123
+ python -m pip install 'types-boto3-lite[dynamodb]'
124
+
125
+
126
+ # standalone installation
127
+ python -m pip install types-boto3-dynamodb
128
+ ```
129
+
130
+ <a id="how-to-uninstall"></a>
131
+
132
+ ## How to uninstall
133
+
134
+ ```bash
135
+ python -m pip uninstall -y types-boto3-dynamodb
136
+ ```
137
+
138
+ <a id="usage"></a>
139
+
140
+ ## Usage
141
+
142
+ <a id="vscode"></a>
143
+
144
+ ### VSCode
145
+
146
+ - Install
147
+ [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
148
+ - Install
149
+ [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
150
+ - Set `Pylance` as your Python Language Server
151
+ - Install `types-boto3[dynamodb]` in your environment:
152
+
153
+ ```bash
154
+ python -m pip install 'types-boto3[dynamodb]'
155
+ ```
156
+
157
+ Both type checking and code completion should now work. No explicit type
158
+ annotations required, write your `boto3` code as usual.
159
+
160
+ <a id="pycharm"></a>
161
+
162
+ ### PyCharm
163
+
164
+ > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
165
+ > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
166
+ > to use [types-boto3-lite](https://pypi.org/project/types-boto3-lite/) until
167
+ > the issue is resolved.
168
+
169
+ > ⚠️ If you experience slow performance and high CPU usage, try to disable
170
+ > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
171
+ > [pyright](https://github.com/microsoft/pyright) instead.
172
+
173
+ > ⚠️ To continue using `PyCharm` type checker, you can try to replace
174
+ > `types-boto3` with
175
+ > [types-boto3-lite](https://pypi.org/project/types-boto3-lite/):
176
+
177
+ ```bash
178
+ pip uninstall types-boto3
179
+ pip install types-boto3-lite
180
+ ```
181
+
182
+ Install `types-boto3[dynamodb]` in your environment:
183
+
184
+ ```bash
185
+ python -m pip install 'types-boto3[dynamodb]'
186
+ ```
187
+
188
+ Both type checking and code completion should now work.
189
+
190
+ <a id="emacs"></a>
191
+
192
+ ### Emacs
193
+
194
+ - Install `types-boto3` with services you use in your environment:
195
+
196
+ ```bash
197
+ python -m pip install 'types-boto3[dynamodb]'
198
+ ```
199
+
200
+ - Install [use-package](https://github.com/jwiegley/use-package),
201
+ [lsp](https://github.com/emacs-lsp/lsp-mode/),
202
+ [company](https://github.com/company-mode/company-mode) and
203
+ [flycheck](https://github.com/flycheck/flycheck) packages
204
+ - Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
205
+
206
+ ```elisp
207
+ (use-package lsp-pyright
208
+ :ensure t
209
+ :hook (python-mode . (lambda ()
210
+ (require 'lsp-pyright)
211
+ (lsp))) ; or lsp-deferred
212
+ :init (when (executable-find "python3")
213
+ (setq lsp-pyright-python-executable-cmd "python3"))
214
+ )
215
+ ```
216
+
217
+ - Make sure emacs uses the environment where you have installed `types-boto3`
218
+
219
+ Type checking should now work. No explicit type annotations required, write
220
+ your `boto3` code as usual.
221
+
222
+ <a id="sublime-text"></a>
223
+
224
+ ### Sublime Text
225
+
226
+ - Install `types-boto3[dynamodb]` with services you use in your environment:
227
+
228
+ ```bash
229
+ python -m pip install 'types-boto3[dynamodb]'
230
+ ```
231
+
232
+ - Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
233
+
234
+ Type checking should now work. No explicit type annotations required, write
235
+ your `boto3` code as usual.
236
+
237
+ <a id="other-ides"></a>
238
+
239
+ ### Other IDEs
240
+
241
+ Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
242
+ should work.
243
+
244
+ <a id="mypy"></a>
245
+
246
+ ### mypy
247
+
248
+ - Install `mypy`: `python -m pip install mypy`
249
+ - Install `types-boto3[dynamodb]` in your environment:
250
+
251
+ ```bash
252
+ python -m pip install 'types-boto3[dynamodb]'
253
+ ```
254
+
255
+ Type checking should now work. No explicit type annotations required, write
256
+ your `boto3` code as usual.
257
+
258
+ <a id="pyright"></a>
259
+
260
+ ### pyright
261
+
262
+ - Install `pyright`: `npm i -g pyright`
263
+ - Install `types-boto3[dynamodb]` in your environment:
264
+
265
+ ```bash
266
+ python -m pip install 'types-boto3[dynamodb]'
267
+ ```
268
+
269
+ Optionally, you can install `types-boto3` to `typings` directory.
270
+
271
+ Type checking should now work. No explicit type annotations required, write
272
+ your `boto3` code as usual.
273
+
274
+ <a id="explicit-type-annotations"></a>
275
+
276
+ ## Explicit type annotations
277
+
278
+ <a id="client-annotations"></a>
279
+
280
+ ### Client annotations
281
+
282
+ `DynamoDBClient` provides annotations for `boto3.client("dynamodb")`.
283
+
284
+ ```python
285
+ from boto3.session import Session
286
+
287
+ from types_boto3_dynamodb import DynamoDBClient
288
+
289
+ client: DynamoDBClient = Session().client("dynamodb")
290
+
291
+ # now client usage is checked by mypy and IDE should provide code completion
292
+ ```
293
+
294
+ <a id="paginators-annotations"></a>
295
+
296
+ ### Paginators annotations
297
+
298
+ `types_boto3_dynamodb.paginator` module contains type annotations for all
299
+ paginators.
300
+
301
+ ```python
302
+ from boto3.session import Session
303
+
304
+ from types_boto3_dynamodb import DynamoDBClient
305
+ from types_boto3_dynamodb.paginator import (
306
+ ListBackupsPaginator,
307
+ ListTablesPaginator,
308
+ ListTagsOfResourcePaginator,
309
+ QueryPaginator,
310
+ ScanPaginator,
311
+ )
312
+
313
+ client: DynamoDBClient = Session().client("dynamodb")
314
+
315
+ # Explicit type annotations are optional here
316
+ # Types should be correctly discovered by mypy and IDEs
317
+ list_backups_paginator: ListBackupsPaginator = client.get_paginator("list_backups")
318
+ list_tables_paginator: ListTablesPaginator = client.get_paginator("list_tables")
319
+ list_tags_of_resource_paginator: ListTagsOfResourcePaginator = client.get_paginator(
320
+ "list_tags_of_resource"
321
+ )
322
+ query_paginator: QueryPaginator = client.get_paginator("query")
323
+ scan_paginator: ScanPaginator = client.get_paginator("scan")
324
+ ```
325
+
326
+ <a id="waiters-annotations"></a>
327
+
328
+ ### Waiters annotations
329
+
330
+ `types_boto3_dynamodb.waiter` module contains type annotations for all waiters.
331
+
332
+ ```python
333
+ from boto3.session import Session
334
+
335
+ from types_boto3_dynamodb import DynamoDBClient
336
+ from types_boto3_dynamodb.waiter import TableExistsWaiter, TableNotExistsWaiter
337
+
338
+ client: DynamoDBClient = Session().client("dynamodb")
339
+
340
+ # Explicit type annotations are optional here
341
+ # Types should be correctly discovered by mypy and IDEs
342
+ table_exists_waiter: TableExistsWaiter = client.get_waiter("table_exists")
343
+ table_not_exists_waiter: TableNotExistsWaiter = client.get_waiter("table_not_exists")
344
+ ```
345
+
346
+ <a id="service-resource-annotations"></a>
347
+
348
+ ### Service Resource annotations
349
+
350
+ `DynamoDBServiceResource` provides annotations for
351
+ `boto3.resource("dynamodb")`.
352
+
353
+ ```python
354
+ from boto3.session import Session
355
+
356
+ from types_boto3_dynamodb import DynamoDBServiceResource
357
+
358
+ resource: DynamoDBServiceResource = Session().resource("dynamodb")
359
+
360
+ # now resource usage is checked by mypy and IDE should provide code completion
361
+ ```
362
+
363
+ <a id="other-resources-annotations"></a>
364
+
365
+ ### Other resources annotations
366
+
367
+ `types_boto3_dynamodb.service_resource` module contains type annotations for
368
+ all resources.
369
+
370
+ ```python
371
+ from boto3.session import Session
372
+
373
+ from types_boto3_dynamodb import DynamoDBServiceResource
374
+ from types_boto3_dynamodb.service_resource import Table
375
+
376
+ resource: DynamoDBServiceResource = Session().resource("dynamodb")
377
+
378
+ # Explicit type annotations are optional here
379
+ # Type should be correctly discovered by mypy and IDEs
380
+ my_table: Table = resource.Table(...)
381
+ ```
382
+
383
+ <a id="collections-annotations"></a>
384
+
385
+ ### Collections annotations
386
+
387
+ `types_boto3_dynamodb.service_resource` module contains type annotations for
388
+ all `DynamoDBServiceResource` collections.
389
+
390
+ ```python
391
+ from boto3.session import Session
392
+
393
+ from types_boto3_dynamodb import DynamoDBServiceResource
394
+ from types_boto3_dynamodb.service_resource import ServiceResourceTablesCollection
395
+
396
+ resource: DynamoDBServiceResource = Session().resource("dynamodb")
397
+
398
+ # Explicit type annotations are optional here
399
+ # Type should be correctly discovered by mypy and IDEs
400
+ tables: dynamodb_resources.ServiceResourceTablesCollection = resource.tables
401
+ ```
402
+
403
+ <a id="literals"></a>
404
+
405
+ ### Literals
406
+
407
+ `types_boto3_dynamodb.literals` module contains literals extracted from shapes
408
+ that can be used in user code for type checking.
409
+
410
+ Full list of `DynamoDB` Literals can be found in
411
+ [docs](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/literals/).
412
+
413
+ ```python
414
+ from types_boto3_dynamodb.literals import ApproximateCreationDateTimePrecisionType
415
+
416
+
417
+ def check_value(value: ApproximateCreationDateTimePrecisionType) -> bool: ...
418
+ ```
419
+
420
+ <a id="type-definitions"></a>
421
+
422
+ ### Type definitions
423
+
424
+ `types_boto3_dynamodb.type_defs` module contains structures and shapes
425
+ assembled to typed dictionaries and unions for additional type checking.
426
+
427
+ Full list of `DynamoDB` TypeDefs can be found in
428
+ [docs](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/type_defs/).
429
+
430
+ ```python
431
+ from types_boto3_dynamodb.type_defs import ArchivalSummaryTypeDef
432
+
433
+
434
+ def get_value() -> ArchivalSummaryTypeDef:
435
+ return {...}
436
+ ```
437
+
438
+ <a id="how-it-works"></a>
439
+
440
+ ## How it works
441
+
442
+ Fully automated
443
+ [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
444
+ generates type annotations for each service, patiently waiting for `boto3`
445
+ updates. It delivers drop-in type annotations for you and makes sure that:
446
+
447
+ - All available `boto3` services are covered.
448
+ - Each public class and method of every `boto3` service gets valid type
449
+ annotations extracted from `botocore` schemas.
450
+ - Type annotations include up-to-date documentation.
451
+ - Link to documentation is provided for every method.
452
+ - Code is processed by [ruff](https://docs.astral.sh/ruff/) for readability.
453
+
454
+ <a id="what's-new"></a>
455
+
456
+ ## What's new
457
+
458
+ <a id="implemented-features"></a>
459
+
460
+ ### Implemented features
461
+
462
+ - Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
463
+ libraries
464
+ - `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
465
+ compatibility
466
+ - `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
467
+ annotations for each service
468
+ - Generated `TypeDefs` for each service
469
+ - Generated `Literals` for each service
470
+ - Auto discovery of types for `boto3.client` and `boto3.resource` calls
471
+ - Auto discovery of types for `session.client` and `session.resource` calls
472
+ - Auto discovery of types for `client.get_waiter` and `client.get_paginator`
473
+ calls
474
+ - Auto discovery of types for `ServiceResource` and `Resource` collections
475
+ - Auto discovery of types for `aiobotocore.Session.create_client` calls
476
+
477
+ <a id="latest-changes"></a>
478
+
479
+ ### Latest changes
480
+
481
+ Builder changelog can be found in
482
+ [Releases](https://github.com/youtype/mypy_boto3_builder/releases).
483
+
484
+ <a id="versioning"></a>
485
+
486
+ ## Versioning
487
+
488
+ `types-boto3-dynamodb` version is the same as related `boto3` version and
489
+ follows [PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
490
+
491
+ <a id="thank-you"></a>
492
+
493
+ ## Thank you
494
+
495
+ - [Allie Fitter](https://github.com/alliefitter) for
496
+ [boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
497
+ this package is based on top of his work
498
+ - [black](https://github.com/psf/black) developers for an awesome formatting
499
+ tool
500
+ - [Timothy Edmund Crosley](https://github.com/timothycrosley) for
501
+ [isort](https://github.com/PyCQA/isort) and how flexible it is
502
+ - [mypy](https://github.com/python/mypy) developers for doing all dirty work
503
+ for us
504
+ - [pyright](https://github.com/microsoft/pyright) team for the new era of typed
505
+ Python
506
+
507
+ <a id="documentation"></a>
508
+
509
+ ## Documentation
510
+
511
+ All services type annotations can be found in
512
+ [boto3 docs](https://youtype.github.io/types_boto3_docs/types_boto3_dynamodb/)
513
+
514
+ <a id="support-and-contributing"></a>
515
+
516
+ ## Support and contributing
517
+
518
+ This package is auto-generated. Please reports any bugs or request new features
519
+ in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
520
+ repository.