Mypy-boto3

Latest version: v1.37.0

Safety actively analyzes 715032 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 26 of 37

4.22.0

Added
- `[boto3-stubs]` Fully annotated `boto3.s3.transfer`

Changed
- `[services]` `Client` is subclassed from `botocore.client.BaseClient` for compatibility with `botocore-stubs`
- `[services]` `Client.exceptions` is typed as a property as it should be

Fixed
- `[services]` Collections bases used to be loosely typed, now they are compatible with `botocore-stubs`
- `[botocore-stubs]` `BaseClient.get_waiter` annotation was not compatible with `boto3-stubs`
- `[botocore-stubs]` `BaseClient.get_paginator` annotation was not compatible with `boto3-stubs`
- `[botocore-stubs]` Removed `BaseClient.__getattr__` annotation because it hides `hash no attribute` type checking error
- `[botocore-stubs]` `ResourceCollection.__iter__` annotation was incorrect, now returns `Iterator[Resource]`
- `[builder]` Uses stricter output packages type checking with `pyright`
- `[builder]` Incorrect URLs to README images on PyPI page

4.21.0

Notes

TypeDefs changes introduced in `4.19.0` were too dramatic. In order to keep the package as backward-compatible as possible, TypeDefs changes are reverted.

Unfortunately, there is no way to keep things as they were because older versions used to add `ResponseMetadata` to TypeDefs that do not include it. So, this version adds `ResponseMetadataTypeDef` postfix to Response TypeDef only if there is a conflict. So, it should still be way closer to pre-`4.19.0` releases.

New packages `boto3-stubs 1.17.101.post2` and `boto3-stubs 1.17.102.post1` will be released shortly after.

Changed
- `[services]` Reverted `ResponseTypeDef` postfix for all Response Shapes from `4.19.0`
- `[services]` If both Shape and Response Shape are required, Response TypeDef gets `ResponseMetadataTypeDef` postfix

4.20.0

Added
- `[docs]` Added a short docstring to all annotated public methods

Changed
- `[services]` Request `datetime` arguments can be passed as timestamp `str` as long as `botocore` allows it
- `[services]` Response `blob` arguments always have a strict `bytes` or `StreamingBody` type
- `[docker]` Rebased to Alpine 3.13 and reduced image size

Fixed
- `[builder]` Removed outdated `setuptools` packaging
- `[builder]` Fixed missing package info on PyPI page
- `[builder]` Enforced `pyright` typing check
- `[docs]` Anchor links to `boto3` waiters documentation were incorrect

4.19.0

Notes

This version has a breaking change. If you use `type_defs.py` imports to annotate your code, you might have to change response type defs imports, e.g. `CopyObjectOutputTypeDef` -> `CopyObjectOutputResponseTypeDef`

Changes
Added
- `[services]` All methods now have Request TypeDefs to validate arguments passed as a Mapping
- `[services]` Client Request TypeDefs have `RequestTypeDef` name postfix
- `[services]` Resource Request TypeDefs have `<resource_name>RequestTypeDef` name postfix
- `[docs]` Methods have a link to Request TypeDef if it exists

Changed
- `[builder]` Response TypeDefs have `ResponseTypeDef` postfix to avoid name clash

Fixed
- `[services]` Output shapes are recognized by origin instead of name
- `[sagemaker]` `ResponseMetadata` does not appear in non-output shapes
- `[cognito-identity]` Name clash for `IdentityPoolTypeDef`, splitted to `IdentityPoolTypeDef` and `IdentityPoolResponseTypeDef`
- `[builder]` Validation for package name clashes was not working as expected
- `[services]` Slow-parsed methods are now keyword-only as well
- `[services]` Resource constructor methods are not keyword-only anymore, as `boto3` allows positional arguments

4.18.4

Fixed
- `[s3]` Allow `StreamingBody` for blob-type arguments. Potentially affects other services.

4.18.3

Fixed
- `[botocore-stubs]` prevent import of Typed Dicts from `exceptions` module
- `[botocore-stubs]` narrowed down stubs for `auth` module
- `[botocore-stubs]` narrowed down stubs for `client` module
- `[botocore-stubs]` narrowed down stubs for `errorfactory` module
- `[botocore-stubs]` narrowed down stubs for `regions` module
- `[botocore-stubs]` narrowed down stubs for `parsers` module
- `[botocore-stubs]` narrowed down stubs for `history` module
- `[botocore-stubs]` narrowed down stubs for `retryhandler` module
- `[builder]` added missing docstrings
- `[services]` unnamed literals should always have a valid PEP8 class name

Page 26 of 37

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.