// the find
aws/chalice
Python Serverless Microframework for AWS
Chalice is AWS's own Python framework for deploying Lambda-based applications — REST APIs, scheduled tasks, S3/SQS event handlers — with a single `chalice deploy` command. It targets Python developers who want to stay in pure Python without writing CloudFormation or CDK. It's officially maintained by AWS and still actively pushed as of yesterday.
The decorator API is genuinely clean — `@app.route`, `@app.schedule`, `@app.on_s3_event` read like Flask and hide all the Lambda plumbing. Automatic IAM policy generation from static analysis of your boto3 calls is a real time-saver that competitors don't do. CDK integration (`chalice.cdk`) lets you drop a Chalice app into a larger CDK stack without rewriting anything. The local dev server (`chalice local`) gives you a real HTTP server for testing without deploying.
Hard lock-in to API Gateway v1 (REST APIs) — WebSocket support exists but HTTP API (v2) support is limited, which matters for cost and performance. The IAM policy auto-generation is clever but wrong often enough that you'll end up hand-editing `.chalice/policy-dev.json` anyway, which makes the feature feel half-baked. No support for Lambda response streaming, function URLs, or Lambda SnapStart — the abstraction lags AWS feature releases by months to years. If your app grows beyond simple handlers into something with real infrastructure (VPCs, RDS, complex IAM), you'll hit the abstraction ceiling and wish you'd just written CDK from the start.