Repolode
aws

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. 1

    Create and activate a virtual environment

    python3 -m venv .venv
  2. 2

    Install Chalice with pip

    python3 -m pip install chalice
  3. 3

    Create a new project

    chalice new-project helloworld
  4. 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