Skip to main content

AWS SAM Translator is a library that transform SAM templates into AWS CloudFormation templates

Project description

AWS Serverless Application Model (AWS SAM)

Build status codecov PyPI PyPI - Python Version

The AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications.

It provides shorthand syntax to express functions, APIs, databases, and event source mappings. With just a few lines of configuration, you can define the application you want and model it.

Recent blogposts and workshops

  • Develop Node projects with SAM CLI using esbuild (Beta) - And use SAM Accelerate on TypeScript projects. Read blogpost here.
  • Speed up development with SAM Accelerate (Beta) - Quickly test your changes in the cloud. Read blogpost here.
  • Getting started with CI/CD? SAM pipelines can help you get started - This workshop walks you through the basics.
  • Get started with Serverless Application development using SAM CLI - This workshop walks you through the basics.

Get started

To get started with building SAM-based applications, use the AWS SAM CLI. SAM CLI provides a Lambda-like execution environment that lets you locally build, test, debug, and deploy applications defined by SAM templates.

Next steps: Learn to build a more complex serverless application.

Detailed references: Explains SAM commands and usage in depth.

Why SAM

  • Single-deployment configuration. SAM makes it easy to organize related components and resources, and operate on a single stack. You can use SAM to share configuration (such as memory and timeouts) between resources, and deploy all related resources together as a single, versioned entity.

  • Local debugging and testing. Use SAM CLI to locally build, test, and debug SAM applications on a Lambda-like execution environment. It tightens the development loop by helping you find & troubleshoot issues locally that you might otherwise identify only after deploying to the cloud.

  • Deep integration with development tools. You can use SAM with a suite of tools you love and use.

  • Built-in best practices. You can use SAM to define and deploy your infrastructure as configuration. This makes it possible for you to use and enforce best practices through code reviews. Also, with a few lines of configuration, you can enable safe deployments through CodeDeploy, and can enable tracing using AWS X-Ray.

  • Extension of AWS CloudFormation. Because SAM is an extension of AWS CloudFormation, you get the reliable deployment capabilities of AWS CloudFormation. You can define resources by using CloudFormation in your SAM template. Also, you can use the full suite of resources, intrinsic functions, and other template features that are available in CloudFormation.

What is this GitHub repository?

This GitHub repository contains the SAM Specification, the Python code that translates SAM templates into AWS CloudFormation stacks and lots of example applications. In the words of SAM developers:

SAM Translator is the Python code that deploys SAM templates via AWS CloudFormation. Source code is high quality (95% unit test coverage), with tons of tests to ensure your changes don't break compatibility. Change the code, run the tests, and if they pass, you should be good to go! Clone it and run make pr!

Contribute to SAM

We love our contributors ❤️ We have over 100 contributors who have built various parts of the product. Read this testimonial from @ndobryanskyy to learn more about what it was like contributing to SAM.

Depending on your interest and skill, you can help build the different parts of the SAM project;

Enhance the SAM specification

Make pull requests, report bugs, and share ideas to improve the full SAM template specification. Source code is located on GitHub at awslabs/serverless-application-model. Read the SAM Specification Contributing Guide to get started.

Strengthen SAM CLI

Add new commands or enhance existing ones, report bugs, or request new features for the SAM CLI. Source code is located on GitHub at awslabs/aws-sam-cli. Read the SAM CLI Contributing Guide to get started.

Update SAM developer guide

SAM Developer Guide provides comprehensive getting started guide and reference documentation. Source code is located on GitHub at awsdocs/aws-sam-developer-guide. Read the SAM Documentation Contribution Guide to get started.

Join the SAM community on Slack

Join the #samdev channel on Slack to collaborate with fellow community members and the AWS SAM team.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

aws-sam-translator-1.52.0.tar.gz (193.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

aws_sam_translator-1.52.0-py3-none-any.whl (242.0 kB view details)

Uploaded Python 3

aws_sam_translator-1.52.0-py2-none-any.whl (241.9 kB view details)

Uploaded Python 2

File details

Details for the file aws-sam-translator-1.52.0.tar.gz.

File metadata

  • Download URL: aws-sam-translator-1.52.0.tar.gz
  • Upload date:
  • Size: 193.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.13

File hashes

Hashes for aws-sam-translator-1.52.0.tar.gz
Algorithm Hash digest
SHA256 1b5f156695a6772170aefe3f5fe91882c7f2e1cf1ccaa9bb32502c5d96fcc3ea
MD5 205574e9765948cc708283ca1454801d
BLAKE2b-256 16c2f66a1863ca010f7555358142584b8d6e529160e7830fdb2d161bc5bf858f

See more details on using hashes here.

File details

Details for the file aws_sam_translator-1.52.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_sam_translator-1.52.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bde0c471b1dcefb13246a20977c81bc91786c30277cdd733b8846acf97759a9d
MD5 063f147c35067fc117f74454412c3714
BLAKE2b-256 9a73921df3b75b2fab7f88150670de4188bb52637eaf641f26e763c5eaef856b

See more details on using hashes here.

File details

Details for the file aws_sam_translator-1.52.0-py2-none-any.whl.

File metadata

File hashes

Hashes for aws_sam_translator-1.52.0-py2-none-any.whl
Algorithm Hash digest
SHA256 4a0331e8de2a18cae9ced0b4d6f2da5b575f17b2cc5f6e1ba0c86e3878875ef1
MD5 a5496a88a3ec1f9c8c07523d02eaeb52
BLAKE2b-256 3b058d5b64a67e30926194dbbf76139d468df0249b0e951e47ec1a1d79cc5c96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page