mypy-boto3-workspaces-web 1.34.0__tar.gz → 1.36.0__tar.gz

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.
Files changed (30) hide show
  1. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/LICENSE +1 -1
  2. {mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web.egg-info → mypy_boto3_workspaces_web-1.36.0}/PKG-INFO +122 -28
  3. mypy-boto3-workspaces-web-1.34.0/PKG-INFO → mypy_boto3_workspaces_web-1.36.0/README.md +102 -54
  4. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/__init__.py +36 -0
  5. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/__init__.pyi +35 -0
  6. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/__main__.py +43 -0
  7. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/client.pyi → mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/client.py +393 -254
  8. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/client.py → mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/client.pyi +391 -258
  9. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/literals.pyi → mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/literals.py +61 -14
  10. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/literals.py → mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/literals.pyi +59 -16
  11. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/paginator.py +89 -0
  12. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/paginator.pyi +82 -0
  13. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/type_defs.py +1166 -0
  14. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/type_defs.pyi +1009 -0
  15. mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web/version.py +7 -0
  16. mypy-boto3-workspaces-web-1.34.0/README.md → mypy_boto3_workspaces_web-1.36.0/mypy_boto3_workspaces_web.egg-info/PKG-INFO +148 -21
  17. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/mypy_boto3_workspaces_web.egg-info/SOURCES.txt +2 -0
  18. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/mypy_boto3_workspaces_web.egg-info/requires.txt +1 -1
  19. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/setup.py +10 -13
  20. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/__init__.py +0 -23
  21. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/__init__.pyi +0 -22
  22. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/__main__.py +0 -39
  23. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/type_defs.py +0 -1151
  24. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/type_defs.pyi +0 -1150
  25. mypy-boto3-workspaces-web-1.34.0/mypy_boto3_workspaces_web/version.py +0 -5
  26. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/mypy_boto3_workspaces_web/py.typed +0 -0
  27. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/mypy_boto3_workspaces_web.egg-info/dependency_links.txt +0 -0
  28. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/mypy_boto3_workspaces_web.egg-info/not-zip-safe +0 -0
  29. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/mypy_boto3_workspaces_web.egg-info/top_level.txt +0 -0
  30. {mypy-boto3-workspaces-web-1.34.0 → mypy_boto3_workspaces_web-1.36.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 Vlad Emelianov
3
+ Copyright (c) 2025 Vlad Emelianov
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,7 +1,7 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: mypy-boto3-workspaces-web
3
- Version: 1.34.0
4
- Summary: Type annotations for boto3.WorkSpacesWeb 1.34.0 service generated with mypy-boto3-builder 7.21.0
3
+ Version: 1.36.0
4
+ Summary: Type annotations for boto3 WorkSpacesWeb 1.36.0 service generated with mypy-boto3-builder 8.8.0
5
5
  Home-page: https://github.com/youtype/mypy_boto3_builder
6
6
  Author: Vlad Emelianov
7
7
  Author-email: vlad.emelianov.nz@gmail.com
@@ -9,7 +9,7 @@ License: MIT License
9
9
  Project-URL: Documentation, https://youtype.github.io/boto3_stubs_docs/mypy_boto3_workspaces_web/
10
10
  Project-URL: Source, https://github.com/youtype/mypy_boto3_builder
11
11
  Project-URL: Tracker, https://github.com/youtype/mypy_boto3_builder/issues
12
- Keywords: boto3 workspaces-web type-annotations botocore mypy typeshed autocomplete
12
+ Keywords: boto3 workspaces-web boto3-stubs type-annotations mypy typeshed autocomplete
13
13
  Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Environment :: Console
@@ -17,53 +17,67 @@ Classifier: License :: OSI Approved :: MIT License
17
17
  Classifier: Natural Language :: English
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Programming Language :: Python :: 3
20
- Classifier: Programming Language :: Python :: 3.7
21
20
  Classifier: Programming Language :: Python :: 3.8
22
21
  Classifier: Programming Language :: Python :: 3.9
23
22
  Classifier: Programming Language :: Python :: 3.10
24
23
  Classifier: Programming Language :: Python :: 3.11
25
24
  Classifier: Programming Language :: Python :: 3.12
26
25
  Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: 3.14
27
27
  Classifier: Programming Language :: Python :: 3 :: Only
28
28
  Classifier: Programming Language :: Python :: Implementation :: CPython
29
- Classifier: Typing :: Typed
30
- Requires-Python: >=3.7
29
+ Classifier: Typing :: Stubs Only
30
+ Requires-Python: >=3.8
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
+ Requires-Dist: typing-extensions; python_version < "3.12"
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: description-content-type
39
+ Dynamic: home-page
40
+ Dynamic: keywords
41
+ Dynamic: license
42
+ Dynamic: project-url
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
33
46
 
34
47
  <a id="mypy-boto3-workspaces-web"></a>
35
48
 
36
49
  # mypy-boto3-workspaces-web
37
50
 
38
- [![PyPI - mypy-boto3-workspaces-web](https://img.shields.io/pypi/v/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web)
39
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web)
40
- [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_workspaces_web/)
41
- [![PyPI - Downloads](https://static.pepy.tech/badge/mypy-boto3-workspaces-web)](https://pepy.tech/project/mypy-boto3-workspaces-web)
51
+ [![PyPI - mypy-boto3-workspaces-web](https://img.shields.io/pypi/v/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web/)
52
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web/)
53
+ [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/)
54
+ [![PyPI - Downloads](https://static.pepy.tech/badge/mypy-boto3-workspaces-web)](https://pypistats.org/packages/mypy-boto3-workspaces-web)
42
55
 
43
56
  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
44
57
 
45
58
  Type annotations for
46
- [boto3.WorkSpacesWeb 1.34.0](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/workspaces-web.html#WorkSpacesWeb)
47
- service compatible with [VSCode](https://code.visualstudio.com/),
59
+ [boto3 WorkSpacesWeb 1.36.0](https://pypi.org/project/boto3/) compatible with
60
+ [VSCode](https://code.visualstudio.com/),
48
61
  [PyCharm](https://www.jetbrains.com/pycharm/),
49
62
  [Emacs](https://www.gnu.org/software/emacs/),
50
63
  [Sublime Text](https://www.sublimetext.com/),
51
64
  [mypy](https://github.com/python/mypy),
52
65
  [pyright](https://github.com/microsoft/pyright) and other tools.
53
66
 
54
- Generated by
55
- [mypy-boto3-builder 7.21.0](https://github.com/youtype/mypy_boto3_builder).
67
+ Generated with
68
+ [mypy-boto3-builder 8.8.0](https://github.com/youtype/mypy_boto3_builder).
56
69
 
57
70
  More information can be found on
58
71
  [boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
59
72
  [mypy-boto3-workspaces-web docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_workspaces_web/).
60
73
 
61
- See how it helps to find and fix potential bugs:
74
+ See how it helps you find and fix potential bugs:
62
75
 
63
- ![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
76
+ ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
64
77
 
65
78
  - [mypy-boto3-workspaces-web](#mypy-boto3-workspaces-web)
66
79
  - [How to install](#how-to-install)
80
+ - [Generate locally (recommended)](<#generate-locally-(recommended)>)
67
81
  - [VSCode extension](#vscode-extension)
68
82
  - [From PyPI with pip](#from-pypi-with-pip)
69
83
  - [How to uninstall](#how-to-uninstall)
@@ -75,8 +89,10 @@ See how it helps to find and fix potential bugs:
75
89
  - [Other IDEs](#other-ides)
76
90
  - [mypy](#mypy)
77
91
  - [pyright](#pyright)
92
+ - [Pylint compatibility](#pylint-compatibility)
78
93
  - [Explicit type annotations](#explicit-type-annotations)
79
94
  - [Client annotations](#client-annotations)
95
+ - [Paginators annotations](#paginators-annotations)
80
96
  - [Literals](#literals)
81
97
  - [Type definitions](#type-definitions)
82
98
  - [How it works](#how-it-works)
@@ -92,6 +108,21 @@ See how it helps to find and fix potential bugs:
92
108
 
93
109
  ## How to install
94
110
 
111
+ <a id="generate-locally-(recommended)"></a>
112
+
113
+ ### Generate locally (recommended)
114
+
115
+ You can generate type annotations for `boto3` package locally with
116
+ `mypy_boto3_builder`. Use
117
+ [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
118
+ isolation.
119
+
120
+ 1. Run mypy-boto3-builder in your package root directory:
121
+ `uvx --with 'boto3==1.36.0' mypy_boto3_builder`
122
+ 2. Select `boto3-stubs` AWS SDK.
123
+ 3. Add `WorkSpacesWeb` service.
124
+ 4. Use provided commands to install generated packages.
125
+
95
126
  <a id="vscode-extension"></a>
96
127
 
97
128
  ### VSCode extension
@@ -112,12 +143,10 @@ Install `boto3-stubs` for `WorkSpacesWeb` service.
112
143
  # install with boto3 type annotations
113
144
  python -m pip install 'boto3-stubs[workspaces-web]'
114
145
 
115
-
116
146
  # Lite version does not provide session.client/resource overloads
117
147
  # it is more RAM-friendly, but requires explicit type annotations
118
148
  python -m pip install 'boto3-stubs-lite[workspaces-web]'
119
149
 
120
-
121
150
  # standalone installation
122
151
  python -m pip install mypy-boto3-workspaces-web
123
152
  ```
@@ -156,16 +185,31 @@ annotations required, write your `boto3` code as usual.
156
185
 
157
186
  ### PyCharm
158
187
 
159
- Install `boto3-stubs-lite[workspaces-web]` in your environment:
188
+ > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
189
+ > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
190
+ > to use [boto3-stubs-lite](https://pypi.org/project/boto3-stubs-lite/) until
191
+ > the issue is resolved.
192
+
193
+ > ⚠️ If you experience slow performance and high CPU usage, try to disable
194
+ > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
195
+ > [pyright](https://github.com/microsoft/pyright) instead.
196
+
197
+ > ⚠️ To continue using `PyCharm` type checker, you can try to replace
198
+ > `boto3-stubs` with
199
+ > [boto3-stubs-lite](https://pypi.org/project/boto3-stubs-lite/):
160
200
 
161
201
  ```bash
162
- python -m pip install 'boto3-stubs-lite[workspaces-web]'`
202
+ pip uninstall boto3-stubs
203
+ pip install boto3-stubs-lite
163
204
  ```
164
205
 
165
- Both type checking and code completion should now work. Explicit type
166
- annotations **are required**.
206
+ Install `boto3-stubs[workspaces-web]` in your environment:
167
207
 
168
- Use `boto3-stubs` package instead for implicit type discovery.
208
+ ```bash
209
+ python -m pip install 'boto3-stubs[workspaces-web]'
210
+ ```
211
+
212
+ Both type checking and code completion should now work.
169
213
 
170
214
  <a id="emacs"></a>
171
215
 
@@ -230,7 +274,7 @@ should work.
230
274
  - Install `boto3-stubs[workspaces-web]` in your environment:
231
275
 
232
276
  ```bash
233
- python -m pip install 'boto3-stubs[workspaces-web]'`
277
+ python -m pip install 'boto3-stubs[workspaces-web]'
234
278
  ```
235
279
 
236
280
  Type checking should now work. No explicit type annotations required, write
@@ -247,11 +291,36 @@ your `boto3` code as usual.
247
291
  python -m pip install 'boto3-stubs[workspaces-web]'
248
292
  ```
249
293
 
250
- Optionally, you can install `boto3-stubs` to `typings` folder.
294
+ Optionally, you can install `boto3-stubs` to `typings` directory.
251
295
 
252
296
  Type checking should now work. No explicit type annotations required, write
253
297
  your `boto3` code as usual.
254
298
 
299
+ <a id="pylint-compatibility"></a>
300
+
301
+ ### Pylint compatibility
302
+
303
+ It is totally safe to use `TYPE_CHECKING` flag in order to avoid
304
+ `mypy-boto3-workspaces-web` dependency in production. However, there is an
305
+ issue in `pylint` that it complains about undefined variables. To fix it, set
306
+ all types to `object` in non-`TYPE_CHECKING` mode.
307
+
308
+ ```python
309
+ from typing import TYPE_CHECKING
310
+
311
+ if TYPE_CHECKING:
312
+ from mypy_boto3_ec2 import EC2Client, EC2ServiceResource
313
+ from mypy_boto3_ec2.waiters import BundleTaskCompleteWaiter
314
+ from mypy_boto3_ec2.paginators import DescribeVolumesPaginator
315
+ else:
316
+ EC2Client = object
317
+ EC2ServiceResource = object
318
+ BundleTaskCompleteWaiter = object
319
+ DescribeVolumesPaginator = object
320
+
321
+ ...
322
+ ```
323
+
255
324
  <a id="explicit-type-annotations"></a>
256
325
 
257
326
  ## Explicit type annotations
@@ -273,6 +342,32 @@ client: WorkSpacesWebClient = Session().client("workspaces-web")
273
342
  # now client usage is checked by mypy and IDE should provide code completion
274
343
  ```
275
344
 
345
+ <a id="paginators-annotations"></a>
346
+
347
+ ### Paginators annotations
348
+
349
+ `mypy_boto3_workspaces_web.paginator` module contains type annotations for all
350
+ paginators.
351
+
352
+ ```python
353
+ from boto3.session import Session
354
+
355
+ from mypy_boto3_workspaces_web import WorkSpacesWebClient
356
+ from mypy_boto3_workspaces_web.paginator import (
357
+ ListDataProtectionSettingsPaginator,
358
+ ListSessionsPaginator,
359
+ )
360
+
361
+ client: WorkSpacesWebClient = Session().client("workspaces-web")
362
+
363
+ # Explicit type annotations are optional here
364
+ # Types should be correctly discovered by mypy and IDEs
365
+ list_data_protection_settings_paginator: ListDataProtectionSettingsPaginator = client.get_paginator(
366
+ "list_data_protection_settings"
367
+ )
368
+ list_sessions_paginator: ListSessionsPaginator = client.get_paginator("list_sessions")
369
+ ```
370
+
276
371
  <a id="literals"></a>
277
372
 
278
373
  ### Literals
@@ -322,8 +417,7 @@ updates. It delivers drop-in type annotations for you and makes sure that:
322
417
  annotations extracted from `botocore` schemas.
323
418
  - Type annotations include up-to-date documentation.
324
419
  - Link to documentation is provided for every method.
325
- - Code is processed by [black](https://github.com/psf/black) and
326
- [isort](https://github.com/PyCQA/isort) for readability.
420
+ - Code is processed by [ruff](https://docs.astral.sh/ruff/) for readability.
327
421
 
328
422
  <a id="what's-new"></a>
329
423
 
@@ -1,69 +1,37 @@
1
- Metadata-Version: 2.1
2
- Name: mypy-boto3-workspaces-web
3
- Version: 1.34.0
4
- Summary: Type annotations for boto3.WorkSpacesWeb 1.34.0 service generated with mypy-boto3-builder 7.21.0
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/boto3_stubs_docs/mypy_boto3_workspaces_web/
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 workspaces-web 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.7
21
- Classifier: Programming Language :: Python :: 3.8
22
- Classifier: Programming Language :: Python :: 3.9
23
- Classifier: Programming Language :: Python :: 3.10
24
- Classifier: Programming Language :: Python :: 3.11
25
- Classifier: Programming Language :: Python :: 3.12
26
- Classifier: Programming Language :: Python :: 3.13
27
- Classifier: Programming Language :: Python :: 3 :: Only
28
- Classifier: Programming Language :: Python :: Implementation :: CPython
29
- Classifier: Typing :: Typed
30
- Requires-Python: >=3.7
31
- Description-Content-Type: text/markdown
32
- License-File: LICENSE
33
-
34
1
  <a id="mypy-boto3-workspaces-web"></a>
35
2
 
36
3
  # mypy-boto3-workspaces-web
37
4
 
38
- [![PyPI - mypy-boto3-workspaces-web](https://img.shields.io/pypi/v/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web)
39
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web)
40
- [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_workspaces_web/)
41
- [![PyPI - Downloads](https://static.pepy.tech/badge/mypy-boto3-workspaces-web)](https://pepy.tech/project/mypy-boto3-workspaces-web)
5
+ [![PyPI - mypy-boto3-workspaces-web](https://img.shields.io/pypi/v/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web/)
6
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-workspaces-web.svg?color=blue)](https://pypi.org/project/mypy-boto3-workspaces-web/)
7
+ [![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/)
8
+ [![PyPI - Downloads](https://static.pepy.tech/badge/mypy-boto3-workspaces-web)](https://pypistats.org/packages/mypy-boto3-workspaces-web)
42
9
 
43
10
  ![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
44
11
 
45
12
  Type annotations for
46
- [boto3.WorkSpacesWeb 1.34.0](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/workspaces-web.html#WorkSpacesWeb)
47
- service compatible with [VSCode](https://code.visualstudio.com/),
13
+ [boto3 WorkSpacesWeb 1.36.0](https://pypi.org/project/boto3/) compatible with
14
+ [VSCode](https://code.visualstudio.com/),
48
15
  [PyCharm](https://www.jetbrains.com/pycharm/),
49
16
  [Emacs](https://www.gnu.org/software/emacs/),
50
17
  [Sublime Text](https://www.sublimetext.com/),
51
18
  [mypy](https://github.com/python/mypy),
52
19
  [pyright](https://github.com/microsoft/pyright) and other tools.
53
20
 
54
- Generated by
55
- [mypy-boto3-builder 7.21.0](https://github.com/youtype/mypy_boto3_builder).
21
+ Generated with
22
+ [mypy-boto3-builder 8.8.0](https://github.com/youtype/mypy_boto3_builder).
56
23
 
57
24
  More information can be found on
58
25
  [boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
59
26
  [mypy-boto3-workspaces-web docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_workspaces_web/).
60
27
 
61
- See how it helps to find and fix potential bugs:
28
+ See how it helps you find and fix potential bugs:
62
29
 
63
- ![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
30
+ ![types-boto3 demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
64
31
 
65
32
  - [mypy-boto3-workspaces-web](#mypy-boto3-workspaces-web)
66
33
  - [How to install](#how-to-install)
34
+ - [Generate locally (recommended)](<#generate-locally-(recommended)>)
67
35
  - [VSCode extension](#vscode-extension)
68
36
  - [From PyPI with pip](#from-pypi-with-pip)
69
37
  - [How to uninstall](#how-to-uninstall)
@@ -75,8 +43,10 @@ See how it helps to find and fix potential bugs:
75
43
  - [Other IDEs](#other-ides)
76
44
  - [mypy](#mypy)
77
45
  - [pyright](#pyright)
46
+ - [Pylint compatibility](#pylint-compatibility)
78
47
  - [Explicit type annotations](#explicit-type-annotations)
79
48
  - [Client annotations](#client-annotations)
49
+ - [Paginators annotations](#paginators-annotations)
80
50
  - [Literals](#literals)
81
51
  - [Type definitions](#type-definitions)
82
52
  - [How it works](#how-it-works)
@@ -92,6 +62,21 @@ See how it helps to find and fix potential bugs:
92
62
 
93
63
  ## How to install
94
64
 
65
+ <a id="generate-locally-(recommended)"></a>
66
+
67
+ ### Generate locally (recommended)
68
+
69
+ You can generate type annotations for `boto3` package locally with
70
+ `mypy_boto3_builder`. Use
71
+ [uv](https://docs.astral.sh/uv/getting-started/installation/) for build
72
+ isolation.
73
+
74
+ 1. Run mypy-boto3-builder in your package root directory:
75
+ `uvx --with 'boto3==1.36.0' mypy_boto3_builder`
76
+ 2. Select `boto3-stubs` AWS SDK.
77
+ 3. Add `WorkSpacesWeb` service.
78
+ 4. Use provided commands to install generated packages.
79
+
95
80
  <a id="vscode-extension"></a>
96
81
 
97
82
  ### VSCode extension
@@ -112,12 +97,10 @@ Install `boto3-stubs` for `WorkSpacesWeb` service.
112
97
  # install with boto3 type annotations
113
98
  python -m pip install 'boto3-stubs[workspaces-web]'
114
99
 
115
-
116
100
  # Lite version does not provide session.client/resource overloads
117
101
  # it is more RAM-friendly, but requires explicit type annotations
118
102
  python -m pip install 'boto3-stubs-lite[workspaces-web]'
119
103
 
120
-
121
104
  # standalone installation
122
105
  python -m pip install mypy-boto3-workspaces-web
123
106
  ```
@@ -156,16 +139,31 @@ annotations required, write your `boto3` code as usual.
156
139
 
157
140
  ### PyCharm
158
141
 
159
- Install `boto3-stubs-lite[workspaces-web]` in your environment:
142
+ > ⚠️ Due to slow PyCharm performance on `Literal` overloads (issue
143
+ > [PY-40997](https://youtrack.jetbrains.com/issue/PY-40997)), it is recommended
144
+ > to use [boto3-stubs-lite](https://pypi.org/project/boto3-stubs-lite/) until
145
+ > the issue is resolved.
146
+
147
+ > ⚠️ If you experience slow performance and high CPU usage, try to disable
148
+ > `PyCharm` type checker and use [mypy](https://github.com/python/mypy) or
149
+ > [pyright](https://github.com/microsoft/pyright) instead.
150
+
151
+ > ⚠️ To continue using `PyCharm` type checker, you can try to replace
152
+ > `boto3-stubs` with
153
+ > [boto3-stubs-lite](https://pypi.org/project/boto3-stubs-lite/):
160
154
 
161
155
  ```bash
162
- python -m pip install 'boto3-stubs-lite[workspaces-web]'`
156
+ pip uninstall boto3-stubs
157
+ pip install boto3-stubs-lite
163
158
  ```
164
159
 
165
- Both type checking and code completion should now work. Explicit type
166
- annotations **are required**.
160
+ Install `boto3-stubs[workspaces-web]` in your environment:
161
+
162
+ ```bash
163
+ python -m pip install 'boto3-stubs[workspaces-web]'
164
+ ```
167
165
 
168
- Use `boto3-stubs` package instead for implicit type discovery.
166
+ Both type checking and code completion should now work.
169
167
 
170
168
  <a id="emacs"></a>
171
169
 
@@ -230,7 +228,7 @@ should work.
230
228
  - Install `boto3-stubs[workspaces-web]` in your environment:
231
229
 
232
230
  ```bash
233
- python -m pip install 'boto3-stubs[workspaces-web]'`
231
+ python -m pip install 'boto3-stubs[workspaces-web]'
234
232
  ```
235
233
 
236
234
  Type checking should now work. No explicit type annotations required, write
@@ -247,11 +245,36 @@ your `boto3` code as usual.
247
245
  python -m pip install 'boto3-stubs[workspaces-web]'
248
246
  ```
249
247
 
250
- Optionally, you can install `boto3-stubs` to `typings` folder.
248
+ Optionally, you can install `boto3-stubs` to `typings` directory.
251
249
 
252
250
  Type checking should now work. No explicit type annotations required, write
253
251
  your `boto3` code as usual.
254
252
 
253
+ <a id="pylint-compatibility"></a>
254
+
255
+ ### Pylint compatibility
256
+
257
+ It is totally safe to use `TYPE_CHECKING` flag in order to avoid
258
+ `mypy-boto3-workspaces-web` dependency in production. However, there is an
259
+ issue in `pylint` that it complains about undefined variables. To fix it, set
260
+ all types to `object` in non-`TYPE_CHECKING` mode.
261
+
262
+ ```python
263
+ from typing import TYPE_CHECKING
264
+
265
+ if TYPE_CHECKING:
266
+ from mypy_boto3_ec2 import EC2Client, EC2ServiceResource
267
+ from mypy_boto3_ec2.waiters import BundleTaskCompleteWaiter
268
+ from mypy_boto3_ec2.paginators import DescribeVolumesPaginator
269
+ else:
270
+ EC2Client = object
271
+ EC2ServiceResource = object
272
+ BundleTaskCompleteWaiter = object
273
+ DescribeVolumesPaginator = object
274
+
275
+ ...
276
+ ```
277
+
255
278
  <a id="explicit-type-annotations"></a>
256
279
 
257
280
  ## Explicit type annotations
@@ -273,6 +296,32 @@ client: WorkSpacesWebClient = Session().client("workspaces-web")
273
296
  # now client usage is checked by mypy and IDE should provide code completion
274
297
  ```
275
298
 
299
+ <a id="paginators-annotations"></a>
300
+
301
+ ### Paginators annotations
302
+
303
+ `mypy_boto3_workspaces_web.paginator` module contains type annotations for all
304
+ paginators.
305
+
306
+ ```python
307
+ from boto3.session import Session
308
+
309
+ from mypy_boto3_workspaces_web import WorkSpacesWebClient
310
+ from mypy_boto3_workspaces_web.paginator import (
311
+ ListDataProtectionSettingsPaginator,
312
+ ListSessionsPaginator,
313
+ )
314
+
315
+ client: WorkSpacesWebClient = Session().client("workspaces-web")
316
+
317
+ # Explicit type annotations are optional here
318
+ # Types should be correctly discovered by mypy and IDEs
319
+ list_data_protection_settings_paginator: ListDataProtectionSettingsPaginator = client.get_paginator(
320
+ "list_data_protection_settings"
321
+ )
322
+ list_sessions_paginator: ListSessionsPaginator = client.get_paginator("list_sessions")
323
+ ```
324
+
276
325
  <a id="literals"></a>
277
326
 
278
327
  ### Literals
@@ -322,8 +371,7 @@ updates. It delivers drop-in type annotations for you and makes sure that:
322
371
  annotations extracted from `botocore` schemas.
323
372
  - Type annotations include up-to-date documentation.
324
373
  - Link to documentation is provided for every method.
325
- - Code is processed by [black](https://github.com/psf/black) and
326
- [isort](https://github.com/PyCQA/isort) for readability.
374
+ - Code is processed by [ruff](https://docs.astral.sh/ruff/) for readability.
327
375
 
328
376
  <a id="what's-new"></a>
329
377
 
@@ -0,0 +1,36 @@
1
+ """
2
+ Main interface for workspaces-web service.
3
+
4
+ Usage::
5
+
6
+ ```python
7
+ from boto3.session import Session
8
+ from mypy_boto3_workspaces_web import (
9
+ Client,
10
+ ListDataProtectionSettingsPaginator,
11
+ ListSessionsPaginator,
12
+ WorkSpacesWebClient,
13
+ )
14
+
15
+ session = Session()
16
+ client: WorkSpacesWebClient = session.client("workspaces-web")
17
+
18
+ list_data_protection_settings_paginator: ListDataProtectionSettingsPaginator = client.get_paginator("list_data_protection_settings")
19
+ list_sessions_paginator: ListSessionsPaginator = client.get_paginator("list_sessions")
20
+ ```
21
+
22
+ Copyright 2025 Vlad Emelianov
23
+ """
24
+
25
+ from .client import WorkSpacesWebClient
26
+ from .paginator import ListDataProtectionSettingsPaginator, ListSessionsPaginator
27
+
28
+ Client = WorkSpacesWebClient
29
+
30
+
31
+ __all__ = (
32
+ "Client",
33
+ "ListDataProtectionSettingsPaginator",
34
+ "ListSessionsPaginator",
35
+ "WorkSpacesWebClient",
36
+ )
@@ -0,0 +1,35 @@
1
+ """
2
+ Main interface for workspaces-web service.
3
+
4
+ Usage::
5
+
6
+ ```python
7
+ from boto3.session import Session
8
+ from mypy_boto3_workspaces_web import (
9
+ Client,
10
+ ListDataProtectionSettingsPaginator,
11
+ ListSessionsPaginator,
12
+ WorkSpacesWebClient,
13
+ )
14
+
15
+ session = Session()
16
+ client: WorkSpacesWebClient = session.client("workspaces-web")
17
+
18
+ list_data_protection_settings_paginator: ListDataProtectionSettingsPaginator = client.get_paginator("list_data_protection_settings")
19
+ list_sessions_paginator: ListSessionsPaginator = client.get_paginator("list_sessions")
20
+ ```
21
+
22
+ Copyright 2025 Vlad Emelianov
23
+ """
24
+
25
+ from .client import WorkSpacesWebClient
26
+ from .paginator import ListDataProtectionSettingsPaginator, ListSessionsPaginator
27
+
28
+ Client = WorkSpacesWebClient
29
+
30
+ __all__ = (
31
+ "Client",
32
+ "ListDataProtectionSettingsPaginator",
33
+ "ListSessionsPaginator",
34
+ "WorkSpacesWebClient",
35
+ )
@@ -0,0 +1,43 @@
1
+ """
2
+ Main CLI entrypoint.
3
+
4
+ Copyright 2025 Vlad Emelianov
5
+ """
6
+
7
+ import sys
8
+
9
+
10
+ def print_info() -> None:
11
+ """
12
+ Print package info to stdout.
13
+ """
14
+ sys.stdout.write(
15
+ "Type annotations for boto3 WorkSpacesWeb 1.36.0\n"
16
+ "Version: 1.36.0\n"
17
+ "Builder version: 8.8.0\n"
18
+ "Docs: https://youtype.github.io/boto3_stubs_docs/mypy_boto3_workspaces_web//\n"
19
+ "Boto3 docs: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/workspaces-web.html#workspacesweb\n"
20
+ "Other services: https://pypi.org/project/boto3-stubs/\n"
21
+ "Changelog: https://github.com/youtype/mypy_boto3_builder/releases\n"
22
+ )
23
+
24
+
25
+ def print_version() -> None:
26
+ """
27
+ Print package version to stdout.
28
+ """
29
+ sys.stdout.write("1.36.0\n")
30
+
31
+
32
+ def main() -> None:
33
+ """
34
+ Main CLI entrypoint.
35
+ """
36
+ if "--version" in sys.argv:
37
+ print_version()
38
+ return
39
+ print_info()
40
+
41
+
42
+ if __name__ == "__main__":
43
+ main()