Skip to content

MousaZeidBaker/aws-lambda-typing

 
 

Repository files navigation

AWS Lambda Typing

build test License python_version pypi_v pypi_dm

A package that provides type hints for AWS Lambda event, context and response objects. It's a convenient way to get autocomplete and type hints built into IDEs. Type annotations are not checked at runtime but are only enforced by third party tools such as type checkers, IDEs, linters, etc.

Table of Contents

Usage

Example: AWS SQS event

from aws_lambda_typing import context as context_, events


def handler(event: events.SQSEvent, context: context_.Context) -> None:
    for record in event['Records']:
        print(record['body'])

    print(context.get_remaining_time_in_millis())

    message: events.sqs.SQSMessage

Demo

IDE autocomplete

ide_autocomplete

IDE code reference information

code_reference_information

Types

Context

  • Context

Events

  • ALBEvent
  • ApacheKafkaEvent
  • APIGatewayRequestAuthorizerEvent
  • APIGatewayTokenAuthorizerEvent
  • APIGatewayProxyEventV1
  • APIGatewayProxyEventV2
  • AppSyncResolverEvent
  • CloudFormationCustomResourceEvent
  • CloudWatchEventsMessageEvent (Deprecated since version 2.10.0: use EventBridgeEvent instead.)
  • CloudWatchLogsEvent
  • CodeCommitMessageEvent
  • CodePipelineEvent
  • CognitoCustomMessageEvent
  • CognitoPostConfirmationEvent
  • ConfigEvent
  • DynamoDBStreamEvent
  • EventBridgeEvent
  • EC2ASGCustomTerminationPolicyEvent
  • IoTPreProvisioningHookEvent
  • KinesisFirehoseEvent
  • KinesisStreamEvent
  • MQEvent
  • MSKEvent
  • S3Event
  • S3BatchEvent
  • SecretsManagerRotationEvent
  • SESEvent
  • SNSEvent
  • SQSEvent
  • WebSocketConnectEvent
  • WebSocketRouteEvent

Requests

  • SNSPublish
  • SNSPublishBatch

Responses

  • ALBResponse
  • APIGatewayAuthorizerResponse
  • APIGatewayProxyResponseV1
  • APIGatewayProxyResponseV2
  • DynamoDBBatchResponse
  • IoTPreProvisioningHookResponse
  • KinesisFirehoseTransformationResponse
  • S3BatchResponse

Other

  • PolicyDocument

Contributing

Contributions are welcome! See the Contributing Guide.

Issues

If you encounter any problems, please file an issue along with a detailed description.