Skip to content

Conversation

dcabib
Copy link
Contributor

@dcabib dcabib commented Aug 30, 2025

closes #7116

Summary

Enhances the SQS parser models with field descriptions and examples using Pydantic's Field() functionality. This improvement provides better documentation and metadata for SQS event parsing, following the pattern established in PR #7100.

Changes

  • Added Field() descriptions and examples to all SQS parser model classes:

    • SqsAttributesModel - Core SQS message attributes with AWS-accurate descriptions
    • SqsMsgAttributeModel - User-defined message attributes with comprehensive documentation
    • SqsRecordModel - Individual SQS record structure with detailed field explanations
    • SqsModel - Root SQS event model with proper sequence documentation
  • All field descriptions are based on official AWS SQS documentation

  • Examples sourced from actual test events (sqsEvent.json, sqsDlqTriggerEvent.json)

  • Maintains 100% backward compatibility - no breaking changes to type annotations or validation logic

User experience

Customers will be able to see examples and descriptions when using SQS parser models, providing:

  • Rich IntelliSense with field descriptions and realistic examples
  • Self-documenting code without needing external AWS documentation
  • Professional API documentation via .model_json_schema()
  • Faster development with immediate reference for acceptable values

Checklist

  • Meet tenets criteria
  • I have performed a self-review of this change
  • Changes have been tested (all existing tests pass)
  • Changes are documented (via Field descriptions)
  • PR title follows conventional commit semantics

Is this a breaking change? No


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Closes #7116

Enhances the SQS parser models with field descriptions and examples using Pydantic's Field() functionality. This improvement provides better documentation and metadata for SQS event parsing, following the pattern established in PR aws-powertools#7100.

All field descriptions are based on official AWS SQS documentation and include realistic examples from actual test events.

Closes aws-powertools#7116
@dcabib dcabib requested a review from a team as a code owner August 30, 2025 12:28
@pull-request-size pull-request-size bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Aug 30, 2025
Copy link

boring-cyborg bot commented Aug 30, 2025

Thanks a lot for your first contribution! Please check out our contributing guidelines and don't hesitate to ask whatever you need.
In the meantime, check out the #python channel on our Powertools for AWS Lambda Discord: Invite link

Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @dcabib thanks a lot! Just a small change and we are ready to merge.

@leandrodamascena
Copy link
Contributor

Hey @dcabib please run make format to format the file and fix the CI.

dcabib and others added 3 commits September 1, 2025 08:06
Remove extremely long receiptHandle example as requested by leandrodamascena and apply ruff formatting to fix CI issues.
Copy link

sonarqubecloud bot commented Sep 1, 2025

Copy link

codecov bot commented Sep 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.35%. Comparing base (0cf950b) to head (a247ffd).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #7286   +/-   ##
========================================
  Coverage    96.35%   96.35%           
========================================
  Files          275      275           
  Lines        12980    12980           
  Branches       965      965           
========================================
  Hits         12507    12507           
  Misses         366      366           
  Partials       107      107           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@leandrodamascena leandrodamascena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dcabib! Approved!

@leandrodamascena leandrodamascena merged commit 4c24ee7 into aws-powertools:develop Sep 1, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tech debt: Improve documentation of Event model fields in SQS parser models
3 participants