sceptre
An AWS Cloud Provisioning Tool
What it is and what it does
Sceptre is a command-line and Python library tool that wraps AWS CloudFormation to automate the deployment and management of infrastructure stacks. It organizes stacks into logical groups (e.g., dev, prod), separates stack configuration from templates, and automatically resolves dependencies between stacks so that outputs from one stack can be passed as parameters to dependent stacks. You define stacks using YAML configuration files and templates in JSON, YAML, Jinja2, or Python DSLs, then use Sceptre commands to create, update, delete, or query stacks—either individually or in groups.
Sceptre handles cross-stack and cross-region dependencies, supports custom Resolvers for injecting dynamic values into templates, and allows Hooks to run arbitrary code before or after stack operations. It integrates with CI/CD pipelines via its CLI and Python API, and supports multi-account AWS deployments. The tool is unopinionated about project structure and does not require you to manage CloudFormation state separately.
Use it for:
- Deploy and manage related infrastructure stacks across dev, staging, and production environments with a single command per environment.
- Automatically resolve and deploy stacks with cross-stack dependencies, ensuring outputs flow to dependent stack parameters.
- Integrate infrastructure provisioning into CI/CD pipelines using Sceptre's CLI or Python API with pre/post-operation Hooks.
- Query and list stack resources, outputs, and status across multiple stacks in a group without manual AWS console navigation.
- Manage infrastructure across multiple AWS accounts and regions using Sceptre's built-in multi-account and multi-region support.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Sceptre automates AWS CloudFormation stack deployment and management by organizing stacks into groups, resolving dependencies between stacks, and executing operations across multiple stacks in parallel.
Yes. Sceptre is production-stable, actively maintained, and widely used. It has no known vulnerabilities, permissive licensing, and low install friction. Install it if you deploy multiple related CloudFormation stacks and need dependency resolution, group-level operations, or CI/CD integration; skip it if you manage only a handful of independent stacks or prefer to use CloudFormation directly.
Install
sceptre on PyPI
pip
pip install sceptreuv
uv add sceptrepoetry
poetry add sceptreInstalling sceptre
Before you install
Low install friction with a pure-Python wheel and 13 well-established runtime dependencies. Active maintenance with recent commits; the project shows stable production status.
License in practice
Apache-2.0 is permissive; you can use, modify, and distribute Sceptre freely in commercial and private projects with minimal restrictions, provided you include the license notice.
Quickstart
pip install sceptre
from sceptre.context import SceptreContext
from sceptre.plan.executor import SceptrePlan
ctx = SceptreContext(project_path=".", command_path="dev/vpc.yaml")
plan = SceptrePlan(ctx)
plan.execute()
Requires Python 3.10 or later; AWS credentials must be configured in your environment or AWS config file for CloudFormation operations to succeed.
Verify before relying
- Whether Sceptre's parallelization strategy and performance characteristics scale to very large stack groups
- How Sceptre handles state consistency when operations are interrupted or fail partway through a group command
- Specific performance characteristics and scalability limits for multi-account and multi-region deployments
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 13 — boto3, cfn-flip, click, colorama, deepdiff, deprecation, jinja2, jsonschema, networkx, packaging, pyyaml, sceptre-cmd-resolver, sceptre-file-resolver |
| Maintenance | actively maintained — 84 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 143,083/month — #11,183 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sceptre-4.7.0-py3-none-any.whl
Keywords: aws, cloud, devops, infrastructure, tools, cli
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
sceptre-cmd-resolverA Sceptre resolver plugin that executes shell…
permissive · top 15,000 on PyPI
sceptre-file-resolverA Sceptre resolver plugin that retrieves file…
permissive · top 15,000 on PyPI
aws-cdk-libProvides Python APIs to define and deploy AWS…
permissive · top 5,000 on PyPI
aws-cdk.coreProvides the core construct classes and stack…
permissive · top 15,000 on PyPI
awslabs.aws-iac-mcp-serverProvides an MCP server that validates…
permissive · top 15,000 on PyPI
aws-cdk.aws-cloudformationDefines AWS CloudFormation resources…
permissive · top 15,000 on PyPI
pulumi-awsxProvides high-level component wrappers around…
permissive · top 15,000 on PyPI
aws-cdk.assetsProvides Python bindings for AWS CDK asset…
permissive · top 15,000 on PyPI
aws-cdk.aws-ecsProvides AWS CDK constructs for defining and…
permissive · top 15,000 on PyPI
environManages stack-based global variables that can…
copyleft · top 15,000 on PyPI