cloudformation-cli
Decision gist · record as of 2026-08-14
Yes. The CloudFormation CLI is production-stable, actively maintained, and essential if you develop custom CloudFormation resource types, hooks, or modules. Low install friction and permissive licensing make it a straightforward addition to AWS infrastructure-as-code workflows. Install it if you need to extend CloudFormation beyond built-in resources; skip it if you only use standard CloudFormation types.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.6 or later.
- Language plugins (Java, Go, Python, TypeScript) must be installed separately for resource and hook type development.
- Optional: pyjq for propertyTransform schema support (not available on Windows).
License · maintenance · safety
Apache License 2.0 (permissive) — Apache License 2.0 (permissive) allows use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2025-03-31 (501 days) · last repo commit 2026-07-10 · 335 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 94,428 downloads/mo, #13,328 on PyPI
Alternatives
Verify before relying
pip install cloudformation-cli
cfn init
cfn generate
cfn test
cfn submit- Whether all 19 runtime dependencies are truly required for basic CLI usage or if some are optional for specific commands.
- Performance characteristics and typical execution time for test and submit workflows on real projects.
What it is and what it does
The CloudFormation CLI is a command-line tool that lets you develop and register custom AWS CloudFormation resource providers, hooks, and modules. It provides a project scaffolding system (init), code generation (generate), local contract testing (test), validation (validate), and submission workflows (submit, package) to register your custom types with CloudFormation. The tool integrates with language-specific plugins and AWS services via boto3 and botocore, and uses pytest for running contract tests against your resource handlers.
You use it to author custom CloudFormation resources in Java, Go, Python, or TypeScript, then test them locally and submit them for registration in your AWS account. It handles schema validation, handler packaging, and integration with CloudFormation's type registry. The tool is actively maintained, supports current Python versions (3.8–3.11), and is widely used within AWS infrastructure-as-code workflows.
Use it for
- Develop a custom AWS resource type in Java or Python to manage proprietary infrastructure not covered by native CloudFormation resources.
- Author a CloudFormation hook to enforce compliance policies (e.g., tagging, encryption) across all stack deployments in your organization.
- Create a CloudFormation module to package and reuse common infrastructure patterns as a single deployable unit.
- Run contract tests locally against your resource handler before submitting it to CloudFormation's type registry.
- Validate and package a resource provider schema for distribution or internal use without immediately registering it.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The CloudFormation CLI is production-stable, actively maintained, and essential if you develop custom CloudFormation resource types, hooks, or modules. Low install friction and permissive licensing make it a straightforward addition to AWS infrastructure-as-code workflows. Install it if you need to extend CloudFormation beyond built-in resources; skip it if you only use standard CloudFormation types.
Install
cloudformation-cli on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with recent commits as of 2026-07-10 and production-stable status. Requires 19 runtime dependencies including boto3, pytest, docker, and cfn-lint, which adds some weight but are standard AWS and testing tools.
Requires Python 3.6 or later. Language plugins (Java, Go, Python, TypeScript) must be installed separately for resource and hook type development. Optional: pyjq for propertyTransform schema support (not available on Windows).
License in practice
Apache License 2.0 (permissive) allows use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install cloudformation-cli
cfn init
cfn generate
cfn test
cfn submit
Verify before relying
- Whether all 19 runtime dependencies are truly required for basic CLI usage or if some are optional for specific commands.
- Performance characteristics and typical execution time for test and submit workflows on real projects.
Package facts
| License | Apache License 2.0 permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 19 packagesboto3Jinja2markupsafejsonpatchjsonschemapytestpytest-random-orderpytest-localserverWerkzeugPyYAMLrequestshypothesiscoloramadockerordered-setcfn-lintcfn-flipnested-lookupbotocore |
| Maintenance | Actively maintained 501 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 94,428 / month, #13,328 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/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Build ToolsTopic :: Software Development :: Code Generators |
Evidence: cloudformation_cli-0.2.39-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 resource provider development”
- cloudformation-cliA command-line tool for authoring and managing AWS CloudFormation…
- aws-cdk.custom-resourcesProvides a framework for implementing AWS CloudFormation custom…
- cfn-lintValidates AWS CloudFormation templates in YAML or JSON format against…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also cfn-lint · crhelper · cfnresponse · aws-cdk.custom-resources · cfn-flip · aws-cdk.aws-cloudformation · awslabs.aws-iac-mcp-server · aws-sam-translator · cdk-cloudformation-datadog-monitors-monitor · sceptre