cfnresponse
Send a response object to a custom resource by way of an Amazon S3 presigned URL
Decision gist · record as of 2026-08-14
Yes, if you are developing or testing AWS CloudFormation custom resources in Lambda and need cfnresponse outside the native Lambda runtime. No, if you only deploy to Lambda—the module is already available there. The package is stable, actively maintained, has no known vulnerabilities, and carries a permissive license.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Designed for AWS Lambda environments; requires CloudFormation custom resource event structure with ResponseURL, StackId, RequestId, and LogicalResourceId fields.
- Low install friction with a single lightweight dependency (urllib3).
- Actively maintained with recent commits; last release was 741 days ago but the repository shows ongoing activity.
License · maintenance · safety
permissive license (permissive) — Licensed under Apache Software License (permissive), imposing no significant restrictions on use or redistribution in most contexts.
last release 2024-08-03 (741 days) · last repo commit 2026-05-06 · 11 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 358,168 downloads/mo, #7,265 on PyPI
Alternatives
Verify before relying
pip install cfnresponse
import cfnresponse
def handler(event, context):
try:
# Your custom resource logic here
cfnresponse.send(event, context, cfnresponse.SUCCESS, {'key': 'value'})
except Exception as e:
cfnresponse.send(event, context, cfnresponse.FAILED, {})- Whether this package is necessary outside Lambda (native cfnresponse is built into Lambda runtime).
- Specific use cases for local development or non-Lambda environments where urllib3 would be the primary value-add.
What it is and what it does
cfnresponse is a Python module that handles the response protocol for AWS CloudFormation custom resources. When you create a custom resource in CloudFormation backed by a Lambda function, that Lambda needs to signal back to CloudFormation whether the operation succeeded or failed by posting to a presigned S3 URL. This package provides the send() function and response status constants (SUCCESS, FAILED) to handle that communication.
The module is a standalone PyPI package version of code that AWS provides natively in Lambda environments. It depends only on urllib3 for HTTP operations. It's useful for local development, testing, or when you want explicit control over the cfnresponse implementation rather than relying on the built-in Lambda version.
Use it for
- Local testing of Lambda custom resource handlers before deployment to CloudFormation.
- Explicit control over cfnresponse behavior in Lambda functions handling CloudFormation custom resources.
- Development environments where you need to mock or override the native Lambda cfnresponse module.
- Ensuring version consistency across multiple Lambda functions or deployment pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are developing or testing AWS CloudFormation custom resources in Lambda and need cfnresponse outside the native Lambda runtime.
No, if you only deploy to Lambda—the module is already available there. The package is stable, actively maintained, has no known vulnerabilities, and carries a permissive license.
Install
cfnresponse on PyPI
Before you install
Low install friction with a single lightweight dependency (urllib3). Actively maintained with recent commits; last release was 741 days ago but the repository shows ongoing activity.
Designed for AWS Lambda environments; requires CloudFormation custom resource event structure with ResponseURL, StackId, RequestId, and LogicalResourceId fields.
License in practice
Licensed under Apache Software License (permissive), imposing no significant restrictions on use or redistribution in most contexts.
Quickstart
pip install cfnresponse
import cfnresponse
def handler(event, context):
try:
# Your custom resource logic here
cfnresponse.send(event, context, cfnresponse.SUCCESS, {'key': 'value'})
except Exception as e:
cfnresponse.send(event, context, cfnresponse.FAILED, {})
Verify before relying
- Whether this package is necessary outside Lambda (native cfnresponse is built into Lambda runtime).
- Specific use cases for local development or non-Lambda environments where urllib3 would be the primary value-add.
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageurllib3 |
| Maintenance | Actively maintained 741 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 358,168 / month, #7,265 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules |
Evidence: cfnresponse-1.1.5-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cloudformation lambda response”
- cfnresponseSends response objects to AWS CloudFormation custom resources via S3…
- crhelperSimplifies writing CloudFormation custom resources by handling…
- aws-cdk.custom-resourcesProvides a framework for implementing AWS CloudFormation custom…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also cfn-lint · aws-cdk.aws-sns-subscriptions · crhelper · cloudformation-cli · s3urls · aws-sam-translator · botocore · boto3 · s3transfer · watchtower