Install & Compatibility
Where this runs
tested against v1.43.37 · 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.95 runs
installs and imports cleanly · install 0.0s · import 0.588s · 116.5MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 6.1s · import 0.558s · 114MB
114MB installed
● package 114MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
RDSDataServiceClient
✓ from mypy_boto3_rds_data.client import RDSDataServiceClient
ArrayValueOutputTypeDef
✓ from mypy_boto3_rds_data.type_defs import ArrayValueOutputTypeDef
Type definitions for method input/output parameters.
DecimalReturnTypeType
✓ from mypy_boto3_rds_data.literals import DecimalReturnTypeType
Literals for specific enumerated types.
This quickstart demonstrates how to obtain a type-hinted RDS Data Service client and use it to execute an SQL statement. The `TYPE_CHECKING` block ensures type hints are only active during static analysis, avoiding runtime dependency on mypy-boto3-rds-data for production code.
import boto3
from typing import TYPE_CHECKING
from mypy_boto3_rds_data.client import RDSDataServiceClient
# Ensure boto3 is installed: pip install boto3 mypy-boto3-rds-data
def get_rds_data_client() -> RDSDataServiceClient:
if TYPE_CHECKING:
client: RDSDataServiceClient = boto3.client("rds-data")
else:
client = boto3.client("rds-data")
return client
def execute_statement(sql: str, database: str, resource_arn: str, secret_arn: str) -> None:
client = get_rds_data_client()
# Example: Execute SQL statement
response = client.execute_statement(
sql=sql,
database=database,
resourceArn=resource_arn,
secretArn=secret_arn,
includeResultMetadata=True
)
print("Statement executed.")
print(response)
# To run this, replace placeholders with actual AWS details:
# sql_query = "SELECT 1"
# db_name = "your_database_name"
# rds_resource_arn = "arn:aws:rds:region:account-id:cluster:cluster-name"
# rds_secret_arn = "arn:aws:secretsmanager:region:account-id:secret:secret-name"
# execute_statement(sql_query, db_name, rds_resource_arn, rds_secret_arn)
Debug
Known issues
breakingSupport for Python 3.8 has been removed. All `mypy-boto3-*` packages generated with `mypy-boto3-builder` version 8.12.0 or newer (including `mypy-boto3-rds-data 1.42.3`) require Python 3.9 or higher.fixUpgrade your Python environment to 3.9 or newer.
affects: mypy-boto3-builder >=8.12.0, mypy-boto3-rds-data >=1.42.3
breakingType definition (TypeDef) names for packed method arguments have been shortened (e.g., `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`). Conflicting `Extra` postfixes were also moved to the end (e.g., `CreateDistributionExtraRequestTypeDef` to `CreateDistributionRequestExtraTypeDef`). While not specific to `rds-data`, this is a general breaking change from the underlying builder that might affect type hints for other services if specific TypeDefs are used directly.fixReview your code for direct usage of specific TypeDef names and update them according to the new naming conventions, or rely on IDE autocompletion for the correct names.
affects: mypy-boto3-builder >=8.9.0
gotchaPyCharm users may experience slow performance or high CPU usage due to `Literal` overloads. It is recommended to use `boto3-stubs-lite` (if available for your service) or disable PyCharm's internal type checker and use `mypy` or `pyright` externally.fixConsider `pip install boto3-stubs-lite[rds-data]` if `lite` version exists and meets needs, or configure PyCharm to use an external type checker.
affects: All versions with PyCharm
gotchaFor optimal autocompletion and type checking in IDEs like VSCode and PyCharm, explicit type annotations for `boto3.client` and `boto3.session.client` calls are highly recommended, as function overload support is not always fully robust.fixAlways add explicit type hints like `client: RDSDataServiceClient = boto3.client("rds-data")`. affects: All versions
gotchaWhen using the `TYPE_CHECKING` flag to prevent production dependencies, Pylint might report 'undefined variable' errors. To fix this, set all types to `object` in the non-`TYPE_CHECKING` branch.fixImplement a pattern like `if TYPE_CHECKING: from mypy_boto3_rds_data.client import RDSDataServiceClient else: RDSDataServiceClient = object`.
affects: All versions with Pylint
Upgrade
Version history
1.43.37latest on PyPI · released Jun 29, 2026
Audit
Dependencies
boto3requiredRuntime dependency for AWS SDK functionality.
mypyoptionalType checker for static analysis.
pythonrequiredRequires Python 3.9 or higher.