Registry /
type-stubs / types-aiobotocore-stepfunctions
Install & Compatibility
Where this runs
tested against v3.7.0 · 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.940 runs
installs and imports cleanly · install 0.0s · import 1.084s · 61MB
glibcpy 3.10–3.940 runs
installs and imports cleanly · install 5.4s · import 0.977s · 63MB
61MB installed
● package 61MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
SFNClient
✓ from types_aiobotocore_stepfunctions import SFNClient
✗ from types_aiobotocore_stepfunctions.client import SFNClient
This quickstart demonstrates how to use `aiobotocore` with `types-aiobotocore-stepfunctions` to start a Step Functions execution. The `SFNClient` type annotation, enclosed in a `TYPE_CHECKING` block, provides rich type hints and autocomplete for the Step Functions client methods and their parameters and return types. Ensure you have `aiobotocore` also installed.
import asyncio
import os
from typing import TYPE_CHECKING
from aiobotocore.session import get_session
# These imports are only for type checking and will not be present at runtime
if TYPE_CHECKING:
from types_aiobotocore_stepfunctions.client import SFNClient
from types_aiobotocore_stepfunctions.type_defs import StartExecutionOutputTypeDef
async def start_step_function_execution(state_machine_arn: str, execution_name: str, input_data: str):
session = get_session()
async with session.create_client(
"stepfunctions",
region_name=os.environ.get('AWS_REGION', 'us-east-1'),
aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID', 'DUMMY_KEY'),
aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY', 'DUMMY_SECRET'),
) as client:
# client is implicitly typed as SFNClient by mypy/pyright after installing types-aiobotocore-stepfunctions
if TYPE_CHECKING:
client: SFNClient
print(f"Starting execution '{execution_name}' for state machine '{state_machine_arn}'")
response: StartExecutionOutputTypeDef = await client.start_execution(
stateMachineArn=state_machine_arn,
name=execution_name,
input=input_data,
)
print(f"Execution ARN: {response['executionArn']}")
print(f"Start Date: {response['startDate']}")
if __name__ == "__main__":
# Replace with your actual State Machine ARN and desired execution details
STATE_MACHINE_ARN = os.environ.get('STATE_MACHINE_ARN', 'arn:aws:states:us-east-1:123456789012:stateMachine:MyStateMachine')
EXECUTION_NAME = os.environ.get('EXECUTION_NAME', 'my-test-execution-123')
INPUT_DATA = os.environ.get('INPUT_DATA', '{"key": "value"}')
asyncio.run(start_step_function_execution(STATE_MACHINE_ARN, EXECUTION_NAME, INPUT_DATA))
Debug
Known issues
breakingPython 3.8 is no longer supported. Packages generated by `mypy-boto3-builder` (including `types-aiobotocore-stepfunctions`) now require Python >=3.9.fixUpgrade your Python environment to 3.9 or newer.
affects: >=3.4.0 (generated by mypy-boto3-builder 8.12.0 and later)
breakingThe `mypy-boto3-builder`, which generates these types, migrated to PEP 561 compliant packages. While this is a standard improvement, it might affect custom build pipelines or type checker configurations that relied on older stub distribution methods.fixEnsure your type checker (e.g., mypy, pyright) and build environment are up-to-date and correctly configured for PEP 561 stub packages. Typically, this is handled automatically by modern tooling.
affects: >=3.4.0 (generated by mypy-boto3-builder 8.12.0 and later)
breakingGenerated `TypeDef` names were shortened and conflicting names disambiguated in `mypy-boto3-builder` 8.9.0. If you explicitly imported specific `TypeDef` classes from previous versions of `types-aiobotocore-*` packages, their names might have changed (e.g., `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`).fixReview your explicit `TypeDef` imports and update names according to the latest generated types. Refer to the specific service's documentation or use IDE autocomplete for correct names.
affects: <=3.3.0
gotchaPyCharm users might experience slow performance and high CPU usage due to PyCharm's type checker with `Literal` overloads. It is recommended to either disable PyCharm's type checker and use `mypy` or `pyright`, or install `types-aiobotocore-lite` instead for a more RAM-friendly experience.fixConsider `pip install types-aiobotocore-lite-stepfunctions` or use an external type checker with PyCharm.
affects: All versions
Upgrade
Version history
3.7.0latest on PyPI · released May 10, 2026
Audit
Dependencies
aiobotocorerequiredProvides the underlying asynchronous AWS client for which these are type stubs. The package version aligns with the aiobotocore version it types.
pythonrequiredRequired Python version.