A suite of utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more.
Project description
AWS Lambda Powertools (Python)
A suite of Python utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more. (AWS Lambda Powertools Java is also available).
📜Documentation | 🐍PyPi | Roadmap | Quick hello world example | Detailed blog post
Join us on the AWS Developers Slack at
#lambda-powertools
- Invite, if you don't have an account
Features
- Tracing - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
- Logging - Structured logging made easier, and decorator to enrich structured logging with key Lambda context details
- Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
- Event handler: AppSync - AWS AppSync event handler for Lambda Direct Resolver and Amplify GraphQL Transformer function
- Event handler: API Gateway and ALB - Amazon API Gateway REST/HTTP API and ALB event handler for Lambda functions invoked using Proxy integration
- Bring your own middleware - Decorator factory to create your own middleware to run logic before, and after each Lambda invocation
- Parameters utility - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB
- Batch processing - Handle partial failures for AWS SQS batch processing
- Typing - Static typing classes to speedup development in your IDE
- Validation - JSON Schema validator for inbound events and responses
- Event source data classes - Data classes describing the schema of common Lambda event triggers
- Parser - Data parsing and deep validation using Pydantic
- Idempotency - Convert your Lambda functions into idempotent operations which are safe to retry
- Feature Flags - A simple rule engine to evaluate when one or multiple features should be enabled depending on the input
Installation
With pip installed, run: pip install aws-lambda-powertools
Examples
Credits
- Structured logging initial implementation from aws-lambda-logging
- Powertools idea DAZN Powertools
License
This library is licensed under the MIT-0 License. See the LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aws_lambda_powertools-1.19.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4615bb983b86bf3572edc5a5acc9f1c70013e4896943564f932bf5354bc8714 |
|
MD5 | 9fdf5a746d3668bdc4841f104920354a |
|
BLAKE2b-256 | 5ba80df8bce25e0dafd9d1619159f6137d25f9c4168dc711971589a162cf6100 |
Hashes for aws_lambda_powertools-1.19.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c35000817fa62904d871eaf8f4479061e1e445f02cd4a7947b5a30e0c05648c4 |
|
MD5 | 416ee49f6ca8c72bbe45a5d690d1b306 |
|
BLAKE2b-256 | 7bef967cf71c715962303be0c1a20252becd8d2a98001f1d7c2dc5a7ba58bec7 |