GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com β€” GitHub - ibrhmyi/powertools-lambda-python: A developer toolkit to implement Serverless best practices and increase developer velocity.

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

6,105 Commits
6,105 Commits

Folders and files

NameName
Last commit message
Last commit date
.chglog
.chglog
 
 
.clusterfuzzlite
.clusterfuzzlite
 
 
.github
.github
 
 
aws_lambda_powertools
aws_lambda_powertools
 
 
benchmark
benchmark
 
 
docs
docs
 
 
examples
examples
 
 
includes
includes
 
 
layer_v3
layer_v3
 
 
provenance
provenance
 
 
tests
tests
 
 
.cfnlintrc.yaml
.cfnlintrc.yaml
 
 
.flake8
.flake8
 
 
.gitignore
.gitignore
 
 
.gitleaks.toml
.gitleaks.toml
 
 
.gitleaksignore
.gitleaksignore
 
 
.markdownlint.yaml
.markdownlint.yaml
 
 
.markdownlintignore
.markdownlintignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
.pylintrc
.pylintrc
 
 
404.html
404.html
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
MAINTAINERS.md
MAINTAINERS.md
 
 
MANIFEST.in
MANIFEST.in
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
THIRD-PARTY-LICENSES
THIRD-PARTY-LICENSES
 
 
bandit.baseline
bandit.baseline
 
 
codecov.yml
codecov.yml
 
 
mkdocs.yml
mkdocs.yml
 
 
mypy.ini
mypy.ini
 
 
noxfile.py
noxfile.py
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
parallel_run_e2e.py
parallel_run_e2e.py
 
 
pyproject.toml
pyproject.toml
 
 
ruff.toml
ruff.toml
 
 
tox.ini
tox.ini
 
 
uv.lock
uv.lock
 
 

Repository files navigation

Powertools for AWS Lambda (Python)

Build codecov.io PythonSupport PyPI version PyPi monthly downloads OpenSSF Scorecard 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.

οΏ½ Doccumentation | 🐍 PyPi | πŸ—ΊοΈ Roadmap | πŸ“° Blog

hero-image

Features

Core utilities such as Tracing, Logging, Metrics, and Event Handler are available across all Powertools for AWS Lambda languages. Additional utilities are subjective to each language ecosystem and customer demand.

  • Tracing - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • Logging - Structured logging made easier, and target to enrich structured logging with key Lambda context details
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • Event handler: AppSync - AppSync event handler for Lambda Direct Resolver and Amplify GraphQL Transformer function
  • Event handler: AppSync Events - AppSync Events handler for real-time WebSocket APIs with pub/sub pattern
  • Event handler: API Gateway, ALB, Lambda Function URL, VPC Lattice - REST/HTTP API event handler for Lambda functions invoked via Amazon API Gateway, ALB, Lambda Function URL, and VPC Lattice
  • Event handler: Agents for Amazon Bedrock - Create Agents for Amazon Bedrock, automatically generating OpenAPI schemas
  • Middleware factory - Decorator factory to create your own middleware to run logic before, and after each Lambda invocation
  • Parameters - Retrieve and cache parameter values from Parameter Store, Secrets Manager, AppConfig, or DynamoDB
  • Batch processing - Handle partial failures for AWS SQS, Kinesis Data Streams, and DynamoDB Streams 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
  • Kafka - Deserialize and validate Kafka events with support for Avro, Protocol Buffers, and JSON Schema
  • JMESPath Functions - Built-in JMESPath functions to easily deserialize common encoded JSON payloads in Lambda functions

Installation

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

Tutorial and Examples

  • Tutorial
  • Serverless Shopping cart
  • Serverless Airline
  • Serverless E-commerce platform
  • Serverless GraphQL Nanny Booking Api

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:

  • Alma Media
  • Banxware
  • Brsk
  • BusPatrol
  • Capital One
  • Caylent
  • CHS Inc.
  • CPQi (Exadel Financial Services)
  • CloudZero
  • CyberArk
  • EF Education First
  • Flyweight
  • globaldatanet
  • Guild
  • IMS
  • Instil
  • Jit Security
  • LocalStack
  • Propellor.ai
  • Pushpay
  • QuasiScience Limited
  • Recast
  • TopSport
  • Transformity
  • Trek10
  • Vertex Pharmaceuticals

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) in this link.

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.

Contributing

Issues and pull requests are welcome, including the ones written with AI assistance. If you used an assistant, say so in the issue or PR and tell us how you verified the change: which tests you ran yourself, and which real AWS service or event you validated against when it applies. Read CONTRIBUTING.md for the process and AGENTS.md for the rules the CI enforces and the premises behind them.

Credits

  • Structured logging initial implementation from aws-lambda-logging
  • Powertools for AWS Lambda (Python) idea DAZN Powertools

Connect

  • Powertools for AWS Lambda on Discord: #python - Invite link
  • Email: [email protected]

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 in this link or email AWS security directly.

License

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

About

A developer toolkit to implement Serverless best practices and increase developer velocity.

docs.powertools.aws.dev/lambda/python/latest/

Resources

Readme
License

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 β€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Γ—600. No cookies required.