Unleash the full potential of serverless development with AWS Chalice - the premier Python library for building incredible applications with ease. With AWS Chalice, you can seamlessly manage your AWS accounts, create web apps with your favorite front-end tools, and serve as the backend for cross-platform desktop and mobile apps written in Qt for Python. Join our community today and discover the ultimate guide to AWS Chalice.
Enhance your AWS Chalice app with these highly suitable AWS projects:
- AWS Lambda Powertools: Utilities for AWS Lambda functions to adopt best practices, perfect for Chalice's serverless nature.
- AWS Cloud Development Kit (CDK): Seamlessly deploy Chalice apps with the CDK.
- AWS Serverless Application Repository: Find and deploy serverless AWS applications, including Chalice apps.
- AWS CloudWatch Embedded Metrics: CloudWatch Embedded Metric Format Client Library for monitoring Chalice applications.
- DynamoDB Global Tables: NoSQL database, easy to integrate with Chalice's serverless architecture.
- AWS Step Functions: Serverless workflow service for coordinating distributed Chalice applications.
- Aurora Serverless Global Database 2: OLTP database that can be leveraged by Chalice's serverless architecture.
- AWS SAM (Serverless Application Model): Framework for building serverless applications, compatible with Chalice.
- AWS Fargate: Serverless compute engine for containers, can be used in conjunction with Chalice.
- AWS App Runner: Build, deploy, and scale containerized applications quickly, including Chalice apps.
- AWS Glue: Fully managed extract, transform, and load (ETL) service that can be used with Chalice's serverless nature.
- AWS SDK for JavaScript: Combine with Brython or Pyodide for front-end Python development in Chalice apps.
These AWS Python SDKs can be integrated with AWS Chalice applications:
- AWS SDK for Python (boto3) - See
aioboto3
for the async version. - AWS X-Ray SDK for Python - Add tracing to Chalice applications using
from aws_xray_sdk.core import patch_all;patch_all();
. - AWS IoT SDK for Python - Enable Chalice applications to communicate via Kinesis Streams.
- AWS Encryption SDK for Python - Encrypt data within your Chalice application logic.
- AWS SageMaker SDK for Python - Train and deploy machine learning models from Chalice applications.
- AWS Step Functions Data Science SDK for Python - Integrate managed AI/ML infrastructure with Chalice applications.
- AWS DynamoDB Encryption SDK for Python - Secure data before sending it to DynamoDB from Chalice applications.
- AWS Transcribe Streaming SDK for Python - Convert audio into text within Chalice applications.
- AWS Transcribe Streaming SDK for Python - Convert audio into text within Chalice applications.
- AWS Data API SDK for Python - Create an HTTP interface for your non-transactional data lake using Chalice.
- AWS Greengrass SDK for Python - Develop AWS Lambda functions for Greengrass Core devices within Chalice applications.
- AWS Glue SDK for Python - Build, deploy, and manage ETL jobs using AWS Glue and Chalice.
- AWS Amplify SDK for Python - Build, deploy, and manage serverless Chalice applications using AWS Amplify.
- AWS AppRunner SDK for Python - Build, deploy, and manage containerized Chalice applications with ease.
These third-party Python libraries can be integrated with AWS Chalice applications:
- Dask - Distributed DataFrames built on Pandas for parallel processing.
- 3M Falcano - DynamoDB ORM for single table designs; a successor to PynamoDB.
- S3Fs - Use S3 as a filesystem in Chalice applications.
- Click - Create CLI tools for Chalice applications.
- AWS Limit Checker - Monitor AWS limits within Chalice applications.
- Slack Bolt - Implement ChatOps with Slack and Chalice.
- Troposphere - Write CloudFormation templates in Python for Chalice applications.
- Scepter - Deploy Chalice applications using CloudFormation.
- taskcat - Test Chalice applications with CloudFormation.
- PyCognito - Manage and use Cognito user pools in Chalice applications.
- mrjob - Run MapReduce jobs on EMR clusters for Chalice applications.
- Locust - Perform load testing on your Chalice applications.
- Flask-Migrate - Handle database migrations in Chalice applications using Alembic.
- Sentry - Monitor and track errors in Chalice applications.
- AIOHTTP - Asynchronous HTTP client/server framework for Chalice applications.
- PyTest - Write and run tests for Chalice applications.
- Moto - Mock AWS services for testing Chalice applications.
- Marshmallow - Serialize/deserialize complex data types for Chalice applications.
- APScheduler - Schedule tasks in Chalice applications.
- Celery - Run asynchronous tasks in Chalice applications with distributed message passing.
- Python-JOSE - Implement JSON Web Tokens (JWT) authentication in Chalice applications.
- HTTPX - A fully featured HTTP client for Chalice applications with connection pooling, request and response streaming, and support for async/await.
- Gunicorn - A Python WSGI HTTP server to run Chalice applications locally or for testing purposes.
- PyMySQL - A MySQL database connector for Chalice applications.
- SQLAlchemy - A powerful and flexible Object Relational Mapper (ORM) to interact with various databases in Chalice applications.
- Redis-py - A Redis client library for Chalice applications to interact with Redis data stores.
- Pendulum - An improved datetime library to handle timezones, parsing, and formatting in Chalice applications.
- FastAPI - A high-performance web framework for building APIs with Python, which can be used alongside Chalice.
- Loguru - A library that simplifies Python logging in Chalice applications with better defaults and an easy-to-use interface.
- Pydantic - Data validation and parsing library for Chalice applications using Python type annotations.
- Faker - A library for generating fake data in Chalice applications, useful for testing and development.
- Django - A high-level Python web framework that can be integrated with Chalice for more advanced web application features.
- Flask - Another popular Python web framework that can be used alongside Chalice for building web applications.
- Jinja2 - A powerful templating engine for Python, useful for rendering HTML or other text-based formats in Chalice applications.
- Arrow - A better date and time library for Python, simplifying date and time manipulations in Chalice applications.
- Requests - A popular HTTP library for making API requests in Chalice applications.
- Alembic - A lightweight database migration tool for SQLAlchemy, useful for managing database schema changes in Chalice applications.
- Elasticsearch-py - The official low-level Elasticsearch client for Python, enabling Chalice applications to interact with Elasticsearch clusters.
- Scrapy - A powerful web scraping framework for Python, useful for extracting data from websites in Chalice applications.
- Psycopg2 - A PostgreSQL adapter for Python, allowing Chalice applications to interact with PostgreSQL databases.
- HTTPX - A fully featured HTTP client for Python, providing an alternative to Requests for making API requests in Chalice applications.
Create diagrams, write code.
- AWS Toolkit for PyCharm - Tightly integrated editor, for repl-driven development.
- Anaconda Python Distribution - Consistent Python environment for local dev.
- Chalice + LocalStack - Dev against local versions of DynamoDB, AWS Lambda, API Gateway, etc.
- LucidCharts - Create diagrams in the official style.
Example GitHub repos.
- Coworks Microframework - Based on Step Functions.
- Agave: REST API for Chalice BluePrints - REST APIs for your managed routes.
- aws-chalice-swagger - How to use Swagger support.
- Lambda Multi-threading in Chalice - Map/reduce across your Lambda cores.
- aws-chalice-boilerplate - How to use
chalice.cli.CLIFactory
. - chalice_dockerized - Dockerize your application.
- Chalice-GraphQL - Add a GraphQL API.
- chalice-extended-action - Deploy with GitHub Actions.
- pytest-chalice - Py.test fixtures.
- chalice-cognito-auth - SSO with a Cognito user pool.
- Chalice PynamoDB Docker Starter Kit - A starter kit to begin using Chalice and PynamoDB easily
Critical background reading.
- Use AWS Lambda with AWS Control Tower Audit account to inspect your multi-account setup
- Introducing AWS Lambda Extensions
- Python support GA: improving Python code quality using Amazon CodeGuru Reviewer
- Amplify Flutter is Now Generally Available: Build Beautiful Cross-Platform Apps
- Using container images to run PyTorch models in AWS Lambda
- AWS Chalice adds support for the AWS CDK
- Packaging AWS Lambda functions as container images
- New for AWS Lambda – 1ms Billing Granularity Adds Cost Savings
- Implementing version control using Amazon DynamoDB
- Introducing Middleware Stack in Modular AWS SDK for JavaScript
- How do I give internet access to a Lambda function that's connected to an Amazon VPC?
- AWS Lambda Extensions: What are they and why do they matter
- AWS Chalice now supports Amazon Kinesis and Amazon DynamoDB Streams
- Using AWS Lambda Layers with AWS Chalice
- Following serverless best practices with AWS Chalice and Lambda Powertools
- Automatically deploy a Serverless REST API from GitHub with AWS Chalice
- Configuring custom domain names with AWS Chalice
- AWS Chalice Now Supports YAML Templates
- AWS Solutions Constructs – A Library of Architecture Patterns for the AWS CDK
- Using Amazon EFS for AWS Lambda in your serverless applications
- Introducing the AWS Chalice test client
- Use Amazon DynamoDB Accelerator (DAX) from AWS Lambda to increase performance while reducing costs
- Painless AWS Chalice Application Debug
- Modularizing a Chalice Application for Teams
- Getting started with the AWS Cloud Development Kit and Python
- Run your Python Scripts as Slack Commands (ChatOps)
- Building Serverless Python Apps Using AWS Chalice
Inspiration for your app. Complete list of 500+ sample architectures.
- AWS Glue ETL Code Samples
- AWS Control Tower Account Creation Automation
- AWS Serverless Ecommerce Platform
- Recurring Security Hub Summary Email
- SQS dead letter queue replay with backoff and jitter
- Tokenization and Encryption of Sensitive Data
- AWS ParallelCluster serverless API
- Amazon WorkMail Lambda Templates
- S3 Glacier Bulk Retrieval
- AutoML with AutoGluon, Amazon SageMaker, and AWS Lambda
- Processing ML Workloads asynchronously in Batch using SageMaker Batch Transform
- Serverless Tracking Pixel
- Serverless Reference Architecture: Real-time File Processing
- Serverless Reference Architecture: IoT Backend
- AWS X-Ray Serverless Samples
More inspiration from AWS Labs, closer to production-ready. Complete list of 100+ Labs solutions.
- AWS Control Tower Customizations
- Serverless Data Lake Framework (SDLF)
- Media Insights Engine
- Serverless Transit Network Orchestrator
- Amazon Aurora Postgres Advanced Monitoring
- AWS Serverless Twitter Event Source
- Serverless Subtitles
- AWS Serverless Financial Functions
- Awesome AWS
- Awesome Alexa
- Awesome Amplify
- Awesome AppSync
- Awesome IAM
- Awesome CDK
- Awesome CloudFormation
- Awesome EC2 Spot
- Awesome ECS
- Awesome EKS
- Awesome Lambda Layers
- Awesome AWS Research
- Awesome AWS Security
- AWS Security Arsenal
- Awesome Cloud Security
- AWSome Websites
- The Open Guide to Amazon Web Services
- Goblet - Like Chalice, but for GCP.