Skip to content
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
Python Java Ruby C# Go Makefile Other
Branch: develop
Clone or download

Latest commit

mndeveci fix: guided deploy doesn't update default capabilities that is provid…
…ed via --capabilites option as CLI argument (#2041)
Latest commit b5b1ec4 Jun 12, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github feat: Allow pinned requirements for linux installs from source (#1917) Apr 13, 2020
designs feat: allow a custom builder workflow selection (#1957) May 20, 2020
docs design: samconfig (#1503) Nov 23, 2019
media fix: set youtube link in readme (#1378) Aug 27, 2019
requirements feat: Support for Step Functions Resource (#2009) May 27, 2020
samcli fix: guided deploy doesn't update default capabilities that is provid… Jun 12, 2020
snap feat(install): Add snapcraft config and link to snap package in README ( Apr 4, 2019
tests fix: guided deploy doesn't update default capabilities that is provid… Jun 12, 2020
.coveragerc SAM CLI Refresh 🎉 (#383) May 8, 2018
.gitignore chore: Apply Black automatic code formatting (#1186) Sep 4, 2019
.pre-commit-config.yaml chore: Apply Black automatic code formatting (#1186) Sep 4, 2019
.pylintrc Build for Layers (#1936) May 15, 2020
CODE_OF_CONDUCT.md Adding standard files (#335) Mar 22, 2018
CONTRIBUTING.md docs: fix links to .rst files (#1016) Feb 20, 2019
DESIGN.md feat: Telemetry Implementation (#1287) Jul 24, 2019
DEVELOPMENT_GUIDE.md docs: Removing python 2 info from the development guide (#1993) May 29, 2020
LICENSE fix: Update copyright in LICENSE (#1295) Jul 26, 2019
MANIFEST.in refactor: init, generate_event and providers code move (#1685) Dec 18, 2019
Makefile Build for Layers (#1936) May 15, 2020
NOTICE SAM CLI Refresh 🎉 (#383) May 8, 2018
README.md fix(readme): Remove unfortunate dash (#1796) Feb 18, 2020
appveyor-windows-build-dotnet.yml feat: dotnetcore3.1 support (#1908) Mar 31, 2020
appveyor-windows-build-go.yml fix: adding APPVEYOR_CONSOLE_DISABLE_PTY environment variable to fix … Mar 18, 2020
appveyor-windows-build-java-container.yml fix: adding APPVEYOR_CONSOLE_DISABLE_PTY environment variable to fix … Mar 18, 2020
appveyor-windows-build-java-ruby-inprocess.yml fix: adding APPVEYOR_CONSOLE_DISABLE_PTY environment variable to fix … Mar 18, 2020
appveyor-windows-build-nodejs.yml fix: adding APPVEYOR_CONSOLE_DISABLE_PTY environment variable to fix … Mar 18, 2020
appveyor-windows-build-python.yml fix: adding APPVEYOR_CONSOLE_DISABLE_PTY environment variable to fix … Mar 18, 2020
appveyor-windows-build-ruby.yml fix: adding APPVEYOR_CONSOLE_DISABLE_PTY environment variable to fix … Mar 18, 2020
appveyor-windows.yml feat: allow a custom builder workflow selection (#1957) May 20, 2020
appveyor.yml Adding docker info. (#1995) Jun 11, 2020
pyproject.toml refactor: init, generate_event and providers code move (#1685) Dec 18, 2019
pytest.ini fix: removing object deletion and using same stack name for integrati… Mar 9, 2020
setup.cfg fix: update license key in setup() to expected value by PyPi (#966) Jan 29, 2019
setup.py chore: Support Python3.8 (#1519) Dec 24, 2019

README.md

AWS SAM (Beta)

Apache-2.0 SAM CLI 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.

Getting Started with AWS SAM

Get Started

To get started with building SAM-based applications, use the 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 source code for SAM CLI. Here is the development team talking about this code:

SAM CLI code is written in Python. Source code is well documented, very modular, with 95% unit test coverage. It uses this awesome Python library called Click to manage the command line interaction and uses Docker to run Lambda functions locally. We think you'll like the code base. 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 SAM developers channel (#samdev) on Slack to collaborate with fellow community members and the AWS SAM team.

You can’t perform that action at this time.