MCPcopy Index your code
hub / github.com/aws/aws-sam-cli

github.com/aws/aws-sam-cli @v1.163.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.163.0 ↗
17,048 symbols 66,841 edges 1,764 files 5,670 documented · 33%
README

AWS SAM CLI

Apache 2.0 License SAM CLI Version Install pip

Installation | Blogs | Videos | AWS Docs | Roadmap | Try It Out | Slack Us

The AWS Serverless Application Model (SAM) CLI is an open-source CLI tool that helps you develop serverless applications containing Lambda functions, Step Functions, API Gateway, EventBridge, SQS, SNS and more. Some of the features it provides are:

  • Initialize serverless applications in minutes with AWS-provided infrastructure templates with sam init
  • Compile, build, and package Lambda functions with provided runtimes and with custom Makefile workflows, for zip and image types of Lambda functions with sam build
  • Locally test a Lambda function and API Gateway easily in a Docker container with sam local commands on SAM and CDK applications
  • Sync and test your changes in the cloud with sam sync in your developer environments
  • Deploy your SAM and CloudFormation templates using sam deploy
  • Quickly create pipelines with prebuilt templates with popular CI/CD systems using sam pipeline init
  • Tail CloudWatch logs and X-Ray traces with sam logs and sam traces

Recent blogposts and workshops

  • Speeding up incremental changes with AWS SAM Accelerate and Nested Stacks - Read blogpost here.

  • Develop Node projects with SAM CLI using esbuild - and use SAM Accelerate on Typescript projects. Read blogpost here.

  • Speed up development with SAM Accelerate - quickly test your changes in the cloud. Read docs here.

  • AWS Serverless Developer Experience Workshop: A day in a life of a developer - This advanced workshop provides you with an immersive experience as a serverless developer, with hands-on experience building a serverless solution using AWS SAM and SAM CLI.

  • The Complete SAM Workshop - This workshop is a great way to experience the power of SAM and SAM CLI.

  • 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 SAM CLI. SAM CLI provides a Lambda-like execution environment that lets you locally build, test, debug, and deploy AWS serverless applications.

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

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 or ./Make -pr on Windows!

Related Repositories and Resources

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 aws/serverless-application-model. Read the SAM Specification Contributing Guide to get started.

Strengthen SAM CLI

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

Update SAM Developer Guide

SAM Developer Guide provides a 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.

Core symbols most depended-on inside this repo

get
called by 2605
samcli/lib/package/uploaders.py
debug
called by 767
samcli/cli/context.py
resolve_value
called by 277
samcli/lib/cfn_language_extensions/resolvers/base.py
invoke
called by 257
samcli/local/lambdafn/runtime.py
exists
called by 198
samcli/lib/config/samconfig.py
indented_section
called by 158
samcli/cli/formatters.py
get
called by 147
samcli/lib/providers/sam_base_provider.py
read
called by 146
samcli/lib/config/file_manager.py

Shape

Method 11,016
Class 2,586
Route 2,125
Function 1,321

Languages

Python99%
Java1%
Go1%
TypeScript1%

Modules by API surface

tests/integration/local/start_api/test_start_api.py328 symbols
tests/unit/lib/build_module/test_app_builder.py189 symbols
tests/unit/lib/package/test_artifact_exporter.py185 symbols
tests/unit/commands/package/test_package_context.py183 symbols
tests/unit/local/apigw/test_local_apigw_service.py170 symbols
tests/unit/hook_packages/terraform/hooks/prepare/test_resource_linking.py161 symbols
tests/unit/local/lambdafn/test_runtime.py157 symbols
tests/unit/lib/cfn_language_extensions/test_foreach_processor.py152 symbols
tests/unit/local/docker/test_container.py149 symbols
tests/unit/lib/intrinsic_resolver/test_intrinsic_resolver.py144 symbols
tests/unit/lib/cfn_language_extensions/test_fn_find_in_map.py140 symbols
tests/unit/commands/local/lib/test_sam_function_provider.py132 symbols

Dependencies from manifests, versioned

github.com/aws/aws-sdk-go-v2v1.30.1 · 1×
github.com/aws/aws-sdk-go-v2/configv1.27.24 · 1×
github.com/aws/aws-sdk-go-v2/credentialsv1.17.24 · 1×
github.com/aws/aws-sdk-go-v2/feature/ec2/imdsv1.16.9 · 1×
github.com/aws/aws-sdk-go-v2/internal/configsourcesv1.3.13 · 1×
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2v2.6.13 · 1×
github.com/aws/aws-sdk-go-v2/internal/iniv1.8.0 · 1×
github.com/aws/aws-sdk-go-v2/service/internal/accept-encodingv1.11.3 · 1×
github.com/aws/aws-sdk-go-v2/service/internal/presigned-urlv1.11.15 · 1×
github.com/aws/aws-sdk-go-v2/service/ssov1.22.1 · 1×
github.com/aws/aws-sdk-go-v2/service/ssooidcv1.26.2 · 1×

For agents

$ claude mcp add aws-sam-cli \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact