skillfed

chalice

Microframework

chalice v1.33.0 763.7K downloads/30d#5,125 on PyPI11,065
Permissive license Apache License 2.0 Active released

What it is and what it does

Chalice is a Python microframework that simplifies building and deploying serverless applications to AWS Lambda. It provides a decorator-based API for defining REST endpoints, scheduled tasks, and event handlers (S3, SNS, SQS) without boilerplate infrastructure code. The framework generates IAM policies automatically and handles deployment through a command-line tool that manages Lambda functions, API Gateway, and related resources.

You write Python functions decorated with @app.route(), @app.schedule(), or @app.on_s3_event() and run `chalice deploy` to push your application to AWS. Chalice abstracts away CloudFormation templates and manual resource provisioning, making it practical for developers who want to focus on application logic rather than AWS infrastructure plumbing. It supports Python 3.10 through 3.14 and depends on botocore and other standard AWS SDK libraries.

Use it for:

  • Build and deploy REST APIs on Lambda without writing CloudFormation or managing API Gateway manually.
  • Create scheduled background tasks that run on a timer using Lambda and CloudWatch Events.
  • Connect Lambda functions to S3 bucket events to trigger processing when objects are uploaded.
  • Process messages from SQS queues with Lambda handlers defined as simple Python functions.
  • Rapidly prototype serverless microservices with minimal infrastructure configuration overhead.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Chalice is a Python framework for building and deploying serverless applications to AWS Lambda, with decorators for integrating API Gateway, S3, SNS, SQS, and other AWS services.

Yes, if you are building serverless applications on AWS Lambda and want to avoid infrastructure boilerplate. Chalice is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is well-suited for REST APIs, scheduled tasks, and event-driven Lambda handlers. Not suitable if you need multi-cloud deployment or prefer explicit infrastructure-as-code control.

Install

chalice on PyPI

pip

pip install chalice

uv

uv add chalice

poetry

poetry add chalice

Installing chalice

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance with a recent commit on 2026-08-12 and 11065 repository stars. Nine runtime dependencies are all well-established packages (click, botocore, pyyaml, etc.), suggesting stable, widely-used foundations.

License in practice

Apache License 2.0 is permissive, allowing commercial and private use with minimal restrictions—typical for AWS-sponsored open-source projects. No licensing constraints on adopting this package.

Quickstart

pip install chalice
chalice new-project helloworld
cd helloworld
# Edit app.py:
from chalice import Chalice
app = Chalice(app_name='helloworld')
@app.route('/')
def index():
    return {'hello': 'world'}
# Deploy:
chalice deploy

Requires AWS credentials configured (via ~/.aws/config or environment variables) and Python 3.10 or later.

Verify before relying

  • Whether the package supports all advertised AWS services (SNS, SQS, S3, etc.) equally well or if some integrations are more mature than others.
  • Performance characteristics and cold-start overhead for Lambda functions deployed via Chalice.
  • Scope of automatic IAM policy generation—whether it covers all use cases or requires manual policy refinement.

Package facts

License Apache License 2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 9 — click, botocore, six, pip, jmespath, pyyaml, inquirer, wheel, setuptools
Maintenance actively maintained — 99 days since the last release
Last repo commit
First released
Downloads 763,727/month — #5,125 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: chalice-1.33.0-py3-none-any.whl

Keywords: chalice

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

serverless python frameworkaws lambda deployment toolrest api on lambdapython microframework awslambda function decoratoraws chalice cliserverless application framework
aws-lambdaserverlessrest-api

More Application Frameworks packages