Mypy-boto3-builder

Latest version: v8.9.0

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

Scan your dependencies

Page 1 of 36

8.9.0

Changed
- `[services]` TypeDefs for packed method arguments use shorter names if possible `CreateDistributionRequestRequestTypeDef` -> `CreateDistributionRequestTypeDef` (⚠️ breaking change)
- `[services]` Conflicting TypeDef `Extra` postfix moved to the end: `CreateDistributionExtraRequestTypeDef` -> `CreateDistributionRequestExtraTypeDef` (⚠️ breaking change)
- `[builder]` Legacy `mypy-boto3` moved to a separate product and is no longer generated along with `boto3-stubs`
- `[builder]` Improved logging, thanks to `loguru`

Fixed
- `[services]` All method arguments accept output types as input (reported by chaos95 in 348)
- `[builder]` Input types replacement with `input | output` unions is significantly faster
- `[builder]` Refactored generation to respect all `ruff` formatting rules
- `[builder]` Added a check that all generated classes are usable in runtime
- `[builder]` Exceptions are no longer silent in `--debug` mode
- `[builder]` Stubbed methods no longer produce clashing TypedDict names
- `[builder]` Async methods were leaking to non-async libraries products if built on the same run

8.8.0

Changed
- `[services]` `install_requires` section is calculated based on dependencies in use, so `typing-extensions` version is set properly
- `[all]` Replaced `typing` imports with `collections.abc` with a fallback to `typing` for Python <3.9
- `[all]` Added aliases for `builtins.list`, `builtins.set`, `builtins.dict`, and `builtins.type`, so Python 3.8 runtime should work as expected again (reported by YHallouard in 340 and Omri-Ben-Yair in 336)
- `[all]` Unions use the same type annotations as the rest of the structures due to proper fallbacks

Fixed
- `[services]` Universal input/output shapes were not replaced properly in service subresources
- `[docs]` Simplified doc links rendering for services
- `[services]` Cleaned up unnecessary imports in `client.pyi`
- `[builder]` Import records with fallback are always rendered

8.7.1

Fixed
- `[aioboto3]` All extras use `aiobotocore` version requirements, not `aioboto3` (reported by dacevedo12 in 338)
- `[aiobotocore]` All `boto3` imports fallback to `object` (reported by dmkulazhenko in 337)
- `[builder]` `install_requires` is automatically generated for all packages
- `[builder]` Removed unused templates

Updated packages
- `types-aioboto3-lite 13.3.0.post1`
- `types-aioboto3 13.3.0.post1`
- `types-aiobotocore-s3 2.16.1.post1`

8.7.0

Highlights

- All packages can be build within 3 minutes
- New ChatBot interface: `uvx mypy_boto3_builder`
- All packages use new syntax for type annotations

Added
- `[services]` All generated modules use `__future__.annotations`
- `[services]` Support future type annotations in all generated files
- `[services]` `type: ignore` comments always have a specific type
- `[builder]` Added support for `Generic` base classes usage (used in updated `Paginator` class)

Changed
- `[services]` `Paginator.paginate` `**kwargs: Unpack[<name>]` naming changed to a shorter variant (⚠breaking change)
- `[services]` `Paginator.wait` `**kwargs: Unpack[<name>]` naming changed to a shorter variant (⚠breaking change)
- `[services]` Subscripts are no longer stringified
- `[services]` Subresources are sorted alphabetically, removed pseudo-topological sorting
- `[services]` Replaced `Optional[...]` with `... | None`
- `[services]` Replaced inline `Union` with a new `X | Y` syntax (named Unions preserve old style for `python<3.10` compatibility)
- `[services]` Replaced `typing.Dict`/`List`/`type` with `builtins` equivalients
- `[services]` Replaced `typing.Set` with `builtins.set` (currently unused in `botocore`)
- `[aiobotocore-services]` Importing `<service>.service_resourse` is no longer safe when `boto3` and `aioboto3` are not installed (⚠breaking change)
- `[all]` All annotations synced from static stubs
- `[chat]` Fully migrated to `prompt_toolkit` styles
- `[chat]` Added new select and multiselect UI
- `[builder]` Optimized type replacement (e.g. `quicksight` parsing is now 10 times faster)

Fixed
- `[services]` Docstring headers for generated files were not formatted properly
- `[builder]` Unnamed `Union` returns correct required imports for rendering
- `[services]` `BotocoreClientError` is no longer generated, using `botocore.exceptions.ClientError` instead
- `[services]` `Client.close` method is no longer generated, inherited from static stubs instead
- `[services]` `Client.exceptions` is inherited from `BaseClientExceptions`
- `[services]` `Paginator` is inherited from `botocore.paginate.Paginator`
- `[services]` Conditional imports marked with ` type: ignore[assignment]` for better `mypy` support
- `[aiobotocore-services]` Fixed `Paginator.paginate` method return type
- `[aioboto3]` `[aiobotocore]` `boto3`/`botocore` imports are now replaced with `aioboto3`/`aiobotocore` imports in `Session` as well
- `[builder]` Unnamed `Union` returns correct required imports for rendering
- `[sms-voice]` Service class name changed from duplicated `PinpointSMSVoice` to `SMSVoice`

8.6.4

Fixed
- `[s3]` `ContentMD5` argument for `Object.put` restored (reported by rpmrmartin in 332)

Updated packages
- `mypy-boto3-s3 1.35.81`
- `types-aiobotocore-s3 2.15.2.post3`
- `types-boto3-s3 1.35.81`

8.6.3

Fixed
- `[s3]` `ContentMD5` argument is no longer globally removed, only for specific methods (reported by kveretennicov in 332)

Updated packages
- `mypy-boto3-s3 1.35.76.post1`
- `types-boto3-s3 1.35.76.post1`

Page 1 of 36

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.