Skip to main content

Powertools for AWS Lambda (Python)

Build codecov.io PythonSupport PyPI version PyPi monthly downloads OpenSSF Scorecard Join our Discord

Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.

Also available in Java, Typescript, and .NET.

📜Documentation | 🐍PyPi | Roadmap | Detailed blog post

hero-image

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
  • Event handler: Agents for Amazon Bedrock - Create Agents for Amazon Bedrock, automatically generating OpenAPI schemas
  • 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
  • Data Masking - Protect confidential data with easy removal or encryption
  • Feature Flags - A simple rule engine to evaluate when one or multiple features should be enabled depending on the input
  • Streaming - Streams datasets larger than the available memory as streaming data.

Installation

With pip installed, run: pip install aws-lambda-powertools

Tutorial and Examples

How to support Powertools for AWS Lambda (Python)?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (Python), you can request to have your name and logo added to the README file by raising a Support Powertools for AWS Lambda (Python) (become a reference) issue.

The following companies, among others, use Powertools:

Sharing your work

Share what you did with Powertools for AWS Lambda (Python) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (Python) here.

Using Lambda Layer or SAR

This helps us understand who uses Powertools for AWS Lambda (Python) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When using Layers, you can add Powertools for AWS Lambda (Python) as a dev dependency (or as part of your virtual env) to not impact the development process.

Credits

Connect

Security disclosures

If you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions here or email AWS security directly.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Metadata

Release files for leo-aws-lambda-powertools 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for leo-aws-lambda-powertools 1.0.1
File Size Uploaded
leo_aws_lambda_powertools-1.0.1.tar.gz 639.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for leo-aws-lambda-powertools 1.0.1
File Interpreter ABI Platform
leo_aws_lambda_powertools-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / leo_aws_lambda_powertools-1.0.1.tar.gz

Download URL leo_aws_lambda_powertools-1.0.1.tar.gz
Size 639.4 kB
Tags Source
SHA-256 checksum
How to use checksums
757a25f5b6fb14d8a49438e26b5b3f1e3a53d98dc28dd8e8ec7b6ba0fbb742e8
BLAKE2b-256 checksum
How to use checksums
5ceb10c4e50f4a80e3f14832d1b3670094c396df94595d988590447f5a3fd1ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release files / leo_aws_lambda_powertools-1.0.1-py3-none-any.whl

Download URL leo_aws_lambda_powertools-1.0.1-py3-none-any.whl
Size 746.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0c5c3024ac5929b2ebe95f90e06b091dbc22db6eaaf91d6587f0fa4131129885
BLAKE2b-256 checksum
How to use checksums
7d0fe07674a3e4d744a604b3fa5f8aa5effb9cfbb7458860d631484b81fe54eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page