Amazon Web Services CloudFormation templates, generated with Python!

Where to get it

Intended Audience

pyplates are intended to be used with the Amazon Web Services CloudFormation service. If you’re already a CloudFormation (CFN) user, chances are good that you’ve already come up with fun and interesting ways of generating valid CFN templates. pyplates are a way to make those templates while leveraging all of the power that the python environment has to offer.

What is a pyplate?

A pyplate is a class-based python representation of a JSON CloudFormation template and resources, with the goal of generating cloudformation templates based on input python templates (pyplates!) that reflect the cloudformation template hierarchy.


  • Allows for easy customization of templates at runtime, allowing one pyplate to describe all of your CFN Stack roles (production, testing, dev, staging, etc).
  • Lets you put comments right in the template!
  • Supports all required elements of a CFN template, such as Parameters, Resources, Outputs, etc.)
  • Supports all intrinsic CFN functions, such as base64, get_att, ref, etc.
  • Converts intuitiviely-written python dictionaries into JSON templates, without having to worry about nesting or order-of-operations issues.


MetaMetrics, Inc

The original development of this library was to streamline the deployment process at MetaMetrics. We’ve been using pyplates for a while now, and we always intended to get it out for others to use once we were able to make the time. Normally, that means that it would never get done.

MetaMetrics deserves special thanks for not just allowing this to be shared, but actively encouraging its publishing. If that sounds like a good place to work, that’s because it is a good place to work.


Sean Myers <>
Main contributor, project “owner”
Jon Woodbury <>
Did a lot of practical work with pyplates; all of the examples in these docs are based on his early work with pyplates
GitHub Contributors