Install & Compatibility
Where this runs
tested against v1.43.82 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 19.4MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 1.6s · import 0.000s · 20MB
17MB installed
● package 17MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
RDSClient
✓ from types_boto3_rds import RDSClient
✗ from types_boto3_rds.client import RDSClient
This quickstart demonstrates how to obtain a type-hinted RDS client and use it to list DB instances, leveraging the type definitions provided by `types-boto3-rds`.
import boto3
from typing import TYPE_CHECKING, List
import os
if TYPE_CHECKING:
from types_boto3_rds.client import RDSClient
from types_boto3_rds.type_defs import DBInstanceTypeDef, DescribeDBInstancesOutputTypeDef
def get_typed_rds_client() -> "RDSClient":
"""Returns a type-hinted RDS client."""
# AWS credentials typically managed by boto3's default credential chain
# or environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION)
# Example of setting region via environment variable for client creation:
aws_region = os.environ.get('AWS_REGION', 'us-east-1')
return boto3.client("rds", region_name=aws_region)
def list_db_instances_typed() -> List["DBInstanceTypeDef"]:
"""Lists all available DB instances with type hints."""
rds_client: "RDSClient" = get_typed_rds_client()
try:
response: "DescribeDBInstancesOutputTypeDef" = rds_client.describe_db_instances()
db_instances: List["DBInstanceTypeDef"] = response.get("DBInstances", [])
print(f"Found {len(db_instances)} DB instances:")
for instance in db_instances:
print(f"- Identifier: {instance.get('DBInstanceIdentifier')}, Status: {instance.get('DBInstanceStatus')}, Engine: {instance.get('Engine')}")
return db_instances
except Exception as e:
print(f"Error describing DB instances: {e}")
return []
if __name__ == "__main__":
# Set a dummy region for local testing if not already set
if 'AWS_REGION' not in os.environ:
os.environ['AWS_REGION'] = 'us-east-1'
list_db_instances_typed()
Debug
Known issues
breakingPython 3.8 support was removed for all `mypy-boto3-builder` generated packages, including `types-boto3-rds`, starting with builder version 8.12.0. The package now requires Python 3.9 or newer.fixUpgrade your Python environment to 3.9 or higher.
affects: mypy-boto3-builder >= 8.12.0
breakingThe `mypy-boto3-builder` (version 8.9.0) changed TypeDef naming conventions, potentially shortening names for packed method arguments (e.g., `CreateDistributionRequestRequestTypeDef` to `CreateDistributionRequestTypeDef`). If you were explicitly referencing the older, longer TypeDef names, your code may break.fixReview and update TypeDef import paths and names in your codebase according to the new naming conventions, consulting the `types-boto3` documentation for the specific service.
affects: mypy-boto3-builder >= 8.9.0
gotchaWhen using `mypy-boto3` type stubs (including `types-boto3-rds`) with Pylint, it might report undefined variables if types are imported directly. To avoid this and ensure compatibility in production environments where stubs are not installed, wrap type imports within a `typing.TYPE_CHECKING` block.fixUse `if TYPE_CHECKING:` guards around your type imports. Example: `from typing import TYPE_CHECKING; if TYPE_CHECKING: from types_boto3_rds.client import RDSClient`.
affects: All versions
gotchaPyCharm users might experience slow performance with Literal overloads in type stubs. For improved IDE performance, consider using the `types-boto3-lite` variants of the packages, which provide a more RAM-friendly experience at the cost of requiring more explicit type annotations.fixIf experiencing performance issues in PyCharm, try installing `types-boto3-lite[rds]` instead of `types-boto3-rds`.
affects: All versions
deprecatedThis library is the successor to `boto3-stubs`. If you are migrating from `boto3-stubs` or `mypy-boto3` packages, you need to replace `boto3-stubs` dependencies with `types-boto3` and adjust import paths from `mypy_boto3_<service>` to `types_boto3_<service>`.fixUpdate your `pip install` commands to `types-boto3-rds` and modify import statements (e.g., `from mypy_boto3_rds.client import RDSClient` becomes `from types_boto3_rds.client import RDSClient`).
affects: Prior to types-boto3 adoption
Upgrade
Version history
1.43.82latest on PyPI · released Aug 27, 2026
Audit
Dependencies
boto3requiredProvides type stubs for this library; must be installed separately.