{"id":3610,"library":"mypy-boto3-kinesis-video-webrtc-storage","title":"mypy-boto3-kinesis-video-webrtc-storage Type Stubs","description":"This package provides type annotations (stubs) for the `boto3` Kinesis Video WebRTC Storage service. It enables static type checking for `boto3` code using tools like MyPy, improving code quality and catching errors early. The current version is 1.42.3, generated with `mypy-boto3-builder 8.12.0`. Releases are frequent, typically in sync with `boto3` versions and updates to the `mypy-boto3-builder`.","status":"active","version":"1.42.3","language":"en","source_language":"en","source_url":"https://github.com/youtype/mypy_boto3_builder","tags":["boto3","mypy","type-stubs","aws","kinesis","kinesis-video","webrtc-storage"],"install":[{"cmd":"pip install mypy-boto3-kinesis-video-webrtc-storage boto3","lang":"bash","label":"Install with boto3"}],"dependencies":[{"reason":"This package provides type stubs for boto3; boto3 itself must be installed to use the client.","package":"boto3"}],"imports":[{"symbol":"KinesisVideoWebRTCStorageClient","correct":"from mypy_boto3_kinesis_video_webrtc_storage import KinesisVideoWebRTCStorageClient"},{"symbol":"Client","correct":"from mypy_boto3_kinesis_video_webrtc_storage.client import KinesisVideoWebRTCStorageClient as Client"},{"note":"While a resource is technically generated, the Kinesis Video WebRTC Storage service primarily uses a client interface.","symbol":"KinesisVideoWebRTCStorageServiceResource","correct":"from mypy_boto3_kinesis_video_webrtc_storage import KinesisVideoWebRTCStorageServiceResource"}],"quickstart":{"code":"import os\nimport boto3\nfrom mypy_boto3_kinesis_video_webrtc_storage import KinesisVideoWebRTCStorageClient\nfrom typing import TYPE_CHECKING\n\n# This block is purely for type checking tools like MyPy.\n# At runtime, this block is skipped.\nif TYPE_CHECKING:\n    # 'client' will be correctly typed as KinesisVideoWebRTCStorageClient.\n    # This allows your IDE and MyPy to provide autocomplete and type validation\n    # for all service-specific methods and parameters.\n    client: KinesisVideoWebRTCStorageClient = boto3.client(\"kinesis-video-webrtc-storage\")\nelse:\n    # At runtime, 'client' is a standard Boto3 client.\n    client = boto3.client(\"kinesis-video-webrtc-storage\")\n\nprint(f\"Boto3 client for Kinesis Video WebRTC Storage created: {type(client)}\")\n\n# The KinesisVideoWebRTCStorage service currently has only one primary client operation:\n# `join_storage_session`. This operation typically integrates with other Kinesis Video\n# services and does not return complex data directly.\n# For a runnable example, we'll use a placeholder for ChannelArn.\n# In a real application, ensure this ARN is valid and accessible.\nchannel_arn = os.environ.get(\n    \"KINESIS_VIDEO_WEBRTC_CHANNEL_ARN\",\n    \"arn:aws:kinesisvideo:us-east-1:123456789012:channel/example-channel/1234567890123\"\n)\n\n# Calling a type-checked method:\n# MyPy will validate that `ChannelArn` is a required string parameter.\ntry:\n    print(f\"Attempting to call join_storage_session for channel: {channel_arn}\")\n    response = client.join_storage_session(\n        ChannelArn=channel_arn\n    )\n    # The join_storage_session operation returns an empty dictionary on success.\n    print(f\"Successfully called join_storage_session. Response: {response}\")\n    assert response == {} # Confirming an empty response\nexcept client.exceptions.ResourceNotFoundException:\n    print(f\"Error: Kinesis Video WebRTC Storage channel '{channel_arn}' not found. Please ensure the ARN is correct and exists.\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to initialize a type-hinted Kinesis Video WebRTC Storage client and call its primary `join_storage_session` method. The `if TYPE_CHECKING:` block ensures that your IDE and MyPy can provide full type-safety for the client while allowing standard Boto3 runtime behavior. Remember to replace the placeholder `channel_arn` with a valid AWS resource in your environment."},"warnings":[{"fix":"Upgrade your Python environment to 3.9 or a later version.","message":"Python 3.8 is no longer supported for `mypy-boto3` packages. Ensure your project uses Python 3.9 or newer.","severity":"breaking","affected_versions":"mypy-boto3-builder >= 8.12.0"},{"fix":"Review and update TypeDef names in your code to match the new patterns generated by `mypy-boto3-builder 8.9.0+`.","message":"TypeDef naming conventions were changed to be shorter and more consistent (e.g., `RequestRequestTypeDef` became `RequestTypeDef`, and `Extra` postfix moved). If you have custom types or logic referencing older TypeDef names, they will break.","severity":"breaking","affected_versions":"mypy-boto3-builder >= 8.9.0"},{"fix":"Ensure `boto3` is included in your project's dependencies and installed (`pip install boto3`).","message":"This package provides *only* type stubs. You must install `boto3` separately for your code to function at runtime. These stubs enhance `boto3` with type hints, they do not replace it.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Keep your `mypy-boto3-*` stubs and `boto3` core library versions as close as possible. It's often best to update them together.","message":"For optimal type checking, the `mypy-boto3-*` stub version should align with the `boto3` version you are using (e.g., `mypy-boto3-kinesis-video-webrtc-storage==1.42.x` for `boto3==1.42.x`). Significant mismatches might lead to incomplete or incorrect type hints.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}