A minimal command-line deployment tool for AWS Lambda functions, covering deploy, rollback, invoke, logs and diff.
aws/chalice
A Python microframework for writing and deploying serverless apps on AWS Lambda, with a CLI and decorator-based routing.
- Stars
- 11,060
- Forks
- 1,018
- Open issues
- 499
- Last commit
- 10 days ago
What is it?
Chalice is a framework for building serverless applications in Python that run on AWS Lambda. You write ordinary Python functions and decorate them to expose REST routes through Amazon API Gateway, or to react to events such as scheduled timers, S3 uploads, and SQS messages. Developers do not need to hand-write Lambda handlers or API Gateway configuration.
The included command line tool creates a project skeleton, deploys it with `chalice deploy`, and removes its resources with `chalice delete`. Chalice also generates IAM policies from the code, so the deployed function receives the permissions it uses. It targets developers who want to ship a small API or event-driven backend on AWS without setting up infrastructure by hand.
Key features
- 01Decorator-based routes for Amazon API Gateway REST APIs
- 02Event handlers for scheduled tasks, S3 events, and SQS messages
- 03Command line tool for creating, deploying, and deleting apps
- 04Automatic IAM policy generation from application code
Use cases
- Hosting a small REST API backed by AWS Lambda without managing servers
- Running scheduled background jobs on a timer
- Processing files uploaded to an S3 bucket
- Consuming messages from an SQS queue in a Python service
Quick start
- 1
Create and activate a virtual environment
python3 -m venv .venv - 2
Install Chalice with pip
python3 -m pip install chalice - 3
Create a new project
chalice new-project helloworld - 4
Deploy the app to AWS
chalice deploy
Things to know
- Deploying requires AWS account credentials configured on your machine.
- Apps run on AWS Lambda, so they are tied to the AWS cloud.
In collections
Topics
FAQ
- What is chalice?
- A Python microframework for writing and deploying serverless apps on AWS Lambda, with a CLI and decorator-based routing. Chalice is a framework for building serverless applications in Python that run on AWS Lambda. You write ordinary Python functions and decorate them to expose REST routes through Amazon API Gateway, or to react to events such as scheduled timers, S3 uploads, and SQS messages. Developers do not need to hand-write Lambda handlers or API Gateway configuration.
- Is chalice free to use? What license does it have?
- chalice is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is chalice still maintained?
- Actively maintained. The last commit to chalice was on Oct 28, 2026.
- What can I use chalice for?
- Hosting a small REST API backed by AWS Lambda without managing servers Running scheduled background jobs on a timer Processing files uploaded to an S3 bucket Consuming messages from an SQS queue in a Python service
- How do I install chalice?
- Create and activate a virtual environment: python3 -m venv .venv Install Chalice with pip: python3 -m pip install chalice Create a new project: chalice new-project helloworld Deploy the app to AWS: chalice deploy
- Where can I get chalice?
- The source code and installation instructions are on GitHub: https://github.com/aws/chalice
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Zappa deploys Python WSGI and ASGI web apps and event-driven functions to AWS Lambda and API Gateway, with no servers to manage.
A CLI and YAML-based framework for deploying code and cloud infrastructure, mainly on AWS Lambda and other managed cloud services.
Self-hosted, TypeScript-extensible headless CMS and website builder that runs on AWS serverless (Lambda, DynamoDB, S3).
A large collection of ready-to-deploy Serverless Framework boilerplates and example services for AWS Lambda and other serverless platforms.
Terraform module for creating AWS Lambda functions and layers, with built-in dependency installation and deployment package building.