Skip to main content

AWS Lambda Context class for type checking and testing

Project description

A micro library that provides the AWS Lambda Context class for type checking and testing.


pip install aws-lambda-context


Import the LambdaContext on your handler file and type hint the lambda function with it:

from aws_lambda_context import LambdaContext

def my_lambda_handler(event: Any, context: LambdaContext) -> None:

The type hint should enables type checking with mypy and editor auto-completion

The class is also useful as a mock during tests:

from aws_lambda_context import (

def test_handler():
    lambda_cognito_identity = LambdaCognitoIdentity()
    lambda_cognito_identity.cognito_identity_id = 'cognito_identity_id'
    lambda_cognito_identity.cognito_identity_pool_id = 'cognito_identity_pool_id'

    lambda_client_context_mobile_client = LambdaClientContextMobileClient()
    lambda_client_context_mobile_client.installation_id = 'installation_id'
    lambda_client_context_mobile_client.app_title = 'app_title'
    lambda_client_context_mobile_client.app_version_name = 'app_version_name'
    lambda_client_context_mobile_client.app_version_code = 'app_version_code'
    lambda_client_context_mobile_client.app_package_name = 'app_package_name'

    lambda_client_context = LambdaClientContext()
    lambda_client_context.client = lambda_client_context_mobile_client
    lambda_client_context.custom = {'custom': True}
    lambda_client_context.env = {'env': 'test'}

    lambda_context = LambdaContext()
    lambda_context.function_name = 'function_name'
    lambda_context.function_version = 'function_version'
    lambda_context.invoked_function_arn = 'invoked_function_arn'
    lambda_context.memory_limit_in_mb = 'memory_limit_in_mb'
    lambda_context.aws_request_id = 'aws_request_id'
    lambda_context.log_group_name = 'log_group_name'
    lambda_context.log_stream_name = 'log_stream_name'
    lambda_context.identity = lambda_cognito_identity
    lambda_context.client_context = lambda_client_context

    assert handler({}, lambda_context) == 'something'

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aws-lambda-context, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size aws_lambda_context-1.1.0-py3-none-any.whl (3.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size aws-lambda-context-1.1.0.tar.gz (2.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page